# M.P.S #
Aula 06 - Diagrama de Classes
Prof. Leinylson Fontinele Pereira
Diagrama de Classes
❑ É com certeza o mais importante e o
mais utilizado diagrama da UML.
❑ Permite a visualização das classes que
comporão o sistema com seus respectivos
atributos e métodos, bem como os
relacionamento entre as classes.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 6
Diagrama de Classes
❑ Apresenta uma visão estática de
como as Classes estão organizadas;
❑ Preocupação apenas com a
estrutura lógica.
❑ Serve como base para outros
diagramas da UML.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 7
Persistência
❑ Em muitos casos é necessário preservar de
forma permanente os objetos de uma Classe.
❑ A Classe precisa ser Persistente.
❑ Uma Classe Persistente apresenta muitas
semelhanças com uma entidade como as
definidas no MER.
❑ Modelo utilizado para definir as tabelas em banco de
dados Relacional.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 8
Classes, Atributos e Métodos
❑ Atributos armazenam os dados
dos Objetos da Classe.
❑ Métodos são as funções que
uma instância da Classe pode
executar.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 9
Atributos
❑ Byte:
❑ Tamanho em bits: 8
❑ Faixa de valores: -128 a 127
❑ Boolean:
❑ Tamanho em bits: 8
❑ Faixa de valores: true ou false
❑ Int:
❑ Tamanho em bits: 32
❑ Faixa de valores: -2.147.482.648 a 2.147.843.467
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 10
Atributos
❑ Long:
❑ Tamanho em bits: 64
❑ Faixa: -9.223.372.036.854.775.802 a +9.223.372.036.854.775.802
❑ Double:
❑ Tamanho em bits: 64
❑ Faixa: -1.79769313486231570E+308 a +1.79769313486231570E+308
❑ Char:
❑ Texto.
❑ Date:
❑ Data.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 11
Métodos
Embora os Métodos sejam declarados
no Diagrama de Classes, não é uma
preocupação desse Diagrama, definir as
etapas que estes métodos deverão
percorrer quando forem chamados.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 12
Representação de uma Classe
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 13
Tipos de visibilidade
❑ Visibilidade Pública (+)
❑ O atributo ou método que possuir essa visibilidade
pode ser utilizado por qualquer Classe.
❑ Visibilidade Protegida (#)
❑ O atributo ou método que possuir essa visibilidade
somente a classe possuidora ou as sub-classes terão
acesso.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 14
Tipos de visibilidade
❑ Visibilidade Privada (-)
❑ Somente a Classe possuidora desse atributo ou
método poderá utilizá-lo.
❑ Visibilidade em pacote (~)
❑ Somente é acessível pelas classes que estejam
no mesmo pacote onde a classe que a declarou
está.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 15
Relacionamento
As Classes costumam possuir
relacionamento entre si, com o intuito
de compartilhar informações e
colaborarem umas com as outras para
permitir a execução dos diversos
processos executados pelo sistema.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 16
Associações
❑ Descreve um vínculo que ocorre
normalmente entre duas Classes, chamado
neste caso de Associação Binária.
❑ Em uma Associação determina-se que as
instâncias de uma Classe estão de alguma
forma ligadas às instâncias das outras Classes.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 17
Multiplicidade
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 18
Sentido da leitura
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 19
Sentido da leitura
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 20
Associação Binária
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 21
Associação Única
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 22
Agregação
É um tipo especial de associação onde
tenta-se demonstrar que as informações e
um objeto (chamado objeto-todo)
precisam ser complementadas pelas as
informações contidas em um objeto de
outra classe (chamado objeto-parte).
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 23
Agregação
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 24
Agregação
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 25
Agregação
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 26
Composição
❑ Uma associação do tipo Composição
tenta representar um vínculo mais forte
entre os objetos-todo e objetos-parte.
❑ Tenta mostrar que os objetos-parte têm
que pertencer exclusivamente a um único
objeto-todo.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 27
Composição
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 28
Especialização / Generalização
❑ Similar à associação de mesmo nome
utilizado no Diagrama de Casos de Uso.
❑ Seu objetivo é identificar classes-mãe
(gerais) e classes filhas (especializadas).
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 29
Especialização / Generalização
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 30
Dependência
Não é um tipo comum de
relacionamento, como o próprio
nome diz, identifica um certo grau
de dependência de uma classe em
relação a outra.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 31
Dependência
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 32
Classe Associativa
São classes produzidas quando da
ocorrência de associações que possuem
multiplicidade muitos (*) em todas as
suas extremidades.
N:N
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 33
Classe Associativa
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 34
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 feita
❑ Seja essa observação feita para validar ou
simplesmente informar como o objeto notificado se
comporta.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 35
Notas
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 36
Exercício 1
Desenvolva um
Diagrama de Classes
para um sistema de
Vídeo Locadora
equivalente ao módulo
de locação de DVD’s,
de acordo com as
informações dadas.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 37
Exercício 1
❑ É necessário um controle dos filmes existentes na
locadora;
❑ Um Sócio pode realizar muitas ou nenhuma locações
enquanto permanecer sócio da locadora, mas uma
locação estará vinculada unicamente a um determinado
sócio.
❑ Cada locação deve obrigatoriamente conter ao menos
um filme, podendo conter vários filmes, no entanto uma
mesma cópia pode ter sido locada diversas vezes, em
épocas diferente obviamente.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 38
Exercício 2
Desenvolva o
Diagrama de Classes
para um sistema de
Cursos de Informática
equivalente ao
módulo de matrícula,
de acordo com as
informações dadas.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 40
Exercício 2
❑ Um curso pode ter muitas turmas, mas uma turma se
relaciona exclusivamente com um único curso.
❑ Uma turma pode possuir diversos alunos matriculados,
no entanto uma matrícula refere-se exclusivamente a uma
determinada turma.
❑ Cada turma tem um número mínimo de alunos para
poder ser iniciada.
❑ Um aluno poderá realizar muitas matrículas, mas cada
matrícula refere-se exclusivamente a uma aluno.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 41
Exercício 3
Desenvolva o
Diagrama de Classes
para um sistema de
Controle de Apólice
de seguros, de
acordo com as
informações dadas.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 43
Exercício 3
❑ Um cliente para ser cliente, necessita possuir
no mínimo uma apólice em seu nome,
podendo possuir diversas, no entanto, uma
apólice será atribuída a um único cliente.
❑ Da mesma forma que uma apólice pode
possuir de uma até quatro parcelas, mas uma
parcela estará vinculada a uma única apólice.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 44
Exercício 3
❑ Um veículo segurado poderá ou não possuir
sinistro. Cada sinistro possuirá um tipo.
❑ Acidente, roubo, incêndio, etc.
❑ Será notificado também os danos no veículo,
sabendo-se que um sinistro poderá causar danos ou
não ao veículo.
❑ Cada veículo segurado possuirá uma modelo, e
cada modelo estará vinculado exclusivamente com
uma marca.
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 45
Na próxima aula...
1. Diagrama de Sequência
2. ..
3. ..
20/02/2019 Aula 03 - Análise e Projeto de Sistemas
Referências
❑ UESPI - Análise de Sistemas 2, Prof. Mayllon Veras
❑ B
❑ C
20/02/2019 Aula 03 - Análise e Projeto de Sistemas
Aula disponível no SlideShare!
https://pt.slideshare.net/leinylson/presentations
20/02/2019 Aula 03 - Análise e Projeto de Sistemas
Dúvidas...
https://www.facebook.com/leinylson
https://br.linkedin.com/in/leinylson
http://pt.slideshare.net/leinylson
leinylson@gmail.com
20/02/2019 Aula 03 - Análise e Projeto de Sistemas
20/02/2019 Aula 03 - Análise e Projeto de Sistemas 51

Aula 06 - Diagrama de classes

  • 1.
    # M.P.S # Aula06 - Diagrama de Classes Prof. Leinylson Fontinele Pereira
  • 2.
    Diagrama de Classes ❑É com certeza o mais importante e o mais utilizado diagrama da UML. ❑ Permite a visualização das classes que comporão o sistema com seus respectivos atributos e métodos, bem como os relacionamento entre as classes. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 6
  • 3.
    Diagrama de Classes ❑Apresenta uma visão estática de como as Classes estão organizadas; ❑ Preocupação apenas com a estrutura lógica. ❑ Serve como base para outros diagramas da UML. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 7
  • 4.
    Persistência ❑ Em muitoscasos é necessário preservar de forma permanente os objetos de uma Classe. ❑ A Classe precisa ser Persistente. ❑ Uma Classe Persistente apresenta muitas semelhanças com uma entidade como as definidas no MER. ❑ Modelo utilizado para definir as tabelas em banco de dados Relacional. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 8
  • 5.
    Classes, Atributos eMétodos ❑ Atributos armazenam os dados dos Objetos da Classe. ❑ Métodos são as funções que uma instância da Classe pode executar. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 9
  • 6.
    Atributos ❑ Byte: ❑ Tamanhoem bits: 8 ❑ Faixa de valores: -128 a 127 ❑ Boolean: ❑ Tamanho em bits: 8 ❑ Faixa de valores: true ou false ❑ Int: ❑ Tamanho em bits: 32 ❑ Faixa de valores: -2.147.482.648 a 2.147.843.467 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 10
  • 7.
    Atributos ❑ Long: ❑ Tamanhoem bits: 64 ❑ Faixa: -9.223.372.036.854.775.802 a +9.223.372.036.854.775.802 ❑ Double: ❑ Tamanho em bits: 64 ❑ Faixa: -1.79769313486231570E+308 a +1.79769313486231570E+308 ❑ Char: ❑ Texto. ❑ Date: ❑ Data. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 11
  • 8.
    Métodos Embora os Métodossejam declarados no Diagrama de Classes, não é uma preocupação desse Diagrama, definir as etapas que estes métodos deverão percorrer quando forem chamados. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 12
  • 9.
    Representação de umaClasse 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 13
  • 10.
    Tipos de visibilidade ❑Visibilidade Pública (+) ❑ O atributo ou método que possuir essa visibilidade pode ser utilizado por qualquer Classe. ❑ Visibilidade Protegida (#) ❑ O atributo ou método que possuir essa visibilidade somente a classe possuidora ou as sub-classes terão acesso. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 14
  • 11.
    Tipos de visibilidade ❑Visibilidade Privada (-) ❑ Somente a Classe possuidora desse atributo ou método poderá utilizá-lo. ❑ Visibilidade em pacote (~) ❑ Somente é acessível pelas classes que estejam no mesmo pacote onde a classe que a declarou está. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 15
  • 12.
    Relacionamento As Classes costumampossuir relacionamento entre si, com o intuito de compartilhar informações e colaborarem umas com as outras para permitir a execução dos diversos processos executados pelo sistema. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 16
  • 13.
    Associações ❑ Descreve umvínculo que ocorre normalmente entre duas Classes, chamado neste caso de Associação Binária. ❑ Em uma Associação determina-se que as instâncias de uma Classe estão de alguma forma ligadas às instâncias das outras Classes. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 17
  • 14.
    Multiplicidade 20/02/2019 Aula 03- Análise e Projeto de Sistemas 18
  • 15.
    Sentido da leitura 20/02/2019Aula 03 - Análise e Projeto de Sistemas 19
  • 16.
    Sentido da leitura 20/02/2019Aula 03 - Análise e Projeto de Sistemas 20
  • 17.
    Associação Binária 20/02/2019 Aula03 - Análise e Projeto de Sistemas 21
  • 18.
    Associação Única 20/02/2019 Aula03 - Análise e Projeto de Sistemas 22
  • 19.
    Agregação É um tipoespecial de associação onde tenta-se demonstrar que as informações e um objeto (chamado objeto-todo) precisam ser complementadas pelas as informações contidas em um objeto de outra classe (chamado objeto-parte). 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 23
  • 20.
    Agregação 20/02/2019 Aula 03- Análise e Projeto de Sistemas 24
  • 21.
    Agregação 20/02/2019 Aula 03- Análise e Projeto de Sistemas 25
  • 22.
    Agregação 20/02/2019 Aula 03- Análise e Projeto de Sistemas 26
  • 23.
    Composição ❑ Uma associaçãodo tipo Composição tenta representar um vínculo mais forte entre os objetos-todo e objetos-parte. ❑ Tenta mostrar que os objetos-parte têm que pertencer exclusivamente a um único objeto-todo. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 27
  • 24.
    Composição 20/02/2019 Aula 03- Análise e Projeto de Sistemas 28
  • 25.
    Especialização / Generalização ❑Similar à associação de mesmo nome utilizado no Diagrama de Casos de Uso. ❑ Seu objetivo é identificar classes-mãe (gerais) e classes filhas (especializadas). 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 29
  • 26.
    Especialização / Generalização 20/02/2019Aula 03 - Análise e Projeto de Sistemas 30
  • 27.
    Dependência Não é umtipo comum de relacionamento, como o próprio nome diz, identifica um certo grau de dependência de uma classe em relação a outra. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 31
  • 28.
    Dependência 20/02/2019 Aula 03- Análise e Projeto de Sistemas 32
  • 29.
    Classe Associativa São classesproduzidas quando da ocorrência de associações que possuem multiplicidade muitos (*) em todas as suas extremidades. N:N 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 33
  • 30.
    Classe Associativa 20/02/2019 Aula03 - Análise e Projeto de Sistemas 34
  • 31.
    Notas ❑ São importantespara informar algum comentário necessário a classe, método ou atributo, fazendo com que, todos tomem conhecimento de forma imediata a observação feita ❑ Seja essa observação feita para validar ou simplesmente informar como o objeto notificado se comporta. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 35
  • 32.
    Notas 20/02/2019 Aula 03- Análise e Projeto de Sistemas 36
  • 33.
    Exercício 1 Desenvolva um Diagramade Classes para um sistema de Vídeo Locadora equivalente ao módulo de locação de DVD’s, de acordo com as informações dadas. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 37
  • 34.
    Exercício 1 ❑ Énecessário um controle dos filmes existentes na locadora; ❑ Um Sócio pode realizar muitas ou nenhuma locações enquanto permanecer sócio da locadora, mas uma locação estará vinculada unicamente a um determinado sócio. ❑ Cada locação deve obrigatoriamente conter ao menos um filme, podendo conter vários filmes, no entanto uma mesma cópia pode ter sido locada diversas vezes, em épocas diferente obviamente. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 38
  • 35.
    Exercício 2 Desenvolva o Diagramade Classes para um sistema de Cursos de Informática equivalente ao módulo de matrícula, de acordo com as informações dadas. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 40
  • 36.
    Exercício 2 ❑ Umcurso pode ter muitas turmas, mas uma turma se relaciona exclusivamente com um único curso. ❑ Uma turma pode possuir diversos alunos matriculados, no entanto uma matrícula refere-se exclusivamente a uma determinada turma. ❑ Cada turma tem um número mínimo de alunos para poder ser iniciada. ❑ Um aluno poderá realizar muitas matrículas, mas cada matrícula refere-se exclusivamente a uma aluno. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 41
  • 37.
    Exercício 3 Desenvolva o Diagramade Classes para um sistema de Controle de Apólice de seguros, de acordo com as informações dadas. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 43
  • 38.
    Exercício 3 ❑ Umcliente para ser cliente, necessita possuir no mínimo uma apólice em seu nome, podendo possuir diversas, no entanto, uma apólice será atribuída a um único cliente. ❑ Da mesma forma que uma apólice pode possuir de uma até quatro parcelas, mas uma parcela estará vinculada a uma única apólice. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 44
  • 39.
    Exercício 3 ❑ Umveículo segurado poderá ou não possuir sinistro. Cada sinistro possuirá um tipo. ❑ Acidente, roubo, incêndio, etc. ❑ Será notificado também os danos no veículo, sabendo-se que um sinistro poderá causar danos ou não ao veículo. ❑ Cada veículo segurado possuirá uma modelo, e cada modelo estará vinculado exclusivamente com uma marca. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas 45
  • 40.
    Na próxima aula... 1.Diagrama de Sequência 2. .. 3. .. 20/02/2019 Aula 03 - Análise e Projeto de Sistemas
  • 41.
    Referências ❑ UESPI -Análise de Sistemas 2, Prof. Mayllon Veras ❑ B ❑ C 20/02/2019 Aula 03 - Análise e Projeto de Sistemas
  • 42.
    Aula disponível noSlideShare! https://pt.slideshare.net/leinylson/presentations 20/02/2019 Aula 03 - Análise e Projeto de Sistemas
  • 43.
  • 44.
    20/02/2019 Aula 03- Análise e Projeto de Sistemas 51