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)
Download

Modelo de Processos de SW