Upload
adriel
View
32
Download
0
Embed Size (px)
DESCRIPTION
Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso. Profa. Priscila Facciolli. Conteúdo. Realizando Casos de Uso Atores Casos de Uso Atribuindo operações às Classes Exercícios. Realizando Casos de Uso. - PowerPoint PPT Presentation
Citation preview
Análise e Proj. Sist. Orient. Objetos
1
Elaboração de Diagrama de Classe a partir de Diagramas
de Caso de Uso
Profa. Priscila Facciolli
Análise e Proj. Sist. Orient. Objetos
2
Conteúdo
Realizando Casos de Uso Atores Casos de Uso Atribuindo operações às Classes Exercícios
Análise e Proj. Sist. Orient. Objetos
3
Realizando Casos de Uso
Os Diagramas de Casos de Uso são úteis na especificação e documentação dos requisitos do sistema.
Estes requisitos precisam ser traduzidos para uma arquitetura de sistema que realize as funcionalidades denotadas por eles.
Vejamos então, como converter um Diagrama de Casos de Uso em um Diagrama de Classes.
Análise e Proj. Sist. Orient. Objetos
4
Atores
Os atores representam entidades externas que interagem com o sistema.
Para que esta interação ocorra, é necessário que os atores sejam modelados. Em geral, se um ator individual precisa ser identificado, utilizamos uma classe.
Diversas instâncias dessa classe representam atores diferentes desempenhando o mesmo papel.
Análise e Proj. Sist. Orient. Objetos
5
Atores
Aluno
Aluno- ra: inteiro
- nome: string
- Endereço:string
Terminal
<<abstract>> Terminal
- no.serie: longo
- Modelo: enumeração
- Endereço: Endereço IP
Análise e Proj. Sist. Orient. Objetos
6
Casos de Uso
Para se derivar classes a partir de casos de uso, inicie listando as responsabilidades de cada caso de uso.
Por exemplo, considere o seguinte Diagrama de Casos de Uso:
Análise e Proj. Sist. Orient. Objetos
7
Casos de Uso
Cliente
Banco
Efetuar saque
Efetuar depósito
Efetuar transferência
Sistemas Operacionais 8
Casos de Uso
As responsabilidades de cada caso de uso acima podem ser listadas:
Efetuar Saque:
Obter a quantia do cliente Verificar se a quantia está coberta pelo saldo em conta Verificar se a quantia está dentro da política do banco Verificar se o caixa eletrônico possui dinheiro suficiente Entregar o dinheiro Debitar a conta bancária Imprimir o comprovante do cliente
Sistemas Operacionais 9
Casos de Uso
Efetuar Depósito: Obter a quantia do cliente Receber o envelope do cliente Marcar a hora do depósito Creditar a conta bancária Imprimir o comprovante do cliente
Efetuar Transferência Obter a conta de origem Obter a conta de destino Obter a quantia Verificar se a conta de origem cobre a quantia Verificar se a quantia está dentro da política do banco Debitar a conta de origem Creditar a conta de destino Imprimir o comprovante do cliente
Sistemas Operacionais 10
Casos de Uso
Note que muitas dessas responsabilidades se sobrepõe.
Então, uma atitude eficiente é escrever apenas uma operação que atenda ao maior número de responsabilidades.
Assim, poderíamos ter as seguintes operações:
obter Quantia ( )verificar Quantia (quantia)desembolsar Fundos (quantia)debitar (quantia)etc
Análise e Proj. Sist. Orient. Objetos
11
Atribuindo Operações á Classes
Quando uma classe é significativa no mundo real, as operações nela normalmente são claras, mas com o desenvolvimento do sistema, vamos criando classes cada vez mais abstratas.
Então, para se decidir em qual classe escrever uma operação, podemos usar as seguintes regras:
Análise e Proj. Sist. Orient. Objetos
12
Atribuindo Operações á Classes
Receptor da Ação: Se um objeto recebe a ação enquanto outro a realiza, é melhor associar a operação ao destino, não ao seu iniciador.
Consulta versus alteração: Se um objeto é alterado enquanto outros são apenas consultados pela operação, o objeto modificado é o destino da ação.Classe focal: Se uma classe é a mais central na subrede de classes envolvidas pela ação, ela é o destino da operação
Analogia com o mundo real: Se os objetos fossem reais, o destino da ação seria o objeto que você pressionaria, moveria, ativaria ou manipularia de alguma forma
Sistemas Operacionais 13
Atribuindo Operações á Classes
Com essas regras, poderíamos escrever as operações do caixa eletrônico da seguinte forma:
Cliente.obter Quantia ( ). Obtém a quantia do cliente.
Conta.verificar.Quantia (quantia). Verifica se a quantia é coberta pela conta.
Banco.verificar.Quantia (quantia). Verifica se a quantia está dentro da política do banco.
Caixa Eletrônico.verificar Quantia (quantia). Verifica se o terminal possui dinheiro suficiente.
Caixa Eletrônico.desembolsar Fundos (quantia). Desembolsa o dinheiro.
Análise e Proj. Sist. Orient. Objetos
14
Atribuindo Operações á Classes
Conta.debitar (quantia) – Debita a conta bancária
Comprovante.inserirTransação ( ). Acrescenta uma transação ao comprovante do cliente
Caixa Eletrônico.receber Fundos (quantia). Aceita o envelope do cliente com seu depósito.
Conta.creditar (quantia) . Credita a conta bancária.
Cliente. Obter Conta ( ) Obtém tanto a conta de origem quanto a conta de destino.
Comprovante.emitido ( ). Emite o comprovante.
Análise e Proj. Sist. Orient. Objetos
15
Atribuindo Operações á Classes
Podemos agora elaborar o Diagrama de Classes:
Banco
Verificar FundosCaixa Eletrônico
Dinheiro disponível
Verificar quantia
Desembolsar fundos
Receber fundos
Inserir Transação
Emitir
Comprovantetransações
Conta saldo
Verificar Quantia
Creditar
debitar
Obter Quantia
Obter conta
Cliente
*
1 1*
**1 1
Análise e Proj. Sist. Orient. Objetos
16
Exercício
1) Uma impressora multifuncional é capaz de imprimir, digitalizar, copiar, enviar e receber fax. Considere o seguinte Diagrama de Casos de Uso para essa impressora:
Computador
Imprimir
Receber Fax
Copiar
Digitalizar
Enviar Fax
Linha Telefônica<< include >>
<< include >>
<< include >>
<< include >>