Modelos de Processo de SW Aula 10
Sumário 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
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.
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 Ouvir o  cliente Construir, Rever o  protótipo O cliente Testa o  protótipo
Desenvolvimento Rápido de Aplicações  (RAD) Equipa 1 Equipa 2 Equipa 3 Modelado Da gestão Modelado  Dos dados Modelado  Dos  processos Geração de Aplicações Testes e entrega Modelado Da gestão Modelado  Dos dados Modelado  Dos  processos Geração de Aplicações Testes e entrega Modelado Da gestão Modelado  Dos dados Modelado  Dos  processos Geração de Aplicações 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: 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:  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 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 comosição progressiva dos produtos Cada iteração-incremento produz um conjunto de produtos utilizáveis Modelo visto em AMS..
Espiral de Boehm Comunicação  com o cliente Planeamento Engenharia Análise de riscos Construção e adaptação Avaliação  do cliente
Modelo 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
Outros modelos 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
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.
Exemplo: Comunicação com o Cliente 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
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
próxima aula teórica
Modelo Processo OO Baseado em componentes  Unified Development Process Derivado da orientação a objectos Utiliza UML  Identificar classes candidatas recursivo (modelo evolutivo) paralelo (reutilização de componentes) 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 Análise de Riscos Engenharia e Construção

Modelos de Processo de Software

  • 1.
    Modelos de Processode SW Aula 10
  • 2.
    Sumário Modelos emcascata 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
  • 3.
    Conceitos É umaestraté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.
  • 4.
    Modelo Sequencial (Ciclo de vida Clássico) Definição Desenho Implementação Manutenção
  • 5.
    Modelo Revisto DefiniçãoDesenho Implementação Manutenção
  • 6.
    Construção de protótiposOuvir o cliente Construir, Rever o protótipo O cliente Testa o protótipo
  • 7.
    Desenvolvimento Rápido deAplicações (RAD) Equipa 1 Equipa 2 Equipa 3 Modelado Da gestão Modelado Dos dados Modelado Dos processos Geração de Aplicações Testes e entrega Modelado Da gestão Modelado Dos dados Modelado Dos processos Geração de Aplicações Testes e entrega Modelado Da gestão Modelado Dos dados Modelado Dos processos Geração de Aplicações Testes e entrega
  • 8.
    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: 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
  • 9.
    Modelo Incremental 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
  • 10.
    Modelo iterativo eincremental 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 visto em AMS..
  • 11.
    Espiral de BoehmComunicação com o cliente Planeamento Engenharia Análise de riscos Construção e adaptação Avaliação do cliente
  • 12.
    Modelo espiral deBoehm 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
  • 13.
    Outros modelos Win-WinNegociaçã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
  • 14.
    Actividades Básicas adaptáveisa 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.
  • 15.
    Exemplo: Comunicação como Cliente 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
  • 16.
    Selecção do modeloDeve 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
  • 17.
  • 18.
    Modelo Processo OOBaseado em componentes Unified Development Process Derivado da orientação a objectos Utiliza UML Identificar classes candidatas recursivo (modelo evolutivo) paralelo (reutilização de componentes) 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 Análise de Riscos Engenharia e Construção