180 likes | 512 Views
Modelos de Processo de SW. Aula 10. Modelos em cascata Sequêncial (Clássico) Revisto Construção de Prototipos Desenvolvimento Rápido de Aplicações Modelos evolutivos Incrementais Iterativos Iterativos e incrementais Espiral Modelo de Processos OO Modelo recursivo/paralelo Outros.
E N D
Modelos de Processo de SW Aula 10
Modelos em cascata Sequêncial (Clássico) Revisto Construção de Prototipos Desenvolvimento Rápido de Aplicações Modelos evolutivos Incrementais Iterativos Iterativos e incrementais Espiral Modelo de Processos OO Modelo recursivo/paralelo Outros Sumário
É 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) Conceitos 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.
Modelo Sequencial (Ciclo de vida Clássico) Definição Desenho Implementação Manutenção
Modelo Revisto Definição Desenho Implementação Manutenção
Construção de protótipos Construir, Rever o protótipo Ouvir o cliente O cliente Testa o protótipo
Modelado Da gestão Modelado Da gestão Modelado Da gestão Modelado Dos dados Modelado Dos dados Modelado Dos dados Modelado Dos processos Modelado Dos processos Modelado Dos processos Geração de Aplicações Geração de Aplicações Geração de Aplicações Testes e entrega Testes e entrega Testes e entrega Desenvolvimento Rápido de Aplicações (RAD) Equipa 2 Equipa 3 Equipa 1
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: 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 Iterativo
Ideia: Desenvolvimento através de incrementos sucessivas do âmbito do sistema O sistema é alargado progressivamente Vantagens: Esta abordagem é útil para Problemas complexos Recursos humanos insuficientes Datas de entrega inflexíveis Modelo 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 comosição progressiva dos produtos Cada iteração-incremento produz um conjunto de produtos utilizáveis Modelo iterativo e incremental Modelo visto em AMS..
Análise de riscos Comunicação com o cliente Engenharia Construção e adaptação Planeamento Avaliação do cliente Espiral de Boehm
Vantagens: Enfoque realista Reduz os riscos 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 Modelo espiral de Boehm
Win-Win Negociação com o cliente Desenvolvimento concorrente Actividades concorrentes Diagramas de estado Métodos formais Especificação matemática Exacta e rigorosa Detecta e corrige requisitos incompletos, ambíguos e inconsistentes Ferramentas de 4ª Generação Suporte automatizado à especificação de requisitos Outros modelos
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 Nas aulas práticas, faremos o ponto da situação.
Projecto pequeno 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 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 mini-especificaçõ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 Exemplo:Comunicação com o Cliente
Selecção do modelo • Deve haver flexibilidade na escolha • Projectos pequenos: ciclo clássico • Limites severos de tempo: 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
Análise de Riscos Identificar classes candidatas buscar classes na biblioteca Engenharia e Construção extrair classes, se existem desenvolver novas classes, se não existem adicionar novas classes à biblioteca recursivo(modelo evolutivo) construir n-ésima iteração do sistema paralelo(reutilização de componentes) Modelo Processo OO • Baseado em componentes • Unified Development Process • Derivado da orientação a objectos • Utiliza UML