2 - Visão Geral do Fluxo de
Análise e Projeto
Fluxo de Análise e Projeto
Objetivos desta parte
• Apresentar conceitos utilizados no fluxo
de análise e projeto
• Dar uma visão geral das atividades,
responsáveis e artefatos deste fluxo
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
2
O Fluxo de Análise e Projeto
Os objetivos do fluxo:
• Transformar os requisitos em um projeto (inicialmente
abstrato) do sistema
• Desenvolver uma arquitetura robusta
• Adaptar o projeto levando em consideração os requisitos
da futura implementação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
3
Visão geral dos artefatos
Modelo de análise
e projeto
Modelo de caso
de uso
Glossário
Análise e
projeto
Documento
requisitos
Documento da
arquitetura
Modelo de dados
Mapeamento das
classes de análise
em elementos de
projeto
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
4
Sobre os artefatos
• A construção do modelo de análise e projeto é o principal
objetivo deste fluxo de atividades
• O modelo de análise e projeto contém as realizações de
casos de uso
• O mapeamento das classes de análise em classes de
projeto é um artefato temporário do desenvolvimento
• O documento da arquitetura é opcional; é usado para
descrever em detalhes uma determinada arquitetura
• A elaboração do modelo de dados está fora do escopo do
curso, mas pode conter, por exemplo, o mapeamento do
modelo OO para o relacional
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
5
Artefato Realização de caso de uso
Modelo de Casos de uso
Caso de uso
Modelo de Análise e Projeto
Realização do Caso de uso
Diagramas de Sequência
Caso de uso
Diagramas de Colaboração
Diagramas de Classe
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
6
Realização de Caso de Uso
• Descreve como o caso de uso é realizado,
associando o caso de uso com classes e outros
elementos de projeto
• Em UML, uma realização de caso de uso pode
ser representada através de um conjunto de
diagramas:
– diagrama de classe
– diagrama de seqüência
diagramas de interação
– diagrama de colaboração
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
7
Artefato Modelo de Análise e Projeto
Diagramas de Sequência
Diagramas deColaboração
Modelo de análise e projeto
Visão de casos de uso
+
Diagramas de Classe
Visão Lógica
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
8
Modelo de Análise e Projeto
• Pode ser um só artefato
– evoluindo de uma visão abstrata (nas atividades de
análise), para uma visão detalhada (nas atividades
de projeto)
• Podem ser feitos dois artefatos
– um modelo de análise
– um modelo de projeto (inicia igual à última versão do
modelo de análise e evolui independentemente)
• Documentação x esforço e disciplina de
manutenção
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
9
Análise X Projeto
• Análise
• Projeto
– Foco no problema
– Comportamento (caixa
preta, sem detalhes de
implementação)
– Estrutura do sistema
– Requisitos funcionais
– Modelo simples
– Foco em uma solução
– Operações e atributos
– Representação
próxima do código
– Requisitos não
funcionais (exemplo:
desempenho), além
dos funcionais
– Modelo complexo
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
10
Arquitetura de software
O modelo de “4+1 Visões”
Estrutura
Estrutura,
componentes
Projetista
Arquiteto
Integradores
do sistema
Arquiteto
Programadores
Visão
Lógica
Visão de
Implementação
Visão de Casos
de Uso
Visão de
Processo
Integradores
do sistema
Visão de
Distribuição
Performance,
Escalabilidade
Arquiteto
Topologia,
implantação,
comunicação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
11
Fluxo de Análise e Projeto do RUP
•
•
•
•
•
•
•
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
12
Fluxo de Análise e Projeto
Atividades vistas no curso
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar
caso de
uso
Projetar
caso de
uso
Projetar
classes
Revisar
projeto
•
Projetista de
banco de
dados
Projetar
base de
dados
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
13
Responsáveis e Artefatos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
14
3 - Atividade
Analisar Caso de Uso
Fluxo de Análise e Projeto
Analisar Caso de Uso
Projetar
arquitetura
Arquiteto
Revisor do
projeto
Projetar
subsistema
Projetista
Analisar
caso de uso
Projetar
caso de uso
Projetista de
banco de
dados
Revisar
projeto
Projetar
base de
dados
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
16
Objetivos desta atividade
• Encontrar classes de análise e distribuir
comportamento dos casos de uso entre
estas
• Para cada classe, descrever suas
responsabilidades, atributos e
associações
• Unificar classes de análise
Esta atividade é realizada para cada caso de uso!
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
17
Visão geral dos artefatos
Glossário
Documento da
arquitetura
Classes de análise
Analisar
caso de uso
Documento de
requisitos
Modelo de caso de uso
Realização de caso de uso
(desenvolvimento)
Modelo de análise e projeto
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
18
Passos para Analisar Caso de Uso
Para cada caso de uso:
1. Encontrar classes de análise
2. Distribuir comportamento entre as classes
Para cada classe:
3. Descrever responsabilidades
4. Descrever atributos e associações
5. Identificar persistência
6. Revisar os Resultados
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
19
Sistema exemplo: Auto Atendimento
Descrição do Problema
O auto atendimento é uma característica essencial das
agências bancárias atuais. A idéia é que operações
simples como saques, depósitos, transferências entre
contas e consultas a saldos e extratos sejam realizadas
diretamente pelo cliente, sem necessidade da
intervenção de funcionários do banco. Esta estratégia
de atendimento diminui custos operacionais das
agências e agrada ao cliente, que pode efetuar
operações corriqueiras mais agilmente.
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
20
Sistema exemplo: Auto Atendimento
Descrição do Problema
O sistema em questão deve automatizar essas
operações em um caixa automático, que será
distribuído em vários locais, permitindo ao cliente
realizar transações remotas com o seu banco.
O uso do caixa automático deve ser controlado através
de cartão magnético e senha, que serão fornecidos a
cada cliente pelo banco. O caixa deve ler o cartão para
validar o login do cliente e comunicar-se com o
sistema central do banco para executar as operações.
Toda operação realizada pelo cliente no caixa
automático deve ser registra em um log de transações.
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
21
Sistema exemplo: Auto Atendimento
Diagrama de casos de uso
<<include>>
<<include>>
Solicitar extrato
Registrar transacao
<<include>>
<<include>>
Consultar saldo
Cliente
<<include>>
Sacar dinheiro
Sistema do
banco
Realizar depósito
Transferir entre contas
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
22
Passo 1. Encontrar classes de análise
• O comportamento do caso de uso é
distribuído em classes de análise dos
seguintes tipos (estereótipos)
– fronteira
– controle
– entidade
• Estes estereótipos são uma
conveniência de análise que
desaparecem no projeto
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
23
Classes de análise: um primeiro passo em
direção ao executável
Casos
de uso
Classes de
análise
Elementos
de projeto
Código
fonte
Executável
Use-Case Analysis
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
24
Classes de Fronteira (boundary classes)
• Isolam o sistema de mudanças no
ambiente externo
• Atores devem se comunicar
apenas com classes de fronteira
• Exemplos de classes fronteira
<<boundary>>
– GUI
– Interface com outros sistemas
– Interface com dispositivos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
25
O Papel de uma Classe de Fronteira
Modela interação
entre o sistema e seu
ambiente
<<boundary>>
<<control>>
<<boundary>>
Usuário
<<boundary>>
<<entity>>
<<entity>>
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
26
Regra geral para encontrar
Classes de Fronteira
• Uma classe por cada par ator/caso de
uso
• Exemplo: Caso de uso Sacar Dinheiro
Sacar dinheiro
Cliente
FormularioSaque
Sistema do banco
SistemaBanco
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
27
Descrevendo Classes de Fronteira
• GUI
– Concentre-se nas informações que serão
apresentadas, não em um projeto gráfico
• Interface com outros sistemas ou
dispositivos
– Concentre-se em quais protocolos devem ser
definidos, não como serão implementados
• Concentre-se nas responsabilidades,
não nos detalhes!
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
28
Classes de Entidade (entity classes)
• Abstrações e conceitos chaves dos
casos de uso
<<entity>>
Glossário
<<entity>>
<<entity>>
Descrição do
Caso de uso
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
29
O Papel de uma Classe de Entidade
Armazenam e
gerenciam informação
no sistema
<<boundary>>
<<control>>
<<boundary>>
Customer
<<boundary>>
<<entity>>
<<entity>>
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
30
Orientações para encontrar
Classes de Entidade
• Usando a descrição do caso de uso, use a
abordagem tradicional de filtrar substantivos
– identifique substantivos no fluxo de eventos
– remova candidatos redundantes e vagos
– remova atores que apenas interagem com o
sistema mas não fazem parte da modelagem
– remova atributos (serão usados mais tarde) e
operações
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
31
Exemplo: Classes de entidade dos casos de
uso Sacar Dinheiro e Registrar Transação
Transação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
32
Classes de Controle (control classes)
• Coordenam o comportamento
(lógica de controle) do caso de uso
• Interface entre fronteira e entidade
• Dependente do caso de uso,
independente do ambiente
• Permitem separação entre o uso
da entidade (específico do sistema)
do comportamento inerente à
entidade
<<control>>
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
33
O Papel de uma Classe de Controle
Coordenam o comportamento do caso de uso
Uma classe controle pode ter referência a vários objetos entidade
Finalidade semelhante a classes fachada (Arquitetura de Camadas)
<<boundary>>
<<control>>
<<boundary>>
Customer
<<boundary>>
<<entity>>
<<entity>>
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
34
Orientações para encontrar
Classes de Controle
• Usualmente, uma classe de controle por caso
de uso
• Eventualmente mais de uma (comportamento
complexo) ou nenhuma (manipulação simples
de informações armazenadas)
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
35
Exemplo de Classe de Controle
Caso de uso Sacar Dinheiro
Cliente
Sacar dinheiro
Sistema do banco
ControladorSaque
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
36
Exemplo: Classes de Análise resultantes do caso de uso
Sacar Dinheiro
<<boundary>>
FormularioSaque
<<control>>
ControladorSaque
<<boundary>>
SistemaBanco
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
37
Exercício: Projeto
• Dado:
– O documento de requisitos, especificamente o
fluxo de eventos de um dos principais casos de
uso do seu projeto
• Produzir:
– Identificação das classes de análise, com seus
estereótipos e breve descrição
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
38
Contexto
• Encontradas as classes de análise,
vamos agora descrever o seu
comportamento.
• Lembrando que estas atividades são
realizadas para cada caso de uso
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
39
Passo 2. Distribuir comportamento entre as
classes
• Para cada fluxo de eventos
– alocar responsabilidades do caso de uso às
classes de análise
– modelar interações entre as classes através
dos diagramas de interação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
40
Distribuindo comportamento entre as classes
Classes de análise
Diagrama de seqüência
Caso de uso
Diagrama de colaboração
Classes de análise com
responsabilidades
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
41
Alocando responsabilidades
• Use estereótipos de análise como guia
– Classes de fronteira
• Comportamento que envolve comunicação com
um ator
– Classes de entidade
• Comportamento que envolve informação
encapsulada na abstração
– Classes de controle
• Comportamento específico ao (lógica de controle
do) caso de uso
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
42
Alocando responsabilidades
• Identificar que classe tem a informação
necessária para realizar a
responsabilidade
– isso pode envolver apenas uma classe, pode ser
preciso criar nova classe ou relacionamento entre
classes
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
43
Modelando interações
• Diagramas de interação (colaboração e
seqüência) modelam interações do sistema
com seus atores
• A interação é iniciada por um ator e envolve
instâncias (objetos) das classes
• Diagramas de interação capturam a semântica
do fluxo de eventos do caso de uso
– Auxiliam a identificar classes, responsabilidades e
relacionamentos
– Mecanismo de validação da arquitetura
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
44
Forma Geral dos Diagramas de Seqüência
Supplier Object
Client Object
:Client
:Supplier
Object Lifeline
Reflexive Message
1: Perform Responsibility
1.1: Perform Another
Responsibility
Message
Hierarchical Message
Numbering
Focus of control
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
45
Exemplo de um Diagrama de Seqüência:
Caso de uso Registrar Transação
cliente do log
: ControladorLogTransacoes
: Transacao
registrar transacao (dados da transacao)
criar transacao (dados da transacao)
gravar transacao()
Fluxo de Análise e Projeto
:
LogTransacoes
Exemplo de um Diagrama de Seqüência:
Caso de uso Sacar Dinheiro
Distribuir diagrama
para os alunos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
47
Forma Geral de Diagramas de Colaboração
Client Object
Link
Supplier Object
:Client
1: PerformResponsibility
:Supplier
Message
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
48
Exemplo de um Diagrama de Colaboração
Caso de uso Registrar Transação
1: registrar transacao (dados da transacao)
cliente
do log
: ControladorLogTransacoes
3: gravar transacao()
2: criar transacao (dados da transacao)
:
LogTransacoes
: Transacao
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
49
Vários diagramas podem ser necessários
Pelo menos o fluxo principal deve ser modelado
Mas não é necessário modelar todos os fluxos
O importante é exemplificar o uso de todas as responsabilidades
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
50
Diagramas de Colaboração e Seqüência
• Colaboração
– Apresenta relacionamentos
além das interações
– Adequado para visualizar
padrões de colaboração
– Adequado para visualizar
efeitos em um dado objeto
– Útil em sessões de
brainstorm
• Seqüência
– Apresenta seqüência
explícita de mensagens
– Adequado para
visualizar o fluxo
completo
– Adequado para
especificações de tempo
real e para cenários
complexos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
51
Contexto
Para cada caso de uso
encontramos as classes de análise
descrevemos o seu comportamento através
de diagramas de interação
Agora, para cada classe
vamos descrever suas responsabilidades
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
52
Passo 3. Descrever Responsabilidades
• Responsabilidades identificadas nos fluxos
de eventos são refletidas em diagramas de
interação
• Mensagens nestes diagramas resultam em
responsabilidades nas classes receptoras
diagrama de
interação
:Client
:Supplier
// PerformResponsibility
diagrama de
classe
Supplier
// PerformResponsibility
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
53
Exemplo de VOPC (View of Participating Classes) com
Responsabilidades: Caso de uso Sacar Dinheiro
LeitoraCartao
ler cartao()
entregar dinheiro(valor)
FormularioSaque
selecionar conta(numero, senha)
ControladorSaque
informar senha(senha)
informar valor saque(valor)
iniciar sessao(numero)
SistemaBanco
ContadoraDinheiro
iniciar sessao(cartao, senha)
finalizar sessao()
debitar(identificador conta, valor)
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
54
Analisando o Modelo
• Classes com responsabilidades similares são
candidatas a serem combinadas
• Uma classe com responsabilidades disjuntas
é candidata a ser dividida
• Classes sem (ou com apenas uma
responsabilidade) e classes que interagem
com muitas classes são candidatas a serem
reexaminadas
Poderá resultar em uma alteração dos
diagramas de interação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
55
Exercício: Projeto
• Dado:
– O documento de requisitos, especificamente o
fluxo de eventos de um dos principais casos de
uso do seu projeto
– As classes de análise identificadas no exercíco
anterior
• Produzir:
– Diagrama de interação para o caso de uso
– VOPC com responsabilidades
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
56
Passo 4. Descrever atributos e associações
• Detalhando mais as classes
– definir atributos
– estabelecer associações necessárias entre as
classes
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
57
Encontrando Atributos
• Possíveis fontes: conhecimento do negócio,
requisitos, glossário, modelo do negócio, etc.
• São propriedades/características das classes
identificadas
– informação cujo valor é o aspecto crucial
– informação de propriedade exclusiva do objeto
– informação que pode ser lida ou escrita por operações, mas
sem outro comportamento a não ser fornecer um valor
• Se a informação tem comportamento complexo
ou é compartilhada, deve gerar uma classe
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
58
Encontrando Relacionamentos
• Links entre objetos em diagramas de
colaboração indicam a necessidade de
relacionamento entre as respectivas classes
• Links reflexivos só geram relacionamentos
reflexivos quando dois objetos da classe
precisam se comunicar (mas não quando um
objeto envia mensagens para si próprio)
• A navegabilidade do relacionamento deve estar
de acordo com a direção da mensagem
• Inclua também o papel (role) e a multiplicidade
dos relacionamentos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
59
Encontrando Relacionamentos
1: PerformResponsibility
Diagrama de
Colaboração
:Client
:Supplier
Link
Client
Diagrama
de classe
Supplier
Client
0..*
Supplier
0..*
Prime suppliers
PerformResponsibility()
Association
Um relacionamento para cada link
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
Fonte: Rational
60
Exemplo de VOPC com Relacionamentos
Caso de uso Registrar Transação
ControladorExtrato
ControladorTransferencia
1
1
ControladorSaldo
1
1
ControladorDeposito
1
1
1
1
ControladorSaque
ControladorLogTransacoes
1
1
1
*
Transacao
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
61
Exercício: Projeto
• Dado:
– Classes de análise dos casos de uso com
estereótipos e responsabilidades
– Diagramas de colaboração para estes casos
de uso
– VOPCs desenvolvidos no exercício anterior
• Produzir:
– VOPCs com relacionamentos e atributos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
62
Passo 5. Identificar persistência
• Identificar quais classes de análise
deverão ser persistentes
• Identificar características de persistência
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
63
Algumas características de persistência
• Granularidade
• Volume: até 200
• Freqüência de acesso
– Leitura
– Atualização
– ...
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
64
Exemplo: Classes persistentes
Caso de uso Registrar Transação
Transação
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
65
Exercício: Projeto
• Dado
– Artefatos de requisitos
• Produzir
– Identificar as classes que deverão ser persistentes
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
66
Passo 6. Revisar Resultados
• Verificar se as classes de análise
satisfazem os requisitos funcionais
• Unificar as classes de análise
• Verificar se todo o modelo está
consistente entre si e com os requisitos
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
67
Revisando: Passos realizados nesta atividade
Para cada caso de uso:
1. Encontrar classes de análise
2. Distribuir comportamento entre as classes
Para cada classe:
3. Descrever responsabilidades
4. Descrever atributos e associações
5. Identificar persistência
6. Revisar os Resultados
Fluxo de Análise e Projeto
Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados.
68
Download

Visão Geral do Fluxo de Análise e Projeto