• Nenhum resultado encontrado

A6-DiagramaDeClasse

N/A
N/A
Protected

Academic year: 2021

Share "A6-DiagramaDeClasse"

Copied!
50
0
0

Texto

(1)

1

Modelagem de Classes

Profª. Larissa Natália V. Caneiro https://sites.google.com/site/proflarissacarneiro

(2)

2

Introdução

O modelo de casos de uso fornece uma

perspectiva do sistema a partir de um ponto de vista externo.

De posse da visão de casos de uso, os desenvolvedores podem prosseguir no desenvolvimento do sistema.

(3)

3

A funcionalidade externa de um sistema orientado a

objetos é fornecida através de colaborações entre objetos.

 Externamente: os atores visualizam resultados de

cálculos, relatórios produzidos, confirmações de requisições realizadas, etc.

 Internamente: os objetos colaboram uns com os outros

para produzir os resultados.

(4)

4

Modelo de classes

É composto por diagramas de classes e da descrição

textual associada.

O modelo de classes evolui durante o

desenvolvimento do sistema.

 À medida que o sistema é desenvolvido, o modelo

de classes é incrementado com novos detalhes.

Três níveis sucessivos de abstração:

Domínio

EspecificaçãoImplementação.

(5)

5

Modelo de classes

O modelo de classes de domínio: representa as

classes no domínio do negócio em questão. Não leva em consideração restrições inerentes à tecnologia a ser utilizada na solução de um problema.

O modelo de classes de especificação é obtido

através da adição de detalhes ao modelo anterior conforme a solução de software escolhida.

O modelo de classes de implementação

corresponde à implementação das classes em alguma linguagem de programação.

(6)

6

Diagrama de Classes

Mostra a visão estática da estrutura do

sistema.

Deve esboçar o que interage e não o que

acontece quando as classes interagem.

Pode ser chamado de Diagrama Estrutural Estático.

É um gráfico de elementos conectados através

de vários relacionamentos estáticos.

Pode conter classes, interfaces, pacotes e

(7)

7  Descrevem os tipos de objetos no sistema e

os vários relacionamentos estáticos entre eles, que são de 2 tipos:

 associações

 subtipos (abstração)

Ilustram atributos e operações de uma classe e as restrições à maneira com que os objetos são conectados

(8)

8

(9)

9

Classes

Uma classe representa um grupo de objetos semelhantes (com os mesmos atributos,

relacionamentos, operações e semântica).  Uma classe descreve os objetos através de

atributos e operações.

Os atributos correspondem às informações que um objeto armazena.

As operações correspondem às ações que um objeto sabe realizar.

(10)

10

Notação para uma classe

Pode ser especificada completamente (nome, atributos

e operações) ou simplificada.

Representada através de uma “caixa” com no máximo

três compartimentos exibidos.

Notação utilizada depende do nível de abstração

desejado.

(11)

11

(12)

12

Classe

Nome da classe pode ser simples ou pode ser

precedido pelo nome do pacote em que a classe está contida

Nome da Classe

Visibilidade atributo: Tipo = ValorInicial

(13)

13

Atributos

Parede altura : real largura : real espessura : real

(14)

14

Atributos

Classe – detalhes a

nível de análise Classe – detalhes a nível de implementação

(15)

15

Visibilidade

Usar marcações de acesso para especificar o tipo de

acesso permitido aos atributos e operações

Visibilidade:

 + público : visível em qualquer classe

 # protegido : qualquer descendente poderá usar  - privado : visível somente dentro da classe

(16)

16

Operações/Métodos

Operação é a implementação de um serviço que

pode ser solicitado por algum objeto da classe.

Todos os objetos de uma classe compartilham as

mesmas operações;

Uma classe pode ter qualquer número de operações

ou nenhuma operação;

Podem ser representadas apenas por seu nome ou

(17)

17

(18)

18

Relacionamentos

Comunicação entre classes - definem responsabilidades

3 Tipos:

Associações

Generalização (herança)

(19)

19 Associação Agregação Herança Composição Dependência

Relacionamentos

(20)

20

Relacionamentos

Construir uma casa

 casa, parede, porta, janela, cômodo, luz  Casa tem janelas, que têm vários tipos!

 Janelas podem ser abertas no sentido vertical

e/ou horizontal

 Existem semelhanças entre as janelas e

(21)

21

Associações

Para representar o fato de que objetos podem se relacionar uns com os outros, utiliza-se a associação.

Uma associação representa relacionamentos (ligações)que são formados entre objetos

durante a execução do sistema.

 embora as associações sejam representadas entre classes do diagrama, tais associações representam ligações possíveis entre objetos das classes envolvidas.

(22)

22

Notação para uma associação

Associação - relacionamentos estruturais entre instâncias. Especifica que objetos de uma classe estão conectados a objetos de outras

 Ex: as salas são formadas por paredes

Uma associação pode possuir um nome, que normalmente é um verbo (substantivos são aceitos)

Cada terminação da associação pode possuir um papel, mostrando como uma classe é vista pela outra.

(23)

23  Para melhor esclarecer o significado de uma

associação no diagrama de classes, a UML define três recursos de notação:

Nome da associação: fornece algum significado semântico a mesma.

Direção de leitura: indica como a associação deve ser lida

Papel: para representar um papel específico em uma associação.

(24)

24

Notação para uma associação

Representada através de um segmento de reta

ligando as classes cujos objetos se relacionam.

(25)

25

Exemplo (Nome de associação,

direção de leitura e papéis)

(26)

26

(27)

27

Multiplicidades

Representam quantos objetos de uma

classe relacionam-se a um único objeto da classe associada.

Cada associação em um diagrama de

classes possui duas multiplicidades, uma em cada extremo da linha de associação.  Correspondem as cardinalidades do DER.

(28)

28

Multiplicidades

Nome Simbologia

Apenas Um 1..1 (ou 1)

Zero ou Muitos 0..* (ou *)

Um ou Muitos 1..*

Zero ou Um 0..1

(29)

29

Exemplo (multiplicidade)

Pode haver um cliente que esteja associado a vários pedidos.

Pode haver um cliente que não esteja associado a pedido algum.

Um pedido está associado a um, e somente um, cliente.

(30)

30

Exemplo (multiplicidade)

Uma corrida está associada a, no mínimo, dois velocistas

Uma corrida está associada a, no máximo, seis velocistas.

Um velocista pode estar associado a várias corridas.

(31)

31

Associações reflexivas

Também chamada de associação binária recursiva

ou auto-associação

Associa objetos da mesma classe.

 Cada objeto tem um papel distinto na associação.

A utilização de papéis é bastante importante para

evitar ambiguidades na leitura da associação.

Associação reflexiva NÃO indica que um objeto se

associa com ele próprio.

 Indica que objetos de uma mesma classe se

(32)

32

Exemplo (associação reflexiva)

Pessoa

Esposa

Marido É casado com

(33)

33

Classe associativa

É uma classe que está ligada a uma

associação, ao invés de estar ligada a outras classes.

É normalmente necessária quando duas ou mais classes estão associadas, e é

necessário manter informações sobre esta associação.

(34)

34

Notação para uma classe associativa

Representada pela notação utilizada para

uma classe. A diferença é que esta classe é ligada a uma associação.

(35)

35

Associações n-árias

São utilizadas para representar a associação existente entre objetos de n classes.

Uma associação ternária é um caso mais comum (menos raro) de associação n-ária (n = 3).

Na notação da UML, as linhas de associação se interceptam em um losango.

(36)

36

(37)

37

Exemplo (associação ternária)

É possível existir uma classe associada ligada à ternária.

(38)

38

Agregação

É um caso especial da associaçãoIndica que uma das classes do

relacionamento é um parte de outra classe.  Em uma agregação, um objeto está contido

no outro, ao contrário de uma associação.  Onde se puder utilizar uma agregação, uma

associação também poderá ser utilizada.  Palavras chaves: “é parte de” “consiste

(39)

39

Agregação

Sejam duas classes associadas, X e Y. Se uma das perguntas a seguir for respondida com um sim, provavelmente há uma

agregação onde X é todo e Y é parte.

X tem um ou mais Y?Y é parte de X?

(40)

40

Notação para uma agregação

Jogador Equipe 0..* membro 1..* AssociaçãoEsportiva * * Afiliada

Representada como uma linha conectando

as classes relacionadas, com um diamante (losango) branco perto da classe que

representa o todo.

(41)

41

Composição

É uma forma mais forte de agregação

chamada de Composição ou Agregação composta.

Composição - relacionamento entre um elemento (o todo) e outros elementos (as partes) indica que as partes só podem

pertencer ao “todo” e são criadas e destruídas com ele.

(42)

42

Composição

Endereço 1 0..1 Complemento

(43)

43 Computador Teclado Mouse Monitor Janela Botão Título Menu

(44)

44

Dependência

Dependência - relacionamento de utilização, no qual

uma mudança na especificação de um elemento pode alterar a especificação do elemento

dependente

Ex: os canos dependem do aquecedor para

fornecerem água quente

Dependência entre classes indica que os objetos de

uma classe usam serviços dos objetos de outra classe.

(45)

45

Dependência

Indica que mudanças em um elemento (o servidor)

podem afetar outro elemento (o cliente)

(46)

46

Generalização

Generalização (herança simples e múltipla) -

relacionamento entre um elemento mais geral e um mais específico.

É um relacionamento de taxonomia onde o elemento é

totalmente consistente com o primeiro, somando-o informação especializada.

 Superclasse, subclasses

 Ex: Veículo terrestre pode ser do tipo automóvel ou

caminhão (TIPO DE), Tipos de Animal (mamífero, ave, peixe)

(47)

47

Generalização

Os termos herança, generalização e especialização

referem-se a aspectos da mesma idéia:

Generalização – relacionamento entre classes –

superclasse generaliza subclasses;

Herança – mecanismo de compartilhamento de atributos e

operações utilizando o mecanismo de generalização;

Especialização – subclasses refinam ou especializam a

(48)

48

(49)

49

(50)

50

Generalização

Uma classe pode ter mais de uma superclasse (herança múltipla).

Referências

Documentos relacionados

Uma vez que você tenha identificado as principais áreas débeis, desenhe QUADROS DE INDICADORE , semelhantes ao que pode ser visto, na página 30 em folhas grandes de papel. Escreva

Contamos ainda com vários itens para fotografia de Newborn, toda linha de suprimentos para sublimação e um Guia de Negócios especial, com todos os nossos kits de prensas

Na última etapa em que a pesquisadora apresentou uma frase com e sem segmentação convencional a maioria das crianças elegeu a escrita segmentada de forma convencional

Para isso nos utilizaremos de alguns textos bibliográficos em torno do assunto, escritos por autores que tem grande importância nessa temática, tais como

Mova a alavanca de acionamento para frente para elevação e depois para traz para descida do garfo certificando se o mesmo encontrasse normal.. Depois desta inspeção, se não

Para avaliar o efeito da utilização parenteral das vitaminas C e/ou E associadas ao quelante de cobre, tetratiomolibdato de amônio (TTM), no tratamento de ovinos com

De acordo com Barbieri (2004), grande parte da preocupação ambiental empresarial é referente a experiências passadas com desastres ecológicos e populacionais e a Carbocloro mostra

Já o terceiro e último capítulo trás à baila as consecuções da efetividade da titulação do direito de propriedade em área agrícola, analisando o papel do ministério