A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UML Diagrama de Classes

Apresentações semelhantes


Apresentação em tema: "UML Diagrama de Classes"— Transcrição da apresentação:

1 UML Diagrama de Classes
Prof. Ms. Paloma Maira de Oliveira

2 Tópicos Abordados Conceitos; Classes e Objetos; Estereótipos;
Relacionamentos; Prof. MsC. Paloma Maira de Oliveira

3 Conceitos "Uma classe representa um conjunto de objetos que possuem comportamentos e características comuns". ANALOGIA: Planta do prédio – instância (objeot) o prédio construído Prof. MsC. Paloma Maira de Oliveira

4 1. Diagrama de Classes Um diagrama de classe é um diagrama que mostra um conjunto de classes e seus relacionamento. São os diagramas encontrados com maior freqüência na modelagem de sistemas orientados a objetos. Utilizados também para engenharia de produção e reversa. Prof. MsC. Paloma Maira de Oliveira 4

5 Diagrama de Classes (cont.)
Os diagramas de classes costumam conter os seguintes itens: Classes Relacionamentos de dependência, generalização e associação São utilizados para fazer a modelagem da visão estática de um sistema. Com isso oferece suporte para os requisitos funcionais do sistema. Prof. MsC. Paloma Maira de Oliveira 5

6 Diagrama de Classes (cont.)
Prof. MsC. Paloma Maira de Oliveira 6

7 Relacionamentos na UML
Existem 4 tipos de relacionamentos na UML: Dependência Associação Generalização Realização (Não veremos no momento) OBS: Esses relacionamentos são usados para escrever modelos bem-formados. Prof. MsC. Paloma Maira de Oliveira 7

8 1. Dependência Dependência é mostrada como uma seta tracejada apontando o item do qual o outro depende, (do cliente para fornecedor). Dependência Prof. MsC. Paloma Maira de Oliveira 8

9 Dependência (cont.) Uma dependência indica a ocorrência de um relacionamento semântico entre dois ou mais elementos do modelo. A dependência é um relacionamento entre elementos, um independente e outro dependente, onde uma mudança no elemento independente afetará o elemento dependente. (mudança no fornecedor afetará cliente). Logo existe uma relação entre o cliente e fornecedor, onde o cliente sabe sobre o fornecedor, mas não vice-versa. Uma dependência pode ter um nome, caso você tenha um modelo com muitas dependências e precise fazer referências a essas dependências ou diferenciá-las. Uma dependência indica a ocorrência de um relacionamento semântico entre dois ou mais elementos do modelo. A dependência é um relacionamento entre elementos, um independente e outro dependente, onde uma mudança no elemento independente afetará o elemento dependente.( mudança no fornecedor afetará cliente) Logo existe uma relação entre o cliente e fornecedor, onde o cliente sabe sobre o fornecedor, mas não vice-versa. Uma dependência pode ter um nome, caso você tenha um modelo com muitas dependências e precise fazer referências a essas dependências ou diferenciá-las. Sendo que é mais comum usar estereótipos para distinguir vários tipos de Dependência.É raro ter dependência com nome Prof. MsC. Paloma Maira de Oliveira 9

10 2. Associação Cliente Pedido
É uma conexão entre classes, e também significa que é uma conexão entre objetos daquelas classes. É usada sempre que desejamos exibir relacionamentos estruturais. Uma associação é representada por uma linha sólida, conectando a mesma classe (associação unária) ou classes diferentes. Cliente Pedido * Prof. MsC. Paloma Maira de Oliveira 10

11 Associação (cont.) Na UML, uma associação é definida com um relacionamento que descreve uma série de ligações, onde a ligação é definida como a semântica entre as duplas de objetos ligados. A partir de uma associação conectando duas classes, você é capaz de navegar do objeto de uma classe até o objeto de outra classe e vice-versa. Serve para criar vínculos com outros objetos da mesma classe. Existem 4 tipos de aprimoramentos a serem aplicados às associações: Prof. MsC. Paloma Maira de Oliveira 11

12 Associação (cont.) Pessoa Empresa Nome:
Uma associação pode ter um nome, que pode ser utilizado para descrever a natureza do relacionamento. Não havendo ambigüidade acerca do seu significado, podemos atribuir uma direção para o nome, fornecendo um triângulo de orientação que aponta a direção como o nome deverá ser lido. Não será necessário incluir um nome, caso você atribuir nomes de papéis à associação ou possuir um modelo com muitas associações precisar fazer referência às associações ou diferenciá-las. Pessoa Empresa Trabalha para Prof. MsC. Paloma Maira de Oliveira 12

13 Associação (cont.) Pessoa Empresa Papel
Quando uma classe participa de uma associação, ela tem um papel específico a executar nesse relacionamento. O papel é apenas a face que a classe próxima a uma das extremidades apresenta à classe encontrada na outra extremidade da associação. É possível nomear o papel desempenhado por uma classe na associação. A mesma classe pode executar papéis iguais ou diferentes em outras associações. Pessoa Empresa funcionário empregador Prof. MsC. Paloma Maira de Oliveira 13

14 Associação (cont.) 3. Multiplicidade
Em muitas situações de modelagem, é importante determinar a quantidade de objetos que podem ser conectados pela instância de uma associação. Essa “quantidade” é chamada de multiplicidade do papel de uma associação. É escrita como uma expressão equivalente a um intervalo de valores ou a um valor explícito. Ao determinar a multiplicidade em uma das extremidades de uma associação, você está especificando que para cada objeto da classe encontrada na extremidade oposta, deve haver a mesma quantidade de objetos na próxima extremidade. Prof. MsC. Paloma Maira de Oliveira 14

15 Associação (cont.) Pessoa Empresa
A multiplicidade pode ser apresentada de: Exatamente um (1) Zero ou um (0..1) Muitos (0..*) Um ou Mais (1..*) Por um número exato (3) Também qualquer intervalo(3..6) (*) Asterisco é usado para mostrar que é muitos! Pessoa Empresa funcionário empregador 1..* * Multiplicidade Prof. MsC. Paloma Maira de Oliveira 15

16 3. Generalização-herança (cont.)
Prof. MsC. Paloma Maira de Oliveira 16

17 3. Generalização Uma generalização é um relacionamentos entre itens gerais (chamados superclasses ou classes-mãe) e tipos mais específicos desses itens(chamados subclasses ou classes-filhas). Significa que os objetos da classe filha herda as propriedades da mãe, principalmente seus atributos, associações e operações, o que permite também as classes filhas terem outro atributos e operações que não são encontrados na classe mãe. As generalizações são usadas quando desejamos mostrar relacionamento mãe/filhas. Representada graficamente como linhas sólidas com um triângulo vazio apontando a mãe. Prof. MsC. Paloma Maira de Oliveira 17

18 Generalização (cont.) Os seguintes passos são sugeridos para identificar relacionamentos de generalização e especificação: Fazer um desenho ou representação física e identificar classes potenciais, por exemplo, veículo terrestre e veículo aquático. Para cada classe, identificar os relacionamentos de generalização com as perguntas: “Tendo tais subclasses qual seria uma possível superclasse?” “ Tendo tal superclasse quais seriam possíveis subclasses. No exemplo anterior, veículo é uma superclassificação para veículo terrestre e veículo aquático. Prof. MsC. Paloma Maira de Oliveira 18

19 Generalização (cont.) Perguntar:
“ Quais são os atributos e as operações genéricas às subclasses que poderiam ser agrupadas?” “Quais são os atributos e as operações específicos que deveriam ser refinados nas subclasses?” “Ocorre herança simples ou múltiplas pelas subclasses?” “Uma associação de classes é mais apropriada do que uma generalização?” Identificar operações polimórficas para refinamento na subclasse de especialização; Identificar restrições, limitações ou regras para cada relacionamento de generalização. Prof. MsC. Paloma Maira de Oliveira 19

20 Generalização (cont.) Superclasse abstrata Superclasse composta
{Sobreposição, incompleto} Superclasse abstrata Subclasses concretas Superclasse composta Abstrata na visão da Subclasse [VeículoAnfibío] Ex. Porsche Ex. Tanque urutu Ex. Jet ski Ex. livro amarelo, pag 139/141 Prof. MsC. Paloma Maira de Oliveira 20

21 Generalização (cont.) A presença de classes de sobreposição pode ser deduzida quando ocorre herança múltipla (no diagrama de classe). Herança múltipla é uma variação semântica de generalização na qual um objeto pode pertencer diretamente a mais de uma classe dentro da estrutura de classe existente. Em Herança Múltipla, ocorrem múltiplas superclasses para uma mesma subclasse sendo que o instanciamento é feito nesta; Normalmente, toda superclasse se comporta como classes abstrata pois seu instanciamento é feito de maneira especializada nas suas subclasses. Prof. MsC. Paloma Maira de Oliveira 21

22 Generalização (cont.) O instanciamento da superclasse pode ocorrer temporariamente enquanto o objeto não possuir uma subclasse própria para classificação. As superclasses vão se comportar como classes abstratas somente para o objeto instanciado na subclasse de herança múltipla, permanecendo concretas para instância regular Como exemplo de Herança Múltipla, uma subclasse [VeículoAnfíbio] sendo generalização simultânea de [VeículoTerrestre] e [VeículoAquático]. Prof. MsC. Paloma Maira de Oliveira 22

23 <<interface>> RegrasDeContabilidade
Realização (cont.) Veremos em outra oportunidade!! <<interface>> IAgenteDaRegra adicionarRegra( ) alterarRegra( ) explicarAção( ) RegrasDeContabilidade Prof. MsC. Paloma Maira de Oliveira 23

24 Estereótipos Classe de Fronteira Classe de Entidade
Estereótipo é um elemento de modelagem que rotula tipos de Classes de Objeto. Uma Classe de Objetos pode ter um ou mais tipos de estereótipos. Os estereótipos mais comuns são: Classe de Fronteira Classe de Entidade Classe de Controle Prof. MsC. Paloma Maira de Oliveira 24

25 Estereótipos Classe de fronteira. É uma classe que modela a comunicação entre a vizinhança do sistema e suas operações internas. Exemplos: Interface tipo Janela, Protocolo de Comunicação, Interface de Impressão, Sensores, etc. EX. Interface de cadastro de pessoa Prof. MsC. Paloma Maira de Oliveira 25

26 Estereótipos Classe de Entidade. É uma classe que modela objetos cuja informação e o comportamento associados são, de maneira geral, persistentes. EX: Pessoa, Curso Prof. MsC. Paloma Maira de Oliveira 26

27 Cria, ativa e anula objetos controlados.
Estereótipos Classe de Controle. É uma classe que modela o comportamento de controle específico para uma ou mais “Use Case”. Suas principais características são: Cria, ativa e anula objetos controlados. Controla a operação de objetos controlados Controla a concorrência de pedidos de objetos controlados. Em muitos casos corresponde a implementação de um objeto intangível. Prof. MsC. Paloma Maira de Oliveira 27

28 Exemplos Prof. MsC. Paloma Maira de Oliveira 28

29 Exemplos Prof. MsC. Paloma Maira de Oliveira 29

30 Exemplos Prof. MsC. Paloma Maira de Oliveira 30

31 Exemplos Prof. MsC. Paloma Maira de Oliveira 31

32 Prof. MsC. Paloma Maira de Oliveira
32


Carregar ppt "UML Diagrama de Classes"

Apresentações semelhantes


Anúncios Google