Você está na página 1de 24

Engenharia de Software II

Aula 4

http://www.ic.uff.br/~bianca/engsoft2/
Aula 4 - 03/05/2006

Modelos Prescritivos de
Processo
Modelo em cascata
Modelos incrementais
Modelo incremental
Modelo RAD

Modelos evolucionrios
Modelo de prototipagem
Modelo espiral
Modelo de desenvolvimento concorrente

Modelos especializados de processo


Desenvolvimento baseado em componentes
Modelo de mtodos formais
Desenvolvimento orientado a aspectos
Aula 4 - 03/05/2006

Comparao
Modelo Incremental
Atividades fixas do
modelo em cascata
so usadas em cada
incremento.
Objetiva a elaborao
de um produto
operacional a cada
incremento, que pode
ser testado.

Modelo Espiral
As atividades no so
fixas, cada loop se
concentra mais em
uma determinada
atividade.
A anlise de riscos
uma atividade
essencial no modelo.

Aula 4 - 03/05/2006

Modelo de Desenvolvimento
Concorrente
Todas as atividades ocorrem em paralelo mas
esto em diferentes estados.
O modelo define uma srie de eventos que vo
disparar transies de estado para estado, para
cada uma das atividades.
Em vez de usar uma seqncia como o modelo
cascata, ele define uma rede de atividades.
Pode ser aplicado a todo tipo de
desenvolvimento de software e fornece uma
viso exata de como est o estado do projeto.
Aula 4 - 03/05/2006

Desenvolvimento Concorrente
Atividade de Modelagem

Nenhum

Em
desenvolvimento

Aguardando
modificaes

Sob inspeo
Em reviso
Transformado
em referncia
Pronto
Aula 4 - 03/05/2006

Desenvolvimento Concorrente
Exemplo: Comeo de projeto
A atividade de comunicao completou sua primeira
iterao e est no estado aguardando
modificaes.
A atividade de modelagem passa do estado nenhum
para o estado em desenvolvimento.
Se o cliente requere mudana nos requisitos, a
modelagem passa de em desenvovimento para
aguardando modificaes e a comunicao passa
de aguardando modificaes para em reviso.
Aula 4 - 03/05/2006

Desenvolvimento Baseado em
Componentes

Compe aplicaes a partir de componentes


de software previamente preparados.
Segue os seguintes passos implantados com
uma abordagem evolucionria:
1. Pesquisa e avaliao de componentes disponveis
para o domnio em questo.
2. Consideraes sobre a integrao de componentes.
3. Projeto de arquitetura de software.
4. Integrao dos componentes arquitetura.
5. Testes para garantir a funcionalidade adequada.
Aula 4 - 03/05/2006

Vantagens do desenvolvimento
baseado em componentes
Leva ao reuso de software, que segundo
estudos tem como consequncias:
Reduo significativa do prazo de desenvolvimento.
Reduo significativa no custo do projeto.
Aumento do ndice de produtividade.

Em que situaes o desenvolvimento baseado


em componentes no adequado?
Aquelas em que no existam componentes padro
disponveis ou em que no se queira pagar pelos
componentes.
Aula 4 - 03/05/2006

Modelo de Mtodos Formais


Mtodos formais permitem ao engenheiro
de software especificar, desenvolver e
verificar um sistema aplicando uma
rigorosa notao matemtica.
Uma variante chamada engenharia de
software sala limpa aplicada por algumas
organizaes.

Aula 4 - 03/05/2006

Vantagens dos mtodos formais


1. Elimina muitos problemas encontrados nos
outros modelos:
ambigidade
incompletitude
inconsistncia

2. Servem de base para a verificao de


programas, oferecendo a promessa de um
software livre de defeitos.
3. Apropriado para softwares crticos (por
exemplo, de aeronaves e dispositivos mdicos).
Aula 4 - 03/05/2006

10

Desvantagens dos mtodos


formais
1. O desenvolvimento de modelos formais
atualmente muito lento e dispendioso.
2. Exige treinamento extensivo para dar
aos desenvolvedores o preparo
necessrio.
3. difcil usar os modelos como um
mecanismo de comunicao com a
maioria dos clientes.
Aula 4 - 03/05/2006

11

Desenvolvimento Orientado a
Aspectos
um paradigma novo de engenharia de software que
fornece mecanismos para definir, especificar, projetar e
construir aspectos.
Aspectos=preocupaes do cliente que permeiam
diversos nveis do sistema, incluindo:
Propriedades de alto nvel (ex: segurana, tolerncia a falha).
Funes (ex: aplicao de regras de negcio).
Sistmicas (ex: sincronizao e gesto de memria).

Um processo orientado a aspectos ainda no foi


totalmente desenvolvido, mas deve adotar
caractersticas do modelo espiral e do modelo
concorrente.
Aula 4 - 03/05/2006

12

O Processo Unificado
uma tentativa de unir os melhores recursos e
caractersticas dos modelos convencionais.
Reconhece a importncia da comunicao com
o cliente e dos casos de uso para descrever a
viso do cliente
Utiliza a UML como a notao para modelagem
e anlise de projeto.
Sugere um fluxo de processo que iterativo e
incremental.
Tambm conhecido como RUP (de Rational
Unified Process) a Rational construiu
ferramentas de apoio ao processo unificado.
Aula 4 - 03/05/2006

13

Histrico do Processo Unificado


Dcada de 1980: popularizao dos mtodos de
programao orientada a objeto (OO) levando a
mtodos variados de anlise e projeto OO.
Incio da dcada de 1990: Rumbaugh, Booch e
Jacobson comearam a trabalhar em um mtodo
unificado, que resultou na UML.
A UML tornou-se uma norma industrial.
A Rational e outros vendedores desenvolveram ferramentas
UML.

Final da dcada de 1990: Jacobson, Rumbaugh e


Booch desenvolvem o Processo Unificado, um
arcabouo para engenharia de software OO.
Hoje em dia o PU e a UML so amplamente usados em
projetos OO de todas as naturezas.
Aula 4 - 03/05/2006

14

Fases do Processo Unificado


1. Concepo: abrange atividades de
comunicao com o cliente e de
planejamento.
Requisitos de negcio usando casos de uso
preliminares.
Arquitetura geral do sistema com os
principais subsistemas e funes.
Planejamento com recursos, riscos e
cronogramas.
Aula 4 - 03/05/2006

15

Fases do Processo Unificado


2. Elaborao: abrange as atividades de
comunicao com o cliente, planejamento e
modelagem.

Refina e expande os casos de uso preliminares.


Expande a representao arquitetural para incluir
cinco vises diferentes:

O modelo de casos de uso.


O modelo de anlise.
O modelo de projeto.
O modelo de implementao.
O modelo de implantao.

O plano revisto e pode ser modificado.


Aula 4 - 03/05/2006

16

Fases do Processo Unificado


3. Construo: idntica a atividade de
construo no processo genrico.
Usa o modelo arquitetural como entrada.
Desenvolve ou adquire e integra
componentes de software.
Torna cada caso de uso operacional.
Modelos de anlise e projeto so
completados.
Testes so elaborados e executados.
Aula 4 - 03/05/2006

17

Fases do Processo Unificado


4. Transio: abrange atividades de
construo e implantao.
O software dado aos usurios finais para
testes beta e relatrios de feedback que
podem levar a modificaes.
Informaes de apoio necessrias so
criadas (manuais e procedimentos de
instalao).
Na concluso dessa fase tem-se uma
verso utilizvel do software.
Aula 4 - 03/05/2006

18

Fases do Processo Unificado


5. Produo: abrange atividades de
implantao.

O uso do software monitorado.


fornecido suporte para o ambiente de
operao.
Os relatrios de defeito e solicitaes so
recebidos e avaliados.

Aula 4 - 03/05/2006

19

Processo Unificado
um processo incremental.
Enquanto acontecem as fases de construo,
transio e produo, j pode ser iniciado o
incremento seguinte.

Um fluxo de trabalho de engenharia de


software distribudo ao longo de todas
as fases do PU.
Identifica as tarefas exigidas para realizar
uma ao importante de engenharia de
software.
Aula 4 - 03/05/2006

20

Principais Produtos de Trabalho


do Processo Unificado
Concepo:
Documento de viso
Modelo inicial de caso de uso
Glossrio inicial do projeto
Caso de negcio inicial
Avaliao inicial de risco
Plano de projeto
Modelo de negcio
Um ou mais prottipos
Aula 4 - 03/05/2006

21

Principais Produtos de Trabalho


do Processo Unificado
Elaborao:

Modelo de caso de uso


Requisitos suplementares
Modelo de anlise
Descrio da arquitetura do software
Prottipo arquitetural executvel
Modelo de projeto preliminar
Lista de risco revisada
Plano de projeto incluindo planos de iterao, fluxos
de trabalho adaptados, marcos, produtos tcnicos de
trabalho
Manual preliminar do usurio.
Aula 4 - 03/05/2006

22

Principais Produtos de Trabalho


do Processo Unificado
Construo:

Modelo de projeto
Componentes de software
Incremento integrado de software
Plano e procedimento de teste
Caso de teste
Documentao de apoio
Manuais do usurio
Manuais de instalao
Descrio do incremento atual
Aula 4 - 03/05/2006

23

Principais Produtos de Trabalho


do Processo Unificado
Transio:
Incremento de software entregue
Relatrio de teste beta
Realimentao geral do usurio

Aula 4 - 03/05/2006

24

Você também pode gostar