PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 2
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 3
Modelo em Cascata O desenvolvimento é feito em etapas: Definição de Requisitos Projeto de sistema e software Implementação e teste de unidade Integração e teste de sistema Operação e manutenção 4
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 5
Prototipação Processo de desenvolvimento de protótipo: Estabelecer objetivos do protótipo Definir a funcionalidade do protótipo Desenvolver o protótipo Avaliar o protótipo Plano de Prototipação Definição Geral Protótipo Executável Relatório de Avaliação 6
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 7
RAD: Diagrama Ilustrativo Análise Inicial Modelagem de Dados Modelagem de Negócio Modelagem do Processo Testes e Correções Geração da Aplicação Entrega 8
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 9
Modelo Incremental Vantagens Os clientes não precisam esperar o sistema inteiro; Os requisitos mais críticos são satisfeitos no primeiro incremento; Risco menor de falhas; Desvantagem Os incrementos devem ser relativamente pequenos e devem entregar alguma funcionalidade do sistema É difícil fazer esse mapeamento. 10
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 11
Evolucionário É feita uma implementação inicial e apresentada ao cliente/usuário Baseado nessa apresentação, o projeto é refinado para passos posteriores; As atividades de desenvolvimento, especificação e validação são intercaladas; 12
Evolucionário Vantagens A especificação de requisitos pode ser feita de forma incremental; A medida que usuários compreendem melhor seu sistema, que contribuem mais Feedback rápido; É flexível quanto às alterações do cliente; 13
Evolucionário Desvantagens O processo não é visível para os gerentes Como o sistema é desenvolvido rapidamente, não é viável produzir documentos que refletem cada versão A documentação é o meio que gerente mede o desenvolvimento; Os sistemas são frequentemente mal estruturados A mudança contínua tende a corromper a estrutura do software; A incorporação de mudanças torna-se cada vez mais onerosa. 14
Evolucionário Especificação Versão inicial Definição do esboço Desenvolvimento Versões intermediárias Versões Versões intermediárias intermediárias Validação Versão final 15
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 16
Espiral O processo é representado como uma espiral; Cada loop da espiral representa uma fase do processo. Por exemplo: 1 o loop: viabilidade do sistema (mais interno); 2 o loop: definição de requisitos; 3 o loop: projeto do sistema; Dentro do desenvolvimento em espiral, pode-se adotar outro processo Por isso, ele é considerado um metamodelo; 17
Espiral Fonte: Sommerville, 8 a edição 18
Espiral Setores da espiral Fonte: Sommerville, 8 a edição 19
Espiral Os objetivos da fase de projeto são definidos As restrições sobre o processo e o produto são identificadas É elaborado um plano detalhado de gerenciamento Fonte: Sommerville, 8 a edição 20
Espiral Para cada risco identificado, uma ação é analisada Providências são tomadas para reduzir o risco Por exemplo, se houver risco de que os requisitos não sejam apropriados, um prototipo do sistema poderá ser desenvolvido Fonte: Sommerville, 8 a edição 21
Espiral Para cada risco identificado, uma ação é analisada Providências são tomadas para reduzir o risco Essa é a principal vantagem do desenvolvimento em espiral Fonte: Sommerville, 8 a edição 22
Espiral Após a avaliação do risco, um modelo de desenvolvimento é selecionado Por exemplo, se os riscos da interface com o usuário forem dominantes, pode-se adotar a prototipação evolucionária Por exemplo, se o principal risco for a integração de sistemas, pode-se adotar o modelo cascata. Fonte: Sommerville, 8 a edição 23
Espiral O projeto é revisado e uma decisão é tomada para prosseguimento ao próximo loop da espiral Se a decisão for pelo prosseguimento, serão elaborados planos para a próxima fase do projeto Fonte: Sommerville, 8 a edição 24
Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento Espiral; Baseado em Componentes; 25
Baseado em Componentes Se baseia na divisão do sistema em unidades menores Mini-sistemas; Isso é feito para diminuir sua complexidade; O modelo baseia-se na seleção de componentes e no desenvolvimento de partes não atendidas por esses componentes Com o objetivo de readaptá-los; 26
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema 27
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema Estes estágios são comparáveis aos de outros processos. 28
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema É feita uma busca por componentes capazes de implementar a especificação de requisitos 29
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema Requisitos são modificados para corresponder a componentes disponíveis. 30
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema Quando as modificações são impossíveis, a atividade de análise de componentes pode ser novamente realizada para procurar soluções disponíveis. 31
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema O framework é projetado ou é reutilizado um framework existente. 32
Baseado em Componentes É inerente ao reuso Depende de uma grande base de componentes e de algum framework capaz de integrá-los Especificação de requisitos Análise de Componentes Modificação de Requisitos Projeto de sistema com reuso Desenvolvimento e Integração Validação de Sistema O software é então desenvolvido com os componentes sendo integrados 33
Baseado em Componentes Vantagens Reduz a quantidade de software a ser desenvolvido Reduz custos e riscos Entrega mais rápida Desvantagens Alguns requisitos podem não ser cobertos 34
Problemas com Processos Independentemente do processo utilizados, problemas de gerência podem existir; Existem diversas abordagens de se resolver esses problemas Adoção de boas práticas de gerenciamento; Adoção de processos ágeis Na aula que vem estudaremos processos ágeis!!! 35
Problemas com Processos Independentemente do processo utilizados, problemas de gerência podem existir; Existem diversas abordagens de se resolver esses problemas Adoção de boas práticas de gerenciamento; Adoção de processos ágeis Na aula que vem estudaremos processos ágeis!!! Disponível em: https://www.youtube.com/watch?v=qpir8jtmldi 36