Projetar Subsistema
Analisar
Serviços
Arquiteto de
Software
Projetar
Arquitetura
Projetar
Serviços
Revisor de
projeto
Prototipar
Interface
gráfica
Arquiteto de
Informação
Analisar
Casos de Uso
Projetar
Casos de Uso
Analista de
Sistemas
Check
List
 bla bla
 bla
 blabla
Projetar
Subsistemas
<<subsystem>>
decisões do
arquiteto
Projetar
classes
Projetar
Base de Dados
Projetista de
Banco de Dados
Análise e Projeto OO com UML e Padrões| 2
Revisar
Projeto
Objetivos desta atividade
• Identificar elementos internos ao subsistema (classes e outros
subsistemas) que realizem a interface do subsistema
– O comportamento da interface deve ser distribuído entre estes
elementos, de forma análoga à análise e ao projeto de casos de uso
• Este processo pode gerar novas dependências do subsistema
com elementos externos
• A atividade é realizada uma vez para cada subsistema,
podendo ser recursiva (gerando outros subsistemas)
• Aplicável tanto ao RUP como a SOA
Análise e Projeto OO com
UML e Padrões| 3
Visão geral dos artefatos
Realização de
Caso de Uso
Subsistemas
Analista de
Sistemas
Projetar
Subsistema
Classes de
Projeto
Subsistemas
(atualizados)
Análise e Projeto OO com
UML e Padrões| 4
Passos para Projetar Subsistema
1. Identificar elementos de projeto do
subsistema (classes e/ou outros
subsistemas) e distribuir o comportamento
do subsistema entre eles
2. Documentar os elementos do subsistema
3. Descrever as dependências do subsistema
com elementos externos
Análise e Projeto OO com
UML e Padrões| 5
Passo 1. Identificar elementos de projeto do subsistema
e distribuir o comportamento do subsistema entre eles
• Identifique novas classes e subsistemas que,
cooperativamente, realizem o comportamento do
subsistema
– crie novos elementos de projeto, ou reuse elementos
existentes
• O comportamento do subsistema pode ser
identificado a partir das operações na interface
– As operações podem ser realizadas por classes
internas ou subsistemas internos
Análise e Projeto OO com
UML e Padrões| 6
Passo 1. Identificar elementos de projeto do subsistema
e distribuir o comportamento do subsistema entre eles
• Desenvolva um ou mais diagramas de
interação para cada operação da interface,
alocando responsabilidades aos elementos de
projeto
– os diagramas ajudam a encontrar os elementos!
• Incorpore persistência, quando aplicável
Análise e Projeto OO com
UML e Padrões| 7
Diagramas de interação para
subsistemas
Cliente subsistema
Fachada subsistema
Elemento de projeto1
Elemento de projeto2
responsabilidade()
Op1()
Responsabilidade
do subsistema
Op2()
Op3()
Interações
internas do
subsistema
Op4()
Note que a interface não faz parte do diagrama já que
o objetivo é mostrar interações entre elementos internos
Análise e Projeto OO com
UML e Padrões| 8
QIB – Subsistema de Comunicação com a
Operadora de Cartão
Diagrama de seqüência
Análise e Projeto OO com
UML e Padrões| 9
QIB – Subsistema de Comunicação com a
Operadora de Cartão
Diagrama de colaboração
Análise e Projeto OO com
UML e Padrões| 10
Passo 2. Documentar os elementos do
subsistema
• A estrutura interna do subsistema é definida
neste passo, através de diagrama(s) de classe
incluindo os relacionamentos entre elementos
de projeto
• A técnica usada é a mesma usada na atividade
Analisar caso de uso
– As mensagens trocadas entre os objetos apontam
as responsabilidades
– Os links entre objetos indicam os relacionamentos
Análise e Projeto OO com
UML e Padrões| 11
QIB – Subsistema de Comunicação com a
Operadora de Cartão
Diagrama de classes
<<Interface>>
ISubsistemaComunicacaoOperadoraCartao
enviar()
PagamentoCartao
FachadaComunicacaoOperadoraCartao
ProtocoloOperadoraCartao
ArquivoPagamento
Análise e Projeto OO com
UML e Padrões| 12
Passo 3. Descrever dependências do
subsistema
• Os passos anteriores identificaram os
elementos internos, com as respectivas
responsabilidades, e as associações entre
esses elementos
• O objetivo aqui é documentar associações
com elementos externos necessários à
realização da interface do subsistema
Análise e Projeto OO com
UML e Padrões| 13
Descrevendo Dependências: Notação
• Dependência de um subsistema
Cliente
<<subsystem>>
Fornecedor
Dependência
na interface!
• Dependência de um pacote
<<subsystem>>
Cliente
Suporte
Análise e Projeto OO com
UML e Padrões| 14
QIB – Subsistema de Comunicação com a
Operadora de Cartão
Dependências
controladores
<<subsystem>>
subsistemaComunicacao
OperadoraCartao
transacao
Análise e Projeto OO com
UML e Padrões| 15
Exercício – Qualiti Internet Banking
• Dado:
– Os subsistemas envolvidos no caso de uso Realizar DOC, suas
interfaces e seus relacionamentos com outros elementos de projeto
• Produzir:
– Diagrama de interação para cada operação na interface
– Diagrama de classes para os elementos internos do subsistema
Análise e Projeto OO com
UML e Padrões| 16
Download

Projetar Subsistema