4//204 Engenharia de Software Luiz A. Nascimento Modelos de software Cascata (especificação/desenvolvimento/ validação e evolução) Na teoria:desenvolvimento linear Na prática: São necessárias várias iterações identificação de problemas com os requisitos. dificuldade de gerenciamento. Modelo Clássico - Cascata O cliente só vê o software depois de um tempo considerável. As mudanças nesta fase são mais custosas. Desenvolvedores ficam esperando por outros prinripalmente no inicio e no fim.
4//204 Modelo clássico de desenvolvimento de Software Modelo Cascata Requisitos Projeto Modelo Cascata. Baseado em projetos clássicos de engenharia Implementação Testes Manutenção Modelo clássico de desenvolvimento de Software Modelo Cascata Engenharia de sistemas Contexto e processo de negócios Análise de requisitos O que tem que ser feito Projeto Como deve ser feito Implementação Construção Validação Testes e homologação Modelo clássico de desenvolvimento de Software Modelo Cascata Modelo Cascata Vantagens Desacoplamento da equipe Fases do produto bem definida Melhor visão geral do processo Modelo Cascata Desvantagens Não trabalha em paralelo Etapas complexas Dificuldade de retrabalho Pouca interação com o usuário Dificuldade da declaração de todas as exigências pelo cliente Pouca paciência do cliente 2
4//204 Desenvolvimento Evolucionário Atividades concorrentes Especificação Versão Inicial Esboço Desenvolvimento Versões Intermediárias Validação Versão Final Desenvolvimento Orientado a reuso Conhecida como engenharia de software com base em componentes formalização da reutilização de código informal. Requisitos Análise de comp. Modif. de req. Prj sist. c/ reuso Desenvolvimento Validação Espiral Usa um misto de prototipação e cascata, levando em conta iterações. Abordagem evolucionária: etapas menores favorecem o entendimento do sistema. riscos podem ser mais facilmente identificados (prototipação). depende da capacidade de avaliação de riscos. 3
4//204 Espiral Prototipagem Protótipo é uma versão inicial do sistema final que está disponível da fase inicial do processo de desenvolvimento. A vantagem é que o cliente consegue ver e aprovar o sitema antes de ficar pronto. Pode-se amarrar os pagamentos com as versões dos protótipos. A prototipagem é a única efectiva forma de desenvolver as interfaces com o usuário. Modelos de desenvolvimento Prototipagem ou Concorrente (Versões) (Várias versões ao mesmo tempo) Escutar o Cliente Construção ou Revisão do Protótipo Avaliação do Protótipo 4
Q3 05 Q4 05 3/7 7/8 4/8 2/8 28/8 4/9 /9 8/9 25/9 2/0 9/0 6/0 23/0 30/0 6/ 3/ 20/ 27/ 4/2 Q3 05 Q4 05 3/7 7/8 4/8 2/8 28/8 4/9 /9 8/9 25/9 2/0 9/0 6/0 23/0 30/0 6/ 3/ 20/ 27/ 4/2 Q3 05 Q4 05 3/7 7/8 4/8 2/8 28/8 4/9 /9 8/9 25/9 2/0 9/0 6/0 23/0 30/0 6/ 3/ 20/ 27/ 4/2 4//204 Modelo Prototipagem Vantagens Desacoplamento da equipe parcial. Usuário visualiza o sistema em menos tempo. Trabalha melhor com complexidade. Erros mais fáceis de concertar. Trabalha melhor com mudanças de requisitos. Pode-se amarrar pagamentos com versões. Modelo prototipagem Desvantagens Dificuldade em particionar. Dificuldade em manter documentação. Modelo Concorrente Vantagens Menor tempo de entrega. Usuário visualiza o sistema em menos tempo. Trabalha melhor com complexidade. Erros mais fáceis de concertar. Trabalha melhor com mudanças de requisitos. Pode-se amarrar pagamentos com versões. Modelo Concorrente Desvantagens Dificuldade em particionar. Dificuldade em manter documentação. Exige gestão muito controlada. Modelos dos Cronogramas ID Modelo Cascata Início Término Engenharia de Sistemas 0/08/2005 9/08/2005 2 Análise de Requisitos 22/08/2005 4/09/2005 3 Projeto 6/09/2005 /0/2005 4 Implementação 3/0/2005 07//2005 5 Validação 08//2005 0/2/2005 Modelo ID Prototipagem Versão 2 Versão 2 3 Versão 3 4 Versão 4 Início 0/08/2005 22/08/2005 26/09/2005 25/0/2005 Término 9/08/2005 23/09/2005 24/0/2005 05/2/2005 ID Modelo Concorrente Início Término Versão 0/08/2005 9/08/2005 2 Versão 2 0/08/2005 20/09/2005 3 Versão 3 3/08/2005 8/0/2005 4 Versão 4 06/09/2005 07/2/2005 5
4//204 Bibliografia SOMMERVILLE, Ian. Engenharia de Software. São Paulo: Pearson Addison Wesley, 2003 Caps e 3 6