Modelos de Processo de SW Aula 6 Sumário Modelos em cascata – – Construção de Prototipos Desenvolvimento Rápido de Aplicações Modelos evolutivos – – – – 2 Incrementais Iterativos Iterativos e incrementais Espiral Modelo de Processos OO – Sequêncial (Clássico) Revisto Modelo recursivo/paralelo Outros Conceitos É uma estratégia para o desenvolvimento de SW (de qualidade) Define a ordem de execução das actividades durante as fases de engenharia de software – Quais são? Definição (Eng de Sistemas, Especificação, Projecto de SW), Desenvolvimento (Desenho do SW, Geração do Código, Testes), Manutenção (Correção, Adaptação, Melhoramentos, Prevenção) Escolher um modelo é como escolher um computador: – vocês precisam saber quais são suas necessidades e depois usar suas asserções para a escolha. 3 Modelo Sequencial (Ciclo de vida Clássico) Definição Desenho Implementação Manutenção 4 Modelo Revisto Definição Desenho Implementação Manutenção 5 Construção de protótipos Construir, Rever o protótipo Ouvir o cliente O cliente Testa o protótipo 6 Desenvolvimento Rápido de Aplicações (RAD) Modelado Da gestão Equipa 1 Modelado Da gestão Equipa 2 Modelado Dos processos Modelado Dos processos Modelado Dos processos Geração de Aplicações Testes e entrega Equipa 3 Modelado Dos dados Modelado Dos dados Modelado Dos dados 7 Modelado Da gestão Geração de Aplicações Geração de Aplicações Testes e entrega Testes e entrega Modelo Iterativo Ideia: – – – Desenvolvimento através de iterações sucessivas do ciclo de vida clássico Refinação progressiva do sistema O âmbito é definido no início e o não é alterado Vantagens: – – – – – – 8 Identificação atempada dos maiores riscos e dúvidas Encoraja a participação activa dos utilizadores Identificação atempada de inconsistência entre a análise, o desenho e a implementação Distribuição da participação dos envolvidos ao longo do projecto Aprendizagem e melhora continua do processo Provas inequívocas do avanço do projecto Modelo Incremental Ideia: – – 9 Desenvolvimento através de incrementos sucessivos do âmbito do sistema O sistema é alargado progressivamente Vantagens: – Esta abordagem é útil para Problemas complexos Recursos humanos insuficientes Datas de entrega inflexíveis Modelo iterativo e incremental Ideia: – – Combina os 2 métodos anteriores Envolve uma refinação e alargamento sucessivo do sistema da sua qualidade, detalhe e âmbito Vantagens: – – A maturidade e composição progressiva dos produtos Cada iteraçãoincremento produz um conjunto de produtos utilizáveis Modelo visto em AMS.. 10 Análise de riscos Espiral de Boehm Comunicação com o cliente Engenharia Construção e adaptação Planeamento 11 Avaliação do cliente Modelo espiral de Boehm Vantagens: – – Enfoque realista Reduz os riscos – 12 Construção de protótipos Consideração directa Mantém o enfoque sistemático do ciclo clássico Desvantagens – – – Custa crer que é controlável Requer boa capacidade para Análise de Riscos Pouco utilizado Outros modelos Win-Win – Desenvolvimento concorrente – – – – Especificação matemática Exacta e rigorosa Detecta e corrige requisitos incompletos, ambíguos e inconsistentes Ferramentas de 4ª Generação – 13 Actividades concorrentes Diagramas de estado Métodos formais – Negociação com o cliente Suporte automatizado à especificação de requisitos Actividades Básicas adaptáveis a qualquer modelo de processo Exemplo que veremos na aula prática.. actividades do Modelo Espiral – Comunicação com o cliente Planeamento Análise do risco Actividades de Engenharia Construção e Entrega Avaliação do Cliente Convém estabelecer um conjunto de actividades básicas para desenvolverem durante toda a semana 14 Nas aulas práticas, faremos o ponto da situação. Exemplo: Comunicação com o Cliente Projecto pequeno 1. 2. 3. 4. 5. Desenvolver lista de aspectos a esclarecer Reunião com o cliente Determinar conjuntamente âmbito do projecto Revisão do âmbito com todos os envolvidos Modificar o âmbito quando requerido Projecto complexo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 15 Revisar pedido do cliente Planear e programar reunião formal Definir soluções propostas e enfoques existentes Preparar documentos de trabalho e agenda reunião Realizar reunião Desenvolver conjuntamente miniespecificações que reflectem as características do software Revisar mini-especificações Integrar mini-especificações num documento de alcance do projecto Revisar o documento de alcance Modificar o documento de alcance quando requerido Selecção do modelo Deve haver flexibilidade na escolha Projectos pequenos – Limites severos de tempo – ciclo clássico DRA Data entrega muito próxima – modelo incremental Os modelos vistos até agora não são, por si só, suficientes para o sucesso de projectos baseados no Paradigma Orientado a Objectos 16 próxima aula teórica Modelo Processo OO Análise de Riscos Identificar classes candidatas Engenharia e Construção recursivo (modelo evolutivo) Baseado em componentes – 18 – – Unified Development Process Derivado da orientação a objectos Utiliza UML buscar classes na biblioteca extrair classes, se existem desenvolver novas classes, se não existem adicionar novas classes à biblioteca construir n-ésima iteração do sistema paralelo (reutilização de componentes)