21
Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Embed Size (px)

Citation preview

Page 1: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Fluxo de Análise e Projeto

5 - AtividadeProjetar Caso de Uso

Page 2: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 2

Fluxo de Análise e Projeto

Analisar caso de usoProjetista

Projetista de banco de

dados

Revisar projeto

Projetar caso de uso

ArquitetoRevisor do

projeto

Projetar base de dados

Projetar arquitetura

Projetar subsistema

Analisar Caso de Uso

Page 3: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 3

Fluxo de Análise e Projeto

O que foi feito até agora

• Realização dos casos de uso (análise)• Identificação das classes de análise, seus atributos,

responsabilidades e relacionamentos• Mapeamento das classes de análise em elementos

de projeto • Identificação das oportunidades de reuso• Definição da organização do sistema

Page 4: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 4

Fluxo de Análise e Projeto

Objetivos desta atividade

• Refinar as realizações de casos de uso (elaboradas na análise de casos de uso) incluindo os elementos de projeto – Incorporando persistência nas realizações

• O objetivo final é ter um modelo consistente que sirva de referência para a implementação do caso de uso

Page 5: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 5

Fluxo de Análise e Projeto

Visão geral dos artefatos

Classes de projeto

ProjetarCaso de Uso

Caso de uso

Realização decaso de uso

Subsistemas de projetoDocumento derequisitos

Realização decaso de uso

Fonte: Rational

Page 6: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 6

Fluxo de Análise e Projeto

Passos para Projetar Caso de Uso

1. Refinar as realizações de casos de uso– incluir os elementos de projeto– incluir persistência

2. Simplificar os diagramas de interação usando (possivelmente novos) subsistemas (opcional)

Page 7: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 7

Fluxo de Análise e Projeto

Passo 1. Refinar as realizações de casos de uso

• Substitua as classes de análise por classes de projeto e/ou interfaces dos subsistemas associados

• Incorpore persistência • Atualize as realizações de casos de

uso– Diagramas de interação– View of participating classes (VOPC)

Page 8: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 8

Fluxo de Análise e Projeto

Refinando as realizações de casos de uso

Page 9: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 9

Fluxo de Análise e Projeto

Subsistemas e Interfaces Exemplo: Auto Atendimento

Análise

<<boundary>>SistemaBanco

selecionarConta(numeroConta, senha)sacar(numeroConta, valorSaque)...

<<subsystem>>SubSistemaBanco

Projeto

ISubSistemaBanco

selecionarConta(numeroConta:String, senha:String)sacar(numeroConta:String, valorSaque:double)...

Page 10: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 10

Fluxo de Análise e Projeto

Exemplo: Atualizando diagramas de classe (VOPC) Caso de uso Sacar dinheiro (antes)

FronteiraContadorDinheiro

entregardinheiro()

(from perifericos)

FronteiraLeitorCartao

recuperaNumeroCartao()entregarCartao()

(from perifericos)

FronteiraBanco

selecionarConta()sacar()

(from banco)

FormularioSaque(from gui)

ControladorSaque

sacar()validarSenha()

( from atm)

Page 11: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 11

Fluxo de Análise e Projeto

Exemplo: Atualizando diagramas de classe (VOPC) Caso de uso Sacar dinheiro (depois)

I subSistemaBanco( from subSistemaBanco)

<<Interface>>

FronteiraContadorDinheiro

entregardinheiro()

(from perifericos)

FronteiraLeitorCartao

recuperarNumeroCartao()entregarCartao()

(from perifericos)

FachadaATM

selecionarConta()sacar()validarSenha()

( from atm)

FormularioSaque

setValorSaque()confirmarSaque()

(from gui)

FormularioATM

setNumeroConta()setSenha()escolheOpcao()

(from gui)

Page 12: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 12

Fluxo de Análise e Projeto

Incorporando persistência

• Seguir orientações de estruturação de aplicações em camadas

• Exemplo:

RepositorioTransacao

LogTransacao

Transacao

RepositorioTransacaoBDR

Page 13: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Fluxo de Análise e Projeto

cliente do log : ControladorLogTransacoes : Transacao : LogTransacoes

registrar transacao (dados da transacao)

criar transacao (dados da transacao)

gravar transacao()

Exemplo de um Diagrama de Seqüência:Caso de uso Registrar Transação

Page 14: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 14

Fluxo de Análise e Projeto

Exemplo: Atualizando diagramas de seqüênciaCaso de uso Registrar transação (depois)

new Transacao(dadosTransacao)

cliente do log

: (ControladorLogTransa

transacao :

: LogTransac

: RepositorioTransa

incluir (transacao)

incluir (transacao)

incluir (transacao)

Page 15: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 15

Fluxo de Análise e Projeto

Exemplo: Atualizando diagramas de classe (VOPC)Caso de uso Registrar Transação (antes)

Transacao

ControladorSaque

ControladorSaldo

ControladorTransferencia

ControladorExtrato

ControladorDepositoControladorLogTransacao

incluir( )

(from log)

Page 16: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 16

Fluxo de Análise e Projeto

Exemplo: Atualizando diagramas de classe (VOPC)Caso de uso Registrar Transação (depois)

Transacao

RepositorioTransacoes

(from log)

LogTransacoes

incluir( )

(from log)

FachadaATM

selecionarC onta()sacar()validarS enha()

(from atm)ControladorLogTransacaoincluir( )

Page 17: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 17

Fluxo de Análise e Projeto

Passo 2. Simplificar os diagramas de interação usando subsistemas

• Identifique subfluxos comuns nos diagramas de interação e encapsule estes em subsistemas (possivelmente novos)

• Substitua os elementos internos pela interface dos subsistemas (nos diagramas)

• Interações internas ao subsistema serão descritas no projeto de subsistemas

Fonte: Rational

Page 18: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 18

Fluxo de Análise e Projeto

Quando encapsular fluxos em subsistemas

• Quando um sub-fluxo– ocorre em vários casos de uso– possui potencial de reuso– é complexo e de fácil encapsulamento– é responsabilidade de uma equipe/pessoa– produz um resultado bem definido– é encapsulado dentro de um componente de

implementação

Page 19: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 19

Fluxo de Análise e Projeto

Alguns benefícios de se encapsular interações em subsistemas

• As realizações dos casos de uso passam a oferecer uma visão de mais alto nível

• As realizações podem ser descritas antes dos detalhes internos do projeto de subsistemas serem desenvolvidos

• As realizações se tornam mais genéricas e modulares (permitindo que subsistemas sejam substituídos praticamente sem impacto nos diagramas de interação)

Page 20: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 20

Fluxo de Análise e Projeto

O uso de subsistemas favorece o desenvolvimento paralelo• Definição das interfaces • Concentração nos requisitos que afetam as

interfaces dos subsistemas• Modelar mensagens fora do escopo interno do

subsistema• Diagramas de interação devem mostrar

mensagens entre interfaces de subsistemas

As interfaces são vistas como pontos de sincronização

Page 21: Fluxo de Análise e Projeto 5 - Atividade Projetar Caso de Uso

Maio, 2000Copyright CESAR-Qualiti, Maio 2000. Todos os direitos reservados. 21

Fluxo de Análise e Projeto

Exercício: Projeto

• Dado:– Realizações de caso de uso de análise (diagramas

de interação e VOPCs)– Mapeamento de classes de análise em elementos de

projeto– Identificação das classes persistentes

• Produzir:– Realizações de caso de uso com elementos de

projeto (incluindo subsistemas e persistência)• Diagramas de seqüência e colaboração• Diagrama de classes