16
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

Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

  • 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

Page 1: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 2: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 3: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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.

Page 4: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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.

Page 5: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 6: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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:

Page 7: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

Análise e Proj. Sist. Orient. Objetos

7

Casos de Uso

Cliente

Banco

Efetuar saque

Efetuar depósito

Efetuar transferência

Page 8: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 9: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 10: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 11: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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:

Page 12: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 13: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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.

Page 14: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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.

Page 15: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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

Page 16: Elaboração de Diagrama de Classe a partir de Diagramas de Caso de Uso

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 >>