51
1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES ELABORANDO O DIAGRAMA

1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

Embed Size (px)

Citation preview

Page 1: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

1

DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL

1ª PARTE

DIAGRAMA

CLASSE, ATRIBUTO E OPERAÇÃO

ASSOCIAÇÃO

CLASSE ASSOCIATIVA

AGREGAÇÃO E COMPOSIÇÃO

RESTRIÇÕES

ELABORANDO O DIAGRAMA

Page 2: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

2

I . DIAGRAMA DE CLASSES

Possibilita uma visão estática do sistema Ao elaborarmos um diagrama de classe devemos fazê-lo

numa única perspectiva: conceitual ou de implementação Seguindo a perspectiva conceitual, os objetos do modelo

devem ser conceitos do domínio da aplicação e não conceitos de implementação computacional.

Page 3: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

3

Estado, Comportamento e I dentidade de Objetos

Page 4: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

4

Page 5: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

5

Page 6: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

6

Page 7: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

7

Diagrama de Classes (com perspectiva conceitual)

Item faturadoquantFaturada Livro

isbntítulodescriçãoquantEstoquepreçoprazoMédioEntrega

Item pedidoquantidadePedidapreçoCobrado

1

0..*

1

0..*

ClientecódigoCPFnomeendereçotelefone [0..1]eMail [0..1]

PedidonumPedidodataEmissão

nomePresenteado [0..1]endereçoEntrega

dataCancelamento [0..1]status

1..*1..*

1..*1 1..*1 faz ->

FaturanumFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]dataPedidoCancelamento [0..1]dataCancelamento [0..1]

status

1..*0..* 1..*0..*

1

0..*

1

0..*

{ Se uma fatura atende a um pedido, necessariamente os itens pedidos ligados à fatura devem ser do pedido ao qual a fatura está relacionada }

Page 8: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

8

I I . CLASSE, ATRIBUTO E OPERAÇÃO

CLASSE

Na abordagem orientada a objetos os dados sãosubdivididos em objetos

Cada objeto tem sua própria identidade. Assim, doispedidos, no sistema de controle de pedidos, por maissemelhanças que contenham constituem cada um, umúnico objeto

Objetos com a mesma estrutura de dados (atributos),com o mesmo comportamento (operações) erelacionamentos são agrupados numa classe.

Page 9: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

9

Classe é uma abstração que descreve propriedadesimportantes para uma aplicação e ignora as restantes.

É representada através de um retângulo, com espaçopara descrição do nome, dos atributos e dasoperações:

nome

atributos

operações

Pedido

numPedidodataEmissãonomePresenteado [0..1]endereçoEntregadataCancelamento [0..1]status

Page 10: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

10

Elicitação de Classes na Etapa de Análise Responsabilidades Empacotamento de Classes (Responsabilidades comuns

ou semelhantes) Colaborações Mútuas Cuidado: Análise x Projeto (Conceito x I mplementação)

Page 11: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

11

Exercício: Elicitar as Classes do Sistema da Petrobrás

Page 12: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

12

ATRIBUTO

Atributo: é uma propriedade de uma classe.

O atributo dataEmissão da classe Pedido significaque um objeto pedido possui data de emissão. Esteatributo também indica que um objeto pedido podedizer, a quem solicitar, sua data de emissão e temalguma forma de modifi cá-lo através de uma operação.

Page 13: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

13

Sintaxe completa de um atributo:

[visibilidade] nome [ [multiplicidade] ] [:tipo] [= valor inicial] [{propriedade}]

Se o diagrama está sendo elaborado com umaperspectiva conceitual basta representar o nome doatributo e a sua multiplicidade, que indica a quantidademínima e máxima de ocorrências daquele atributo emum objeto.

Page 14: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

14

Opções de multiplicidade:

1 – exatamente uma ocorrência0..1 – zero ou uma1..* - uma ou mais0..* - zero ou mais* - zero ou mais

É possível também determinar o númeroexato de ocorrências. Por exemplo, 2..6

Page 15: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

15

Pedido tem seis atributos:- numPedido, dataEmissão, endereçoEntrega e status têm

uma única ocorrência. Neste caso não é necessário indicara multiplicidade.

- nomePresenteado: multiplicidade mínima = zero, já quenem sempre há presenteado

- dataCancelamento: multiplicidade mínima = zero, já quenem sempre o pedido é cancelado

Pedido

numPedidodataEmissãonomePresenteado [0..1]endereçoEntregadataCancelamento [0..1]status

Page 16: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

16

OPERAÇÃO Operação: um serviço que pode ser solicitado por algum

objeto da classe. Por exemplo, um objeto pedido pode solicitar o seu cancelamento.

Uma classe pode ter várias operações ou nenhuma O motivo de não serem descritas operações na classe Pedido

não é o f ato de não haver operações. Optamos por incluir operações somente na etapa de Projeto quando o diagrama de classes f or elaborado com uma perspectiva de implementação.

Page 17: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

17

Faz pedidoCenário principal: Venda realizada com sucesso por umnovo cliente1. Cliente informa dados pessoais (cpf , nome, endereço,

telefone e e-mail) e endereço de entrega2. Cliente informa a lista dos livros desejados e

respectivas quantidades3. Sistema armazena além dos dados f ornecidos pelo

cliente, a data de emissão do pedido e o preço cobradopor cada livro, já que pode ser dado algum desconto eo valor cobrado não será o de tabela

4. Sistema envia ao cliente a confirmação da venda com onúmero de seu pedido, seu código, a lista dos itenspedidos com quantidade e preço de cada item e o preçototal do pedido.

Exemplo

Page 18: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

18

ClientecódigoCPFnomeendereçoTelefone [0..1]eMail [0..1]

PedidonumPedidodataEmissão

endereçoEntrega

Item pedidoquantidadePedidapreçoCobrado

LivroisbntítulodescriçãoquantEstoquepreçoprazoMédioEntrega

Obs: A classe livro faz parte de outro subsistema.

Page 19: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

19

Faz pedido para presentear

1. Cliente informa dados pessoais (cpf , nome,endereço, telefone e e-mail)

Cliente informa dados do presenteado:nome e endereço de entrega

Continua a partir do passo 2.

Page 20: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

20

Pedido

numPedidodataEmissão

nomePresenteado [0..1]endereçoEntrega

Page 21: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

21

Fatura pedidoCenário principal: f aturamento de pelo menos um item do pedido

1. Funcionário seleciona um pedido que não tenha sido integralmenteatendido (f aturado)

2. Sistema verifica a quantidade pendente (quantidadePedida -quantidadeAtendidaTotal) de cada item(Extend – Comunicaatraso)

3. Sistema cria uma fatura com o número da f atura, a data deemissão, a data limite de pagamento e a quantidade de cada item.4. Sistema emite a f atura que deverá ser encaminhada ao cliente

juntamente com os livros. A f atura deverá conter:- Número da f atura- Número do pedido- Data de emissão- Data de vencimento- Para cada item: a quantidade e o preço unitário cobrado

- Preço total

Page 22: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

22

Obs: A quantidade f aturada de cada item (livro) está

limitada ao que há em estoque. Caso não possa ser f eitoum atendimento completo neste momento, maisadiante, logo que haja o item em estoque, será criadauma nova f atura.

Uma f atura f az ref erência a um e apenas um pedido.No entanto ela pode estar atendendo apenasparcialmente àquele pedido.

Page 23: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

23

Item faturadoquantFaturada Livro

isbntítulodescriçãoquantEstoquepreçoprazoMédioEntrega

ClientecódigoCPFnomeendereçotelefoneeMail

Item pedidoquantidadePedidapreçoCobrado

FaturanumFaturadataEmissãodataVencimento

status

PedidonumPedidodataEmissão

nomePresenteado [0..1]endereçoEntrega

status

{ Se uma fatura atende a um pedido, necessariamente os itens pedidos ligados à fatura devem ser do pedido ao qual a fatura está relacionada }

Page 24: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

24

Comunica atraso

Sistema verifica que um ou mais itens pedidosnão poderão ser entregues e que não há previsãode entrega.

Sistema comunica ao cliente o atrasodescrevendo o número do pedido e os itens paraos quais não há previsão de entrega.

Page 25: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

25

Diminui quantidade de um item do pedidoCenário principal: Quantidade diminuida

1. Cliente informa seu código2. Sistema valida código3. Cliente informa número do pedido4. Sistema valida número do pedido (include – Valida

pedido)5. Cliente informa o item a ser reduzido6. Sistema apresenta ao cliente a quantidade pendente

(quantidade pedida – quantidade f aturada)7. Cliente informa a nova quantidade (no máximo a

quantidade pendente)8. Sistema armazena a nova quantidade9. Sistema envia ao cliente a confi rmação da alteração

realizada

Page 26: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

26

Diminui quantidade de um item do pedidoCenário alternativo: Pedido de redução de item érecusado por já ter sido totalmente f aturado

6. Sistema comunica ao cliente: o item não pode ser reduzido por ter sido

completamente f aturado caso deseje realmente esta redução o cliente

deverá solicitar o cancelamento parcial ou totalda f atura. Esse pedido será avaliado pelogerente.

Os passos seguintes não são realizados

Page 27: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

27

Solicita cancelamento de pedidoCenário principal: Pedido cancelado por não haver f atura emitida

1. Cliente informa seu código2. Sistema valida código3. Cliente informa número do pedido4. Sistema valida número do pedido (include – Valida pedido)5. Sistema cancela o pedido (não há nenhuma fatura emitida para

ele) e armazena a data de cancelamento

6. Sistema envia ao cliente a confirmação do cancelamentosolicitado.

Page 28: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

28

Pedido

numPedidodataEmissão

nomePresenteado [0..1]endereçoEntrega

dataCancelamento [0..1]status

Page 29: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

29

Solicita cancelamento de pedidoCenário alternativo: Pedido não pode ser cancelado por já tersido emitida pelo menos uma f atura

5. Sistema comunica ao cliente: o pedido não pode ser cancelado por já ter sido emitida

pelo menos uma f atura. o cliente deverá solicitar o cancelamento das f aturas já

emitidas caso deseje cancelar o pedido.

Os passos seguintes não são realizados

Page 30: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

30

Valida pedido

1. Sistema verifica a existência do número do pedido2. Sistema envia ao cliente os dados relativos a seu

pedido: a lista dos itens pedidos com quantidade e preço

unitário de cada item e o preço total do pedido a lista das f aturas emitidas contendo para cada

fatura:- Número da f atura- Número do pedido- Data de emissão- Data de vencimento- Para cada item: a quantidade e o preço unitário

- Preço total

Page 31: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

31

Solicita cancelamento de f aturaCenário principal: Solicitação de cancelamento integral da f aturarealizada com sucesso

1. Cliente informa seu código2. Sistema valida código3. Cliente informa número da f atura4. Sistema verifica a existência deste número5. Sistema envia ao cliente os dados da f atura, contendo: a data de

emissão, o preço total e para cada item: a quantidade e o preçounitário

6. Cliente solicita o cancelamento integral da f atura

7. Sistema armazena a solicitação de cancelamento da f atura e adata da solicitação

8. Sistema envia ao cliente a confirmação do cadastramento desua solicitação e a informação de que o seu pedido só seráanalisado quando a Empresa receber os livros relativos à f atura.

Page 32: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

32

FaturanumFaturadataEmissãodataVencimento

dataPedidoCancelamento [0,1]

status

Page 33: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

33

Paga f aturaCenário principal: Pagamento da última f atura de umpedido

1. Cliente paga a f atura2. Sistema armazena o número da f atura, o valor pago e

a data de pagamento.3. Sistema f echa o pedido relacionado à f atura (f oi paga

a última f atura de um pedido)4. Sistema envia ao cliente a confirmação de pagamento

da fatura

Page 34: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

34

FaturanumFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]dataPedidoCancelamento [0..1]

status

Page 35: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

35

Avalia cancelamento de f aturaCenário principal: Gerente cancela a f atura e automaticamente écancelado o pedido

1. Gerente analisa o pedido de solicitação de cancelamento deuma f atura

2. Gerente cancela a f atura3. Sistema armazena a data de cancelamento e atualiza o estoque,

considerando a devolução dos livros4. Sistema cancela o pedido (todas as f aturas de um pedido

foram canceladas)5. Sistema envia ao cliente notificação do cancelamento da

fatura e do pedido

Page 36: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

36

FaturanumFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]dataPedidoCancelamento [0..1]dataCancelamento [0..1]

status

Page 37: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

37

A operação é especificada através de sua assinatura (que contém o nome, tipo de todos os parâmetros e o tipo do valor a ser retornado) além de outras características, como visibilidade. Mas esses detalhes serão vistos na etapa de Projeto.

Caso operações sejam incluídas no diagrama de classes

elaborado com uma perspectiva conceitual, devem apenas indicar as responsabilidades principais da classe.

Page 38: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

38

Exercício : Liste os atributos das Classes do Sistema da Petrobrás

Page 39: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

39

Sua empresa foi solicitada para o desenvolvimento de um software para controle de um hospital. Este Hospital possui 5 centros: CTI, Emergência, Maternidade, Pediatria e Clinica Geral. Cada um destes centros possui uma série de características, tais como número de leitos, número de médicos, capacidade de espera, horários de atendimento, etc. Um paciente (que também deve possuir uma série de atributos), ao chegar, deve ser encaminhado para um destes centros, mas antes deve passar pela recepção do hospital para que sua ficha seja preenchida no sistema e para que o sistema, além de registrá-lo, realize o encaminhamento para o centro e respectivo médico responsável. Devem haver prioridades de atendimento ao paciente, sendo um dos atributos a gravidade do caso (esta gravidade deve variar de 1 a 5). Caso seu problema não se adeque, o hospital possui convênio com outros hospitais, aos quais encaminhará estes pacientes. Este encaminhamento será efetuado por uma das ambulâncias do primeiro hospital. Os médicos do hospital possuem diversas caracteristicas, tais como nome, especialidade, CRM, turno. Enfermeiros são outros elementos distintos e também devem possuir uma serie de características.

Exercício : Elabore as Classes para o problema abaixo:

Page 40: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

40

RELACI ONAMENTOS

Page 41: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

41

Relacionamentos - Dependências Dependência: Relacionamento de Utilização

Pode usar como assinatura, por exemplo

Page 42: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

42

Relacionamentos - Generalização Todo - Parte

Page 43: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

43

Relacionamentos - Associação

Associação: representa o relacionamento entre instâncias de classes. Especifica que um objeto de uma classe está ligado a um objeto de outra classe.

Exemplo: f az é o nome da associação. Pode ser utilizada uma seta para indicar uma direção para este nome de f orma a f acilitar a leitura e entendimento. Neste caso leríamos cliente f az pedido. Quando não há dúvidas com relação ao nome da associação, ele pode ser omitido.

Cliente

códigoCPFnomeendereçotelefone [0..1]eMail [0..1]

1..*1 faz ->

Pedido

numPedidodataEmissão

nomePresenteado [0..1]endereçoEntrega

dataCancelamento [0..1]status

Page 44: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

44

Relacionamentos - Associação

Nome Opcional Direção do Nome

Page 45: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

45

Associações possuem multiplicidades que indicam oslimites mínimos e máximos para a participação dosobjetos. No exemplo anterior, a associação entrecliente e pedido pode ser lida da seguinte f orma: cadacliente pode ter f eito um ou mais pedidos e cadapedido necessariamente é de apenas um cliente.

Opções de multiplicidade:1 – exatamente 10..1 – zero ou um1..* - um ou mais0..* - zero ou mais* - zero ou maisÉ possível também determinar o número exato. Por

exemplo, 2..6

Page 46: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

46

Uma associação binária liga os objetos de exatamente duasclasses, como a associação entre Cliente e Pedido.

Uma associação binária, de acordo com a UML, pode tambémrepresentar o relacionamento dos objetos de uma mesmaclasse como no exemplo a seguir no qual existe umrelacionamento de gerência. Neste caso em particular umempregado pode ter nenhum ou no máximo um gerente e umgerente pode ter de um a vários subordinados.

Empregado

1..*

0..1

gerente

subordinado

0..1

1..*

Page 47: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

47

A c lasse que par t ic ipa d e uma assoc iação desempenhaum papel nest e r elac ionament o.

E mpr egado pode d esempenhar o papel d e ger ent e ousubor d inado.

N o caso em que o c lient e f az ped ido, não há dúvidas comr elação a esses papéis, mas pod em haver s it uações comoest a ac ima em que sej a impor t ant e dest acá- los.

Empregado

1..*

0..1

gerente

subordinado

0..1

1..*

Papéis:

Page 48: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

48

I V. CLASSE ASSOCIATIVA

Utilizada em situações em que uma associação tempropriedades, como por exemplo, atributos.

Page 49: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

49

Em nosso caso exemplo, quando é criada uma f atura deveser descrita qual a quantidade f aturada de cada item queserá enviado ao cliente. A quantidade f aturada de cadaitem não poderia ficar em f atura e nem em item pedidoporque f az ref erência a uma determinada associaçãofatura – item pedido, ou seja é um atributo da associação.

Fatura

numFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]

dataPedidoCancelamento[0..1]dataCancelamento [0..1]

status

1..*0..*

Item pedido

quantidadePedidapreçoCobrado

quantFaturada ??

Page 50: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

50

Classe associativa

Fatura

numFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]

dataPedidoCancelamento [0..1]dataCancelamento [0..1]

status

Item faturado

quantFaturada

Item pedido

quantidadePedidapreçoCobrado1..*0..* 1..*0..*

A solução é colocar numa classe associativa o atributoquantFaturada, que descreve a quantidade que f oi f aturada.

Page 51: 1 DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES

51

Uma classe associativa é uma associação que tempropriedades de classe. Assim, podem seracrescentados a esta classe: atributos,operações e associações (com outras classes oucom ela própria)