Vous êtes sur la page 1sur 24

Engenharia de Software II

Aula 4

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

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 2

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 4

Desenvolvimento Concorrente
Nenhum Atividade de Modelagem Em desenvolvimento

Aguardando modificaes Em reviso Transformado em referncia Pronto


Aula 4 - 03/05/2006

Sob inspeo

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 6

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 7

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 8

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