Você está na página 1de 27

Noções de ES:

M.Sc. Cristiane Oliveira de Santana


Recapitulando...
 Modelo cascata
Recapitulando...
 Modelo evolucionário
Recapitulando...

 Modelo baseado em componentes


Iteração de processos

 Um modelo genérico pode não servir para qualquer


software...

 Daí surgiu a ITERAÇÃO DE PROCESSOS


Modelo espiral

 Foi desenvolvido para abranger :

Modelo cascata + prototipação

• Diferencial: reconhecimento explícito do risco


Modelo espiral
Análise de riscos
Planejamento

Avaliação do cliente
Engenharia
Aspectos gerais das etapas do processo de
desenvolvimento
---Definição---
 Análise do sistema
 Define o papel de cada elemento num sistema
 Planejamento do projeto de software
 Análise de riscos, alocação de recursos, estimativa
de custos...
 Análise de requisitos
 Definição detalhada do domínio da informação e da
função do software
Aspectos gerais das etapas do processo de
desenvolvimento
---Desenvolvimento---
 Projeto de software
 Traduz os requisitos do software num conjunto de
representações
 Codificação
 Tradução das representações em linguagem de
programação
 Testes de software
 Teste para descobrir defeitos de função, lógica e
implementação
Aspectos gerais das etapas do processo de
desenvolvimento
---Manutenção (Tipos) ---
 Manutenção corretiva:
 Alteração do software para corrigir defeitos
 Manutenção adaptativa
 Alterações no software para se acomodar às
mudanças do ambiente
 Manutenção perfectiva
 Adição de funções que oferecerão benefícios
adicionais ao software
Ferramentas CASE

 São ferramentas automatizadas que tem como


objetivo auxiliar o desenvolvedor de sistemas
em uma ou várias etapas do ciclo de
desenvolvimento de software
Vantagens das ferramentas CASE

 Qualidade no produto final


 Produtividade
 Agilizar o tempo para tomada de decisão
 Menor quantidade de códigos de programação
 Melhoria e redução de custos na manutenção
 Agilidade no retrabalho do software
Desvantagens das ferramentas CASE

 Incompatibilidade de ferramentas
 Treinamento para utilização
Exemplos por funcionalidade
 Controle de Versão
 CVS, Subversion, Git, Mercurial, Rational Clearcase, entre outros.
 Gerência De Projetos
 Microsoft Project, dotProject, Xplanner
 Edição
 Microsoft Word, JBuilder, Wiki, Open Office, Eclipse, NetBeans,
Rational Rose, Astah Community, ArgoUML, Star UML
 Ferramentas de Prototipagem
 PageMaker, NetBeans, JBuilder, Delphi, Visual Basic
 Geração de Código
 Velocity, Transformica, Unitech CodeFSW, JEE Spider
 Documentação
 Geradores de documentos (Ex: Javadoc)
 Editores de texto colaborativo (Ex: wiki)
Gestão de projetos
O processo de gerência de projetos
 Abrange todo o processo de desenvolvimento de
software;
 Para um projeto bem sucedido:
 Compreender o escopo, os riscos, recursos exigidos, tarefas a
serem executadas, esforço (custo) despendido e a
programação a ser seguida.

Qualidade

Escopo
Desenvolvimento sem gerência
 é improvisado
 não é rigorosamente seguido
 é altamente dependente dos profissionais
 a visão do progresso e da qualidade é baixa.
 a qualidade do produto decorrente do processo
 é comprometida em função de prazos
 a introdução de novas tecnologias no processo
 é arriscada e a qualidade é difícil de se prever
Gerenciamento
 É a aplicação de métodos de planejamento e controle para
coordenar tarefas e recursos visando um objetivo maior.
 O objetivo não é acertar passo-a-passo mas ter o projeto sob
rígido controle a fim de gerenciar os problemas que se
apresentarem.
 Características de um projeto:
 Temporário;
 Início e fim bem definidos.
 Específico;
 Objetivo final específico.
 Mensurável;
 Permite medições de grandezas concretas.
 Dinâmico;
 Sujeito a alterações.
Planejamento

 O tempo é o mais valioso bem disponível.

 Todo engenheiro de software aprende a trabalhar sob


significativa pressão de tempo.

 Parte desta pressão ocorre pela definição de prazos


arbitrários e a outra parte é criada pelas pessoas que
devem suportá-las.
Objetivos do planejamento
 determinar o alcance do trabalho a ser
realizado:
 função, desempenho, interface e segurança
 estimar recursos necessários ao
desenvolvimento do software: recursos
humanos, de hardware e de software
 identificar tarefas a serem efetuadas
 elaborar cronogramas
 estimar esforço (custo) despendido
Plano do projeto de software
 I. Introdução (work breakdown)
1. Escopo e propósito do 2. Rede de tarefas
documento 3. Gráfico de Gantt
2. Objetivos do Projeto 4. Tabela de recursos
 II. Estimativas de Projeto  V. Recursos do Projeto
1. Dados históricos usados nas 1. Pessoal
estimativas 2. Hardware e Software
2. Técnicas de estimativa 3. Recursos especiais
3. Estimativas  VI. Organização do Pessoal
 III. Riscos do Projeto 1. Estrutura de Equipe
1. Análise dos riscos 2. Relatórios Administrativos
2. Administração dos riscos  VII. Mecanismos de
 IV. Cronograma Controle
1. Divisão do trabalho
I. Introdução
1. Escopo e propósito do documento
 Descreve a função, o desempenho, as restrições, as interfaces e
a confiabilidade.
 A confiabilidade é o aspecto menos preciso.
2. Objetivos do Projeto
a) Objetivos
b) Funções principais
 Em alguns casos a função pode ser refinadas para obter maior
detalhamento.
c) Questões de desempenho
 Requisitos de processamento e de tempo de resposta
d) Restrições técnicas e administrativas
 Restrições existentes devido ao hardware ou outros sistemas
existentes
Plano do projeto de software
 I. Introdução (work breakdown)
1. Escopo e propósito do 2. Rede de tarefas
documento 3. Gráfico de Gantt
2. Objetivos do Projeto 4. Tabela de recursos
 II. Estimativas de Projeto  V. Recursos do Projeto
1. Dados históricos usados nas 1. Pessoal
estimativas 2. Hardware e Software
2. Técnicas de estimativa 3. Recursos especiais
3. Estimativas  VI. Organização do Pessoal
 III. Riscos do Projeto 1. Estrutura de Equipe
1. Análise dos riscos 2. Relatórios Administrativos
2. Administração dos riscos  VII. Mecanismos de
 IV. Cronograma Controle
1. Divisão do trabalho
II. Estimativas de projeto
 A estimativa oferece ao planejador as informações
necessárias para concluir as atividades de
planejamento.
 A realização de estimativas carrega riscos inerentes que
podem ser influenciados por:
 A complexidade do projeto;
 O tamanho do projeto;
 Grau de estrutura do projeto;
 Disponibiliade de informações históricas
II. Estimativas de projeto
1. Dados históricos usados nas estimativas
 Geralmente as estimativas são feitas usando-se a
experiência passada como guia.
2. Técnicas de estimativa
 Existem técnicas para estimar o tempo e esforço
necessário a uma determinada tarefa.
3. Estimativas
Técnicas de estimativa

 Realizar pesquisa sobre 3 técnicas de estimativa que


podem ser utilizadas no planejamento do projeto.
Plano do projeto de software
 I. Introdução (work breakdown)
1. Escopo e propósito do 2. Rede de tarefas
documento 3. Gráfico de Gantt
2. Objetivos do Projeto 4. Tabela de recursos
 II. Estimativas de Projeto  V. Recursos do Projeto
1. Dados históricos usados nas 1. Pessoal
estimativas 2. Hardware e Software
2. Técnicas de estimativa 3. Recursos especiais
3. Estimativas  VI. Organização do Pessoal
 III. Riscos do Projeto 1. Estrutura de Equipe
1. Análise dos riscos 2. Relatórios Administrativos
2. Administração dos riscos  VII. Mecanismos de
 IV. Cronograma Controle
1. Divisão do trabalho

Você também pode gostar