Você está na página 1de 28

Diagrama de Classes e Diagrama de Objetos

Diagrama de Classes
Definio: representao estrutural das classes e suas relaes e que sirvam de modelo para objeto; Classe: elemento da programao que tem como objetivo principal a abstrao, ou seja representar algo do mundo real para o nosso software, tais como os prprios objetos, possveis problemas (possibilidades) e os mtodos que resolveram esses problemas e manipularam os atributos dos objetos das classes, e que inclusive importaro valores e trabalharo mtodos de outras classes.

Diagrama de Classes
Objeto: elemento abstrado da realidade, este que possuir atributos para definir suas caractersticas que so de interesse do sistema, para execuo das funes necessrias ou captadas durante a anlise de requisitos. Uma classe pode ter um ou mais objetos, normalmente possui vrios.

Diagrama de Classes
Modularizao: lembrando que um bom projeto deve ser modular, o diagrama de classes extremamente importante para se projetar a modularidade, se seus mdulos (classes) esto devidamente organizados, se no existe dependncias desnecessrias, e tambm verificar o nvel de coeso ou acoplamento, contornando acoplamentos desnecessrios e criando classes coesas, para otimizar o sistema.

Exemplo de Diagrama de Classes

Mas como fazer um diagrama de classe?


Uma classe representada por um retngulo, e dentro, em negrito, com primeira letra em maisculo deve estar o nome da classe, que na maioria das vezes um substantivo.
Pessoa

Classes
Como vimos as classes possuem atributos. Estes so exibidos na sesso inferior ao nome da classe.
Atributos e operaes possuem uma visibilidade: ~ + # -> de pacote: significa que a classe de um pacote pode ser usadas. -> Pblico. -> Privado. -> Protegido.
Pessoa +Nome +Idade

Atributos e Operaes
Os atributos possuem um tipo de dado. Podem ser: String, Float, Integer, Double, etc...

Pessoa
+Nome : String +Idade : int As operaes so representadas em um terceiro retngulo, abaixo dos atributos:

Pessoa +Nome : String +Idade : int +Andar( ) +Dormir( )

Operaes
Essas operaes podem retornar ou no um valor: Tem um valor que serve de entrada, no retorna valor algum depois da operao: Pessoa +Nome : String +Idade : int +Andar(Integer direcao) +Dormir( ) Tem um valor que serve de entrada, retorna um valor do tipo booleano: Pessoa +Nome : String +Idade : int +Andar(Integer direcao) :bool +Dormir( )

Nveis de Exibies
Nvel de Domnio: Mostra-se apenas os nomes das
classes e seus relacionamentos.
Pessoa

Funcionario

Nveis de Exibies
Nvel de Anlise: Mostra-se apenas os nomes das
classes e seus atributos, juntamente com seus relacionamentos.
Pessoa
+Nome +Idade

Funcionario +Registro +Idade

Nveis de Exibies
Nvel de Design: Mostra-se os nomes das classes, seus
atributos e suas operaes, juntamente com seus
relacionamentos.
Pessoa +Nome +Idade +Andar( ) +Dormir( )

Funcionario +Registro +Funcao

+Trabalhar( )

Generalizao
Generalizao vem do conceito de Herana. Uma classe mais genrica herdada por uma classe mais especfica. No exemplo abaixo por exemplo, Veculo a classe mais genrica, enquanto, Utilitrio, nibus e Caminho so as classes mais especficas:
Veiculo

+Ligar( ) +Desligar( ) +Acelerar( )

Onibus +Acelerar( )

Utilitario +Acelerar( )

Caminhao +Acelerar( )

Classes Abstratas
Classes abstratas no podem ser instanciadas elas possuem caractersticas e funcionalidades que sero herdadas por outras classes, neste exemplo, Televisor a classe abstrata. Uma classe abstrata identificada utilizando seu nome em Itlico.
Televisao

LCD

Plasma

LED

Associaes
Associao significa ligao entre as classes. Podem haver com duas ou mais classes, na maioria das vezes so bidirecionais, mas pode haver casos de ser de direo nica. Podem ter tambm funes que descrito sobre a Associao.
Veiculo Fabricante

Usuario

Senha

Conta Corrente

Possui

Cliente

Dependncias
Como o prprio nome j diz quando uma classe s existe se a outra tambm existir. mostrado atravs de uma seta pontilhada.
Pedido

Item Pedido

Agregaes
Significa que uma classe formada por diversas outras classes. representado pela juno de todas e uma com um formato de diamante na ponta.
Veiculo

Rodas

Chassi

Motor

Composio
um outro tipo de agregao, porm na agregacao as classes faziam um todo, neste tipo de ligao, uma classe sozinha no pode existir. Representado por um diamante preenchido.
Livro

Capa

Capitulo

Prefacio

Multiplicidade
Indica quantas classes podem estar relacionadas quela classe. Ela pode ser representada por: Valores Fixos, Asteriscos que representa muitos, Um intervalo de nmeros 1..4, e um conjunto de valores [1,3,5].

Conta Corrente
*

Possui
1

Cliente

Exemplo de Diagrama de Classes Nosso Projeto

Diagrama de Objetos
O diagrama de objetos, assim como o diagrama de classes, uma ferramenta muito importante da UML que serve para a modelagem de exemplos e deve ser utilizado para verificar a validade de determinadas classes relacionadas durante o processo de modelagem.

Objeto
representado por duas partes: nome do objeto e (separado por dois pontos) a classe que ele pertence.

Algumas ferramentas trazem o smbolo esteretipo, para definir se uma classe entidade, fronteira ou de controle.

Objetos annimos
quando se aplica a modelagem de um objeto genrico, ou seja, que a modelagem se aplica para qualquer instancia da classe nomeada, no temos o nome do objeto, um objeto annimo.

Ligaes
Ligaes so as dependncias que os objetos das classes possuem.

If not you, who? If not now, when?

Você também pode gostar