Baixe Engenharia de Software: Ciclo de Vida - Modelos e Críticas e outras Notas de estudo em PDF para Engenharia de Software, somente na Docsity! 3/15/2012 1 Engenharia de Software Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo e Incremental (1968) Espiral (1986) RUP (1996) Extreme Programming (XP) (1999) Agil (2001) Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 40 Ciclo de Vida - Modelo Cascata Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 41 3/15/2012 2 Engenharia de Software ENGENHARIA DE SISTEMAS Levantamento dos requisitos Inserir o sistema em um contexto maior –Hardware; Pessoas; Outros sistemas Visão geral e ampla do sistema Riscos; Custos; Prazos; Planejamento Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 42 Engenharia de Software ANÁLISE “O que” o software conterá? Continua o processo de coleta de requisitos, porém concentra-se no âmbito do software Modelos – Dados; Funções e comportamentos Particionamento do problema Domínio problema Documentação e Revisão dos requisitos ANÁLISE ESTRUTURADA – DFD ANÁLISE ORIENTADA A OBJETOS – Diagramas: Caso Uso, Atividades, Sequencia, Classes (Model) Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 43 3/15/2012 5 Ciclo de Vida - Modelo Iterativo Passos curtos, feedback e refinamento Iterativo, incremental, com intervalos de tempo (ciclos) pré-estabelecidos Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 48 Modelo Iterativo Baseia-se no fato de que não se deve ter o software inteiro funcionando por inteiro no primeiro release. Isto é um grande risco! Um processo de desenvolvimento deve ser: It ti T á i it õ t A it ã d t 2 2 era vo - er v r as eraç es no empo. eraç o ura en re semanas e meses Incremental - Gerar novas versões incrementadas a cada release. A cada iteração aumenta a compreensão do problema e são introduzidos aperfeiçoamentos sucessivos. Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 49 3/15/2012 6 Modelo Iterativo - RUP Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 50 Modelo Iterativo - RUP No RUP (Rational Unifed Process) a ênfase é dada na criação de MODELOS (UML) ao invés de documentos. As atividades de desenvolvimento são orientadas por caso de uso. O RUP encoraja o controle de qualidade e o gerenciamento de riscos, contínuos e objetivos O desenvolvimento é divido em FASES e ITERAÇÕES. FASE – Período de tempo entre marcos do processo, onde um conjunto bem definido de objetivos é alcançado. Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. ITERAÇÃO – Em cada fase, ocorrem várias iterações 51 3/15/2012 7 Modelo Iterativo - RUP Em casa FASE acontece várias ITERAÇÕES Uma iteração equivale a um ciclo completo de desenvolvimento Cada iteração resulta em um projeto executável Ao final de cada iteração é possível avaliar se as metas foram alcançadas e caso seja necessário é possível reestruturar o projeto Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. 52 Modelo Iterativo – RUP - Fases Concepção Estabelece os casos de negócio para o projeto e delimita o escopo do projeto. Os Casos de negócio incluem: Critérios de Sucesso; Avaliação de Riscos; Recursos Necessários. Durante a concepção é comum a criação de um protótipo executável, utilizado como testes para concepção. Ao final desta fase deve ser feita a decisão de continuar ou não o desenvolvimento Elaboração Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Suas metas incluem: Análise do problema;Estabelecimento de uma arquitetura sólida; Eliminação de elementos de mais alto risco. É necessário a maioria dos requisitos do sistema. A implementação deve mostrar escolha da arquitetura. 53