You are on page 1of 91

Processo Unificado de Desenvolvimento de Software

G. Booch, Ivar Jacobson, James Rumbaugh


Rational Software Corporation

UNIVERSIDADE FEDERAL DA PARABA DEPARTAMENTO DE SISTEMAS E COMPUTAO Ulrich Schiel

PRECURSORES
Object Modeling Technique - OMT de J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy e W. Lorensen (TMO - Tcnica de Modelagem de Objetos), 1991 Objectology - A Use-Case Driven Approach de I. Jacobson, M. Ericsson e A. Jacobson, 1992 Object Oriented Analysis and Design - OOA & OOD de G. Booch, 1994

CARACTERSTICAS
baseado em componentes que realizam interfaces usa UML aspectos: * dirigido por Use-Cases * centrado em arquitetura * iterativo e incremental os 4 Ps:pessoal, projeto, produto e processo

P4 = Pessoa, Projeto, Produto, Processo


PESSOAS financiam, escolhem, desenvolvem, gerenciam, testam, usam e so beneficiadas por produtos PROJETOS sofrem alteraes. Determinam os tipos de pessoas que iro trabalhar no projeto e os artefatos que sero usados ciclo Sistema-i fase iterao Sistema-i+1

P4 = Pessoa, Projeto, Produto, Processo


PRODUTO cdigo fonte, cdigo de mquina, subsistemas, classes, diagramas: interao, de estados e outros artefatos ARTEFATO qualquer tipo de informao criada por uma pessoa (diagramas UML, textos, modelos de interfaces) PROCESSO define quem faz o que, quando e como

PU um processo. Considera fatores organizacionais, do domnio, ciclo de vida e tcnicos

Modelos
descrevem o sistema a ser desenvolvido, sob um certo ponto-de-vista, e seu ambiente, ou seja, os atores REQUISITOS - funcionais e no-funcionais ANLISE classes e responsabilidades PROJETO classes de projeto, subsistemas, interfaces DISTRIBUIO ns fsicos e os componentes em cada n IMPLEMENTAO cdigo fonte (DLLs, JavaBeams, ActiveX) TESTE casos de teste (baseado nos use-cases)

Dirigido a Use-Cases
Cada use-case representa uma sequncia de aes que produzem um resultado de utilidade para um ator Um ator uma pessoa ou outro sistema Cada use-case um requisito funcional do sistema Modelo Use-Case = 7 use-cases = funcionalidade do sistema Os Use-Cases acompanham todo o processo de desenvolvimento: Especificao de Requisitos, Anlise, Projeto, Implementao e Testes

Dirigido a Use-Cases
Porque USE-CASES??
Capturar os requisitos: o Diagrama Use-Case mostra quais atores usam quais use-cases Dirigir o processo: para realizar os use-cases so definidos classificadores (classes, subsistemas, interfaces) e relacionamentos (colaboraes) entre estes Elaborar a arquitetura, determinar iteraes, determinao dos manuais de usurio
dirige

Use-Cases
influi

Arquitetura do sistema

Dirigido a Use-Cases
Modelo USE-CASE Modelo ANLISE Classe de fronteira Classe de controle Classe de entidades
<arquivo>

Modelo PROJETO

Modelo IMPLEMENT
<executvel>

Classe relacionamento

<arquivo>

Dirigido a Use-Cases
Dirigir o processo:
ANLISE: definir as CLASSES DE ANLISE para realizar um use-case (classes limite, classes de controle e classes de entidades) PROJETO: ENTRADA: modelo de anlise, pacote de construo de interfaces, SGBD, sistemas existentes. SAIDA: classificadores (classes, subsistemas, interfaces), relacionamentos e colaboraes IMPLEMENTAO:criao de programas executveis e arquivos que realizam os use-cases TESTE: casos de teste e procedimentos de teste. Testar entradas, resultados e condies

Centrado na arquitetura
DECISES SOBRE: a organizao do sistema como um todo os elementos estruturais, interfaces e seu comportamento composio de elementos estruturais e comportamentais em subsistemas A ARQUITETURA descreve as partes essenciais do sistema, importantes para todos desenvolvedores
Menos de 10% das classes so relevantes para a arquitetura

Descrio de REQUISITOS ADICIONAIS: segurana, distribuio, concorrncia, plataformas, etc.

Centrado na arquitetura
Use-Cases influem Plataforma de software Disponibilidade de blocos reusveis Sistemas existentes Hardware existente Requisitos no-funcionais (performance, segurana)

Arquitetura

Centrado na arquitetura
funo PRODUTO Sequncia para o arquiteto:
Criar uma viso preliminar da arquitetura Analisar os use-cases chave (5-10%) e especificar um subsistema para cada um Pela especificao dos subsistemas aparecem mais detalhes da arquitetura e novos use-cases Repetir o passo acima, at terminar o sistema

Use-Case Arquitetura

forma

4 FASES
CONCEPO ELABORAO CONSTRUO TRANSIO

Iterativo e incremental
Projetos grandes so divididos em mini-projetos Cada mini-projeto uma iterao Cada iterao gera um incremento PORQUE ITERATIVO E INCREMENTAL atenuar riscos obter arquitetura robusta facilitar alteraes tticas ou contnuas conseguir aprendizado mais cedo Um grupo de use-cases que estendem usabilidade Fatores de risco mais importantes MINIPROJETO

Iterativo e incremental
Fases
oncepo equisitos nlise ro eto Implemen tao Testes
Iter. Iter. #1 #2 _ _ _ _ _ Iter. #n-1 Iter. #n

laborao

onstruo

Transio

Iterativo e incremental
Cada fase termina com um MARCO (milestone):
Um CICLO uma sequncia das 4 fases. Um projeto pode necessitar de vrios ciclos.

INICIO: INICIO o que o sistema far? Como poderia ser a arquitetura?


Prazos e custos? identificar os riscos

fixar subconjunto chave -> arquitetura candidata estimativas iniciais (custos, esforos, alocaes e qualidade do produto) iniciar caso gerencial (business case)

Iterativo e incremental
ELABORAO: use-cases especificados e esqueleto da arquitetura definido
identificar e reduzir riscos de construo

especificar maioria dos use-cases fixar a arquitetura em propores executveis preparar o plano de projeto (para a prxima fase) estimar e justificar o oramento finalizar o business case CONSTRUO: software feito
iteraes garantindo viabilidade em forma executvel -> incrementos

TRANSIO: beta-teste feito por poucos usurios. Treinamento, documentao


eliminar problemas e erros no identificados previamente

O PROCESSO UNIFICADO

EXEMPLO
Desenvolver um sistema de controle de vendedores ambulantes de um empresa. A empresa dividiu cada cidade em que atua em regies. Cada regio controlada por um supervisor ao qual est subordinado um certo nmero de vendedores. A empresa possui diversos pontos distribudos na cidade. Todo dia os vendedores passam pela empresa, de manh, e registram, em um boletim de controle, a hora da partida, o roteiro de visitas planejado e o nmero de contratos de vendas que levaram. Ao final da tarde, cada vendedor passa por um pontos, e registra o resultado das atividades do dia, ou seja, os contratos de venda fechados. At as 20 horas, todos vendedores devem ter registrados suas produes do dia. Cada ponto da empresa, processa a esta hora, um resumo das atividades registradas e o remete para a central da empresa. No outro dia o supervisor analisa os boletins recebidos e passa-os, com alguns comentrios, ao controle geral de vendas da empresa. O supervisor, alm de controlar a produo dos vendedores, registra o recebimento de novos vendedores e a liberao deles para o departamento pessoal que, por sua vez, controla a contratao, alocao, relocao e demisso de vendedores e supervisores.

Modelos
Requisitos Anlise Projeto Implementao Testes
produzido-por

produz

ARTEFATOS

ARTFICES PASSOS e ATIVIDADES

composto-por

Obteno dos Requisitos


ARTEFATOS Modelo Use-Case ator Use-Case descrio da arquitetura

Obteno dos Requisitos


ARTFICES Analista de sistemas arquiteto Especificador de Use-Case projetista de interfaces

Obteno dos Requisitos


PASSOS listar potenciais requisitos entender o contexto do sistema capturar requisitos funcionais capturar requisitos no-funcionais

Obteno dos Requisitos - Passos


listar potenciais requisitos
Desenvolver uma lista de caractersticas obtidas de clientes, usurios, analistas e desenvolvedores CARACTERSTICA: nome breve descrio ou definio conjunto de valores Estado (proposto, aprovado, incorporado, validado) estimativa de custos prioridade (crtica, importante ou secundria) riscos (crtico, significante, ordinrio)

Obteno dos Requisitos - Passos


entender o contexto do sistema
criar um modelo do domnio objetos de negcio (pedidos, contas, contratos,..) objetos do mundo real (veculos, mquinas, trajetos,..) eventos bsicos (chegada de um pedido, partida de um transporte, ..)

usar diagramas UML, em particular diagramas de classe

Obteno dos Requisitos - Passos


capturar requisitos funcionais
ARTFICE
Analista de Sistemas Especificador de Use-Cases Projetista de Interfaces Arquiteto r e s p o n s v e l

ARTEFATO
Modelo use-case atores glossrios Use-cases Prottipos de interfaces Arquitetura

Obteno dos Requisitos - Passos


capturar requisitos funcionais
ATIVIDADES E SUBPASSOS
 A1) encontrar os atores e use-cases  encontrar os atores  encontrar e descrever cada use-case  descrever o Modelo Use-Case como um todo  A2) Priorizar Use-Cases (viso arquitetural)

Obteno dos Requisitos - Passos


capturar requisitos funcionais
ATIVIDADES E SUBPASSOS
 A3) Detalhar cada Use-Case  estruturar a descrio do use-case
(construir um diagrama de estados e analisar cada caminho)

 formalizar a descrio do use-case


(usar diagramas de estado, diagramas de atividade ou diagramas de interao)

 descrever o Modelo Use-Case como um todo

Obteno dos Requisitos - Passos


capturar requisitos funcionais
ATIVIDADES E SUBPASSOS
 A4) Prototipar as interfaces com o usurio  projeto lgico da interface do usurio  projeto fsico da interface do usurio e

prottipo

Obteno dos Requisitos


PROJETO LGICO: para cada ator, ver todos use-cases nos quais est envolvido e especificar os elementos de interao (cones, listas, campos, figuras, etc.) N.B. a mesma interface (formulrio) pode aparecer em diversos use-cases para diversos atores! QUESTES para determinar os elementos de interao: quais informaes o ator fornece ao sistema? quais informaes o ator necessita do sistema? com quais elementos de interao o ator trabalha? quais aes o ator pode acionar e quais decises tomar? Quais classes de domnio ou entidades de negcio esto envolvidos com elementos de interao?

Obteno dos Requisitos


PROJETO FSICO: combinar elementos de interao para formar interfaces que atendam a atores determinar elementos adicionais (folders, janelas, controles, etc.) desenvolver um prottipo para cada interface

Obteno dos Requisitos


capturar requisitos funcionais
ATIVIDADES E SUBPASSOS A5) Estruturar o modelo Use-Case
 identificar funcionalidades comuns
(generalizaes, <<estende>>)  identificar funcionalidades adicionais ou opcionais

 identificar outros relacionamentos entre use-cases


(<<inclui>>, inverso de <<estende>>)

Obteno dos Requisitos


capturar requisitos no-funcionais
ATIVIDADES
 usabilidade requisitos de interfaces metfora, frequncia de uso, ..  documentao  confiabilidade  tolerncia a falhas.

Obteno dos Requisitos


capturar requisitos no-funcionais
ATIVIDADES
 performance  tempos de resposta  volumes de transaes  requisitos fsicos  equipamentos, material, espaos, configuraes de rede,  software

Anlise

Anlise
Os requisitos externos so transformados em um modelo interno preciso e completo para desenvolver o projeto do sistema
MODELO USE-CASE linguagem do usurio Viso externa do sistema Estruturado por use-cases Captura a funcionalidade do sistema Usado para o contrato com o cliente Pode conter redundncias, inconsistncias, etc. MODELO DA ANLISE Linguagem do desenvolvedor Viso interna do sistema Estruturado por classes Descreve como realizar a funcionalidade Usado para o desenvolvedor entender o sistema Deve ser preciso e inambguo

Anlise - artefatos
1. MODELO DA ANLISE
EXEMPLO Classe de fronteira Classe de controle Interface de registro processar resumo do dia

2. CLASSE DE ANLISE

Classe de entidades

Boletim de controle

Anlise - artefatos
3. REALIZAO DE UM USE-CASE
RELOGIO

 Diagramas de classe
Diagramas de

colaborao

Processar resumo

4. 8 horas

partida 6. Registra resumo 5. dados boletim Resumo do dia 7. mostra resumo 8. analisa resumo 9. comentrios SUPERVISOR

VENDEDOR 1.registra partida

2. abre boletim 3. registra retorno 10. resumo 3. completa boletim boletim comentado de controle Resultado do dia

mostra resumos

Anlise - artefatos
3. REALIZAO DE UM USE-CASE (cont.)  fluxo de eventos
Descrio textual do diagrama de colaborao

 requisitos especiais
Descrio textual de requisitos no-funcionais

4. PACOTES DE ANLISE
Devem ter coeso e fraco acoplamento Candidatos a subsistemas do projeto PACOTE DE SERVIOS um conjunto de aes coerentes, indivisveis para uso em vrios use-cases

5. DESCRIO DA ARQUITETURA

Anlise
ARTFICES arquiteto
responsvel pela integridade global do modelo de anlise (corretude, consistncia e legibilidade), tanto pela sua funcionalidade quanto pela arquitetura

Especificador de Use-Case
responsvel que a realizao de um use-case corresponde a sua especificao

Especificador de componentes
responsvel pelas classe de anlise e pelos pacotes

Anlise
PASSOS Anlise arquitetural Anlise de cada Use-Case Anlise de cada classe Anlise de cada pacote

Anlise - passos
Anlise arquitetural
MODELO USE-CASE ARQUITETO PACOTE ANLISE
(esboo)

REQUISITOS ADICIONAIS

CLASSE DE ANLISE
(esboo)

MODELO DO DOMNIO
DESCRIO ARQUITETURA
(mod. Requisitos)

Anlise arquitetural
DESCRIO ARQUITETURA
(mod. Anlise)

Anlise - passos
Anlise arquitetural
ATIVIDADES E SUBPASSOS
 A1) Identificar pacotes de anlise  Encontrar pacotes coesos e fracamente acoplados  Identificar funcionalidades comuns entre pacotes
(pacotes genricos)

 Identificar pacotes de servio


(servios opcionais, classes relacionadas funcionalmente)  Dependncias entre pacotes

Anlise - passos
Anlise arquitetural (cont.)
A2) Identificar classes de entidades bvias
Obtidas a partir das classe do domnio

A3) Identificar requisitos especiais comuns  Persistncia


 Distribuio e concorrncia aspectos de segurana  tolerncia a falhas  gerncia de transaes

Anlise - passos
Anlise de cada Use-Case
encontrar as classe de anlise para realizar o use-case distribuir o comportamento do use-case entre as classes identificar requisitos especiais ESPECIFICADOR DE USE-CASES MODELO USE-CASE
REQUISITOS ADICIONAIS

REALIZAO DE UM USE-CASE
(diagramas de classes e de colaborao)

MODELO DO DOMNIO
DESCRIO ARQUITETURA
(mod Anlise)

Anlise de um Use-Case CLASSE DE ANLISE


(esboo)

Anlise - passos
Anlise de cada Use-Case
 A1) Identificar classes de anlise  encontrar classes de entidades para armazenar as informaes
do use-case  para cada ator humano, determinar uma classe de fronteira central (representa a janela principal)  determinar as classe de fronteira que interagem com as classes de entidade  determinar, pelo menos, uma classe de controle que coordena o use-case CONSTRUIR UM DIAGRAMA DE CLASSES

Anlise - passos
Anlise de cada Use-Case (cont.)
 A2) Descrever interaes entre objetos  construir um diagrama de colaborao
 toda classe de anlise deve participar de algum diagrama de colaborao  dar maior nfase s conexes e condies do que sequncia  s conexes de mensagens podem corresponder associaes do diagrama de objetos ou no  considerar as relaes entre use-cases no diagrama

 A3) Determinar requisitos especiais

Anlise - passos
Anlise de cada Use-Case (cont.)
RELGIO

VENDEDOR partida

boletim de controle

5. 8 horas 6. dados boletim 7. Registra resumo

Processar resumo

1.registra partida 3. registra retorno

2. abre boletim Resumo do dia 8. mostra resumo 11. resumo comentado 9. analisa resumo 10. comentrios SUPERVISOR

4. completa boletim

Resultado do dia

mostra resumos

Anlise - passos
Anlise de cada classe
identificar as responsabilidades de cada classe, baseado em sua funo na realizao de use-cases definir os atributos e relacionamentos capturar requisitos especiais para cada classe CLASSE DE ANLISE
(esboo)

ESPECIFICADOR DE COMPONENTES

REALIZAO DE UM USE-CASE
(diagramas de classes e de colaborao)

Anlise de uma classe

CLASSE DE ANLISE
(completa)

Anlise - passos
Anlise de cada classe
 A1) Identificar responsabilidades
 Determinar os papis de cada classe nos diferentes use-cases

 A2) Definir os atributos


 tipos de atributos so conceituais  classes com muitos atributos podem ser divididas  atributos de classes de fronteira so campos em interfaces classes de controle geralmente no tem atributos

 A3) Identificar associaes e agregaes  A4) Identificar generalizaes  A5) Determinar requisitos especiais

Anlise - passos
Anlise de cada pacote
 Rever as questes de acoplamento fraco e coeso  Garantir que cada pacote preenche sua funo  Rever as dependncias entre pacotes de acordo com associaes estticas ou dinmicas entre as classes, criadas nos passos anteriores

Projeto
OBJETIVOS
adquirir uma compreenso de aspectos de requisitos

no funcionais e restries sobre linguagens de programao, sistemas operacionais, SGBDs, aspectos de distribuio, etc. . Criar informaes suficientes para a implementao, descrevendo subsistemas, interfaces e classes. Estar apto a dividir a tarefa de implementao em equipes Determinar mais cedo as interfaces entre os subsistemas Criar um modelo que possibilite uma implementao que preencha as estruturas definidas sem altera-las

Projeto
MODELO DE LI E MODELO DE PROJETO fsico co ceit al e rico (c.r. rojeto) es ecfico
3 ti os de classes e os for al ais r ido (1/ do rojeto Po cos eis e os di a ica No se a t o ciclo e e de da i ais for al ais de orado ( a lise) itos eis ais di ica, foco a seq e cia e a t e todo ciclo le e tao

Projeto - artefatos
1. MODELO DE PROJETO uma hierarquia de subsistemas contendo
classe de projeto, projetos de use-cases e interfaces

2. CLASSE DE PROJETO na linguagem de programao da implementao visibilidade dos atributos (ex. publico, protegido, privado) generalizaes herana; associaes e agregaes atributos mtodos em pseudo-cdigo

Projeto - artefatos
3. REALIZAO DO USE-CASE

 Diagrama de classes  Diagrama de interaes (diagramas de sequncia)  Fluxo de eventos (textual)  Requisitos de implementao

Projeto - artefatos
4. SUBSISTEMA DE PROJETO
(pacotes de anlise, componentes, produtos de software, sistemas existentes) - SUBSISTEMAS DE SERVIO

5. INTERFACE (separa funcionalidade de implementao)

6. ARQUITETURA (VISO DO PROJETO)


(1. Subsistemas, interfaces e dependncias 2. Classes chave, classes ativas 3. Realizao de use-cases centrais ao sistema

7. MODELO DE DISTRIBUIO
(Diagrama de ns e conexes)

8. ARQUITETURA (VISO DO MODELO DE DISTRIBUIO)

Projeto - artfices
MODELO DO PROJETO

Arquiteto

MODELO DE DISTRIBUIO ARQUITETURA

Especificador de use-cases

REALIZAO DE USE CASE CLASSE DE PROJETO

Especificador de componentes

SUBSISTEMA INTERFACE

Projeto - passos
ARQUITETO ESPECIFICADOR DE USE-CASES ESPECIFICADOR DE COMPONENTES

Projeto da arquitetura Projeto de um use-case

Projeto de uma classe

Projeto de um subsistema

Projeto - passos
Projeto da arquitetura
 A1) Identificar ns e configuraes de rede  determinar os ns envolvidos e suas caractersticas
 determinar os tipos de conexes entre os ns  verificar necessidades de processamentos redundantes, backups, etc.

Projeto - passos
Projeto da arquitetura (cont.)
 A2) Identificar subsistemas e suas interfaces  subsistemas da aplicao
 identificar middleware (SO, SGBD, software de comunicao, pacotes GUI, distribuio, etc.)  definir dependncias entre os subsistemas  identificar as interfaces entre os subsistemas
Subsistema novo Pacote (anlise) Software existente No serve como subsistema integrado com sistemas existentes

Projeto - passos
Projeto da arquitetura (cont.)
 A3) Identificar classes de projeto significativas  a partir das classes de anlise
 classes ativas (requisitos de concorrncia, performance, inicializao, distribuio, preveno de deadlocks)

 A4) outros requisitos de projeto

(persistncia, transparncia de distribuio, segurana, recuperao de erros, gerncia de transaes)

Projeto - passos
Projeto de um use-case
OBJETIVO: identificar classes de projeto distribuir o comportamento entre os objetos definir requisitos das operaes requisitos de implementao do use-case

 A1) Identificar classes de projeto participantes  estudar as classes de anlise


 identificar classes que realizam os requisitos especiais da anlise  definir as classes de projeto e passar para o projetista de componentes

Projeto - passos
Projeto de um use-case (cont.)
 A2) Descrever a interao entre objetos  o use-case acionado por uma mensagem de um ator a um objeto
 traar um ou vrios diagramas de sequncia  utilize nomes e textos (fluxo de eventos) para descrever as sequncias  considere as associaes entre use-cases no diagrama de sequncia

Projeto - passos
Projeto de um use-case (cont.)
 A3) Identificar subsistemas e interfaces  identificar os subsistemas obtidos a partir de pacotes deste use-case
 verifique se h classes de projeto especiais e seus subsistemas

 A4) Descrever a interao entre subsistemas  a partir dos caminhos no diagrama se sequncia determinar a
interao  determinar qual interfaces utilizada por qual mensagem

Projeto - passos
Projeto de uma classe
ASPECTOS: atributos operaes e sua realizao relacionamentos estados dependncias interfaces requisitos de implementao

A1) Definir uma classe de projeto


 a partir de classes de fronteira : depende da linguagem
 classes de entidades persistentes podem produzir tabelas relacionais  classes de controle podem gerar vrias classes de projeto (distribuio) ou serem encapsuladas em classes de entidades

Projeto - passos
Projeto de uma classe (cont.)
A2) Definir operaes  realizar as responsabilidades da classe
 requisitos especiais (e.g. acesso ao banco de dados)  atender s necessidades das interfaces da classe

A3) Definir atributos  considerar os atributos da anlise


 os tipos dos atributos so determinados pela linguagem de programao  valores de atributos usados por vrios objetos devem ser transformados em objetos

Projeto - passos
Projeto de uma classe (cont.)
A4) Identificar associaes e agregaes  dependendo da linguagem, transform-los em relacionamentos
 tentar transformar cardinalidades, papis, etc. em atributos ou em novas classes para realizar a associao  analise a navegabilidade pelas associaes

A5) Identificar generalizaes A6) Descrever mtodos  realizao de operaes por pseudo-cdigo, diagramas de atividades,
linguagem natural,..

A7) Descrever estados  diagrama de estados

Projeto - passos
Projeto de um subsistema
A1) Rever as dependncias entre subsistemas  A2) Rever as interfaces  A3) Rever o contedo

Implementao - artefatos
1. MODELO DA IMPLEMENTAO 2. COMPONENTE 3. SUBSISTEMA DE IMPLEMENTAO 4. INTERFACE 5. ARQUITETURA (viso da implementao) 6. PLANO DE INTEGRAO

Implementao - artefatos
1. MODELO DA IMPLEMENTAO uma hierarquia de subsistemas de implementao contendo componentes e interfaces 2. COMPONENTE
UM PACOTE CONTENDO ELEMENTOS DO PROJETO Esteretipos:

<<executable>> (programa executvel) <<file>> (arquivo contendo cdigo fonte ou dados) <<library>> (biblioteca esttica ou dinmica) <<table>> (tabela do banco de dados) <<document>> (um documento)

Implementao - artefatos
2. COMPONENTE - exemplos

BOLETIM __________ __________

realiza

<<executable>> ProcessaBoletim.java

gera gera
<<table>> Resumo <<table>> Contrato

RESUMO __________ __________

realiza

Implementao - artefatos
3. SUBSISTEMAS DE IMPLEMENTAO
um package em Java

um project em Visual Basic um diretrio de C++


CORRESPONDNCIA 1-1 COM SUBSISTEMAS DE PROJETO

4. INTERFACES
Implementam as interfaces do projeto

Implementao - artefatos
5. ARQUITETURA (viso da implementao)
Decomposio em subsistemas, compostos de interfaces e componentes
Componentes chave

6. PLANO DE INTEGRAO
Primeira verso executvel testes localizados de integrao para facilitar a deteco de erros verso final

Implementao - artfices
MODELO DA IMPLEMENTAO MODELO DE DISTRIBUIO

Arquiteto

DESCRIO DA ARQUITETURA COMPONENTE

Engenheiro de componentes

SUBSISTEMA DE IMPLEMENTAO INTERFACE

Integrador do sistema

PLANO DE INTEGRAO

Implementao - artfices

Implementao
PASSOS Implementao arquitetural Integrar sistemas Implementar subsistema Implementar uma classe Testar componentes

Projeto - passos
ARQUITETO INTEGRADOR DE SISTEMAS ENGENHEIRO DE COMPONENTES

Implementao arquitetural Integrar sistemas

Implementar um subsistema Teste de unidade

Implementar uma classe

Implementao - passos
Implementao arquitetural
 identificar componentes significativos

Integrar sistemas
 determinar sequncia de construo  integrar construes (compilar e linkar novos componentes)

Implementao - passos
Implementar subsistema
 garantir contedo do subsistema

Implementar uma classe


 implementar mtodos  determinar operaes/mtodos auxiliares

Teste
OBJETIVOS

Planejar os testes em cada iterao, tanto os testes de integrao quanto os testes de sistema preparar casos de teste, criar procedimentos de teste e procedimentos executveis Realizar os testes e analisar os resultados

Teste - artefatos
1. MODELO DE TESTE Planejar os testes em cada iterao, tanto os os testes de integrao quanto os testes de sistema preparar casos de teste, criar procedimentos de teste e procedimentos executveis Realizar os testes e analisar os resultados

2. CASO DE TESTE

Fases X Etapas
Fases
oncepo Elaborao equisitos nlise ro eto Implemen tao Testes
Iter. Iter. #1 #2 _ _ _ _ _ Iter. #n-1 Iter. #n

onstruo

Transio

As quatro Fases
Fase de Concepo
 estabelece o business case (prioridade de negcio)
Passos

Delimitar o escopo do sistema Determinar arquitetura candidata (elementos novos, arriscados) Identificar riscos crticos Identificar potenciais usurios ou clientes do sistema

As quatro Fases
Fase de Elaborao
 determina uma arquitetura estvel
Passos

Determinar linha base da arquitetura cobrindo funcionalidades significantes Identificar riscos crticos que podem derrubar planos, oramentos, e prazos Determinar nveis de qualidade (confiabilidade, tempos de resposta) Definir use-cases que cobrem ca. de 80% da funcionalidade do sistema Determinar limites de pessoal, custos, prazos.

As quatro Fases
Fase de Construo
 determina capacidades operacionais iniciais
Passos

Estender o modelo de use-cases para toda a aplicao Finalizar a anlise, projeto, implementao e testes Checar integridade da arquitetura (com possveis alteraes) Monitorar ricos crticos

As quatro Fases
Fase de transio
 transforma verso beta em um sistema operacional
Passos

Preparar atividades de transio Avisar clientes sobre mudanas no ambiente (hardware, software, distribuio, ..) Preparar documentao final Carregar o novo sistema Corrigir possveis defeitos detectados no beta-teste

Iterativo e incremental
 Uma ITERAO genrica composta pelas 5 etapas: Requisitos, Anlise, Projeto, Implementao e Testes

Aps cada iterao ou cada fase:


planejar a prxima iterao luz da experincia anterior modificar o processo, adaptar ferramentas, treinamento, etc.

Iterativo e incremental
ITERAO

planejamento

consolidao

requisitos

anlise

projeto

Implement.

testes

Iterativo e incremental
Planejando as FASES tempos por fase milestones iteraes por fase plano do projeto

Planejando as ITERAES

cronograma contedo: - quais use-cases sero realizados


- iteraes anteriores e posteriores

Riscos
Gerenciar uma lista de riscos: descrio prioridade (crtico, signifcante, rotineiro) impacto responsabilidades contingncia (o que fazer?) relacionados a um produto no conseguir a arquitetura no realizar os requisitos

Possveis riscos: