segunda-feira, 9 de fevereiro de 2009

Introdução à Análise e ao Projeto de Software



Introdução à Análise
e ao Projeto de Software




O que é “Análise” e “Projeto”?
 Na Análise, investigamos o problema e descobrimos o QUE precisará estar no sistema.
 Durante o Projeto:
 detalhamos a análise de modo a encontrar uma solução computacional que satisfaça os requisitos do software
 Estruturamos COMO o sistema será implementado
 O Projeto oferece uma ponte entre a Análise e a Implementação.


O que é “Análise” e “Projeto”?
 A análise consiste de todas as atividades feitas com ou para o conhecimento do cliente. A informação produzida é aquela que o cliente deve discutir e aprovar.
 O projeto inclui as atividades que resultam em informação que interessa apenas ao programador.
 Com essa definição, a análise invade um pouco o "lado da solução", pois o cliente deve discutir alguns tipos de interações que ocorrerão na interface do usuário, etc.


Fases do desenvolvimento de Software
 Planejamento
 Análise de Requisitos
 Projeto
 Codificação
 Revisão
 Teste
 Documentação
 Manutenção


Processos de desenvolvimento de Software
 Modelo Cascata
 Modelo Iterativo e Incremental (RUPRational Unified Process)

Modelo Cascata
 Abordagem sistemática e seqüencial
 Processo organizado em fases distintas e separadas
 Baseado nos processos convencionais de engenharia
 Requer especificação completa e bem entendida
 Dificulta a introdução de mudanças após o início do processo




Modelo Cascata
 Problemas:
 projetos reais raramente seguem o fluxo seqüencial que o modelo propõe;
 logo no início é difícil estabelecer explicitamente todos os requisitos ;
 no começo dos projetos sempre existe uma incerteza natural
 propagação de erros pelas as fases do processo
 o cliente deve ter paciência.
 uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento
 Contribuição:
 imposição de disciplina, planejamento e gerenciamento.


Modelo Iterativo e Incremental
 Divide o desenvolvimento de um produto de software em ciclos de desenvolvimento.
 Cada ciclo considera um subconjunto de requisitos.
 Especificação evolui junto com o sistema.
 Suporta requisitos parcialmente definidos.
Modelo Iterativo e Incremental



Modelo Iterativo e Incremental
 Vantagens X Desvantagem
 Incentiva a participação do usuário.
 Riscos do desenvolvimento podem ser mais bem gerenciados.
 Um risco de projeto é a possibilidade de ocorrência de algum evento que cause prejuízo ao processo de desenvolvimento, juntamente com as conseqüências desse prejuízo.
 Influências: custos do projeto,cronograma, qualidade do produto, satisfação do cliente, etc.Mais difícil de gerenciar X
 Mais difícil de Gerenciar.


Distribuição das Fases
Metodologias de Desenvolvimento de Software


 É uma abordagem para a produção de software viável e de alta qualidade
 APE (Ex.: Análise estruturada, Projeto Estruturado,Análise de sistemas estruturados)
 APOO (Ex.: Booch, OMT, OOSE)

Processo X Metodologia
 Processo: como organizar as fases de desenvolvimento
 Metodologia: como produzir os resultados de cada fase
 Portanto, diferentes combinações de modelos e metodologias podem ser formadas
 Cascata + APOO
 Cascata + Projeto Estruturado
 Iterativo + Projeto Estruturado
 Iterativo + APOO

Nenhum comentário: