prática nº 03 - diagramas de classes
DESCRIPTION
Prática nº 03 - Diagramas de classesTRANSCRIPT
© Domingos Filipe de Oliveira 1
ENGENHARIA DE SOFTWARE
P R ÁT I C A N º 0 3 : D I A G R A M A D E C L A SS E S
© Domingos Filipe de Oliveira 2
INTRODUÇÃO
• Uma classe é a descrição de um tipo de objeto;• Todos os objetos são instâncias de classes, onde a classe
descreve as propriedades e comportamentos daquele objeto;• Um diagrama de classes denota a estrutura estática de um
sistema e as classes representam coisas que são manipuladas por esse sistema;
• É o diagrama UML mais utilizado;• A notação utilizada para representar o diagrama de classes em
UML é fortemente baseada na notação de Diagramas Entidade-Relacionamento.
© Domingos Filipe de Oliveira 3
CLASSES
• É uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica.• Representada por um retângulo que pode
possuir até três divisões:– Nome da classe– Atributos da classe– Métodos da classe
© Domingos Filipe de Oliveira 4
REPRESENTAÇÃO DE UMA CLASSE
• Classe é representado por um retângulo com três divisões:
© Domingos Filipe de Oliveira 5
CLASSES, ATRIBUTOS E MÉTODOS
• Atributo– Representa características de uma classe.– Exemplo: Jogador (nome, sexo, idade etc.).
• Método– Representa atividades que um objeto de uma classe pode
executar.– Exemplo: Jogador (correr, driblar, chutar).
• Visibilidade– Indica o nível de acessibilidade de um atributo ou método.– Tipos: Pública (+), Privada (-) e Protegida (#).
© Domingos Filipe de Oliveira 6
RELACIONAMENTO
• Permite compartilhar informações e colaborar com a execução dos processos do sistema.
• Descreve um vínculo que ocorre, normalmente, entre os objetos de uma ou mais classes.
• Os tipos de relacionamentos são:– Associação
• Agregação• Composição
– Especialização/Generalização– Dependência
© Domingos Filipe de Oliveira 7
ASSOCIAÇÃO
• Descreve um conjunto de relacionamento entre elementos de modelo.
• Relacionamento estrutural que especifica objetos de um item conectados a objetos de outro item:
– Associação binária – quando há duas classes envolvidas na associa‹o de forma direta de uma para outra.• Relacionamento entre duas classes (tipo mais comum).• Podem possuir títulos para determinar o tipo de vínculo.
– Associação unária – quando há um relacionamento de uma classe consigo mesma.
© Domingos Filipe de Oliveira 8
ASSOCIAÇÃO UNÁRIA
• Ocorre quando há um relacionamento de um objeto de uma classe com objetos da mesma classe;
• No exemplo abaixo, percebe-se que um objeto da classe Funcionário pode (ou não) supervisionar outros objetos dessa mesma classe;
• Para o relacionamento ficar mais claro, pode-se informar a sua multiplicidade.
© Domingos Filipe de Oliveira 9
ASSOCIAÇÃO BINÁRIA
© Domingos Filipe de Oliveira 10
MULTIPLICIDADE
Multiplicidade
Significado
0..1 No mínimo zero e no máximo um. Os objetos n‹o precisam estar relacionados, porém se houver relacionamento deve ser de no máximo 1.
1..1 Um e somente um 0..* No mínimo nenhum e no máximo muitos. * Muitos 1..* No mínimo um e no máximo muitos. 3..5 No mínimo 3 e no máximo 5.
© Domingos Filipe de Oliveira 11
AGREGAÇÃO
• Tipo especial de associação que tenta demonstrar que as informações de um objeto-todo precisam ser complementadas pelas informações contidas em um (ou mais) objetos-parte.
• A associação de agregação pode, em muitos casos, ser substituída por uma associação binária simples, dependendo da visão de quem faz a modelagem.
© Domingos Filipe de Oliveira 12
COMPOSIÇÃO
• É uma variação da agregação e considerada mais “forte”.• O objeto-parte não pode existir sem o objeto-todo.• Tenta mostra que os objetos-parte têm que pertencer
exclusivamente a um único objeto-todo. Se o objeto-todo for destruído, o objeto-parte também será.
© Domingos Filipe de Oliveira 13
ESPECIALIZAÇÃO / GENERALIZAÇÃO
• Tem como objetivo identificar classes-mãe, denominadas de gerais, e classes-filha chamadas de especializadas;
© Domingos Filipe de Oliveira 14
DEPENDÊNCIA
• Como o nome sugere, indica um grau de dependncia entre uma classe e outra.
• Uma dependncia difere de uma associação porque a conexão entre as classes é temporária.
• Representada por uma seta tracejada entre duas classes.
© Domingos Filipe de Oliveira 15
CLASSE ASSOCIATIVA
• Utilizada quando ocorrem associações que possuem multiplicidade muitos para muitos em todas as suas extremidades;
• Armazena os atributos transmitidos pela associação;• Pode possuir seus próprios atributos;• Representada por uma reta tracejada partindo do meio da associação
até uma classe.
© Domingos Filipe de Oliveira 16
NOTAS
• São importantes para informar algum comentário necessário a classe, método ou atributo, fazendo com que, todos tomem conhecimento de forma imediata a observação.
© Domingos Filipe de Oliveira 17
DIAGRAMA DE CLASSES
© Domingos Filipe de Oliveira 18
REFERÊNCIAS
1. S B R O C C O , J O S É H . – U M L 2 . 3 T E O R I A E P R Á T I C A . E R I C A E D I T O R A , 2 0 1 1
2. F U R G E R I , S É R G I O . M O D E L A G E M D E S I S T E M A S O R I E N T A D O S A O B J E C T O S – E N S I N O D I D Á T I C O . E R I C A E D I T O R A , 2 0 1 3 .
3. N U N E S , M . O ’ N E I L , H – F U N D A M E N T A L D E U M L . F C A E D I T O R A 6 º E D , 2 0 0 4