Upload
samuel-lima
View
4
Download
0
Embed Size (px)
DESCRIPTION
java
Citation preview
PROGRAMAO OBJECT ORIENTED
AULA 03
DIAGRAMA DE CLASSES - UML
Docente: Samuel [email protected]
UML UNIFIED MODELING LANGUAGE
UML a sigla de Unified Modelling Language, que pode ser traduzido por Linguagem de Modelao Unificada.
A UML uma linguagem que utiliza uma notao padro para especificar, construir, visualizar e documentar sistemas de informao orientados por objectos.
UML - CLASSES
UML - CLASSES
UML - CLASSES
UML - CLASSES
UML - CLASSES
UML - CLASSESEXEMPLO REPRESENTAO (RATIONALROSE)
UML - CLASSESEXEMPLO REPRESENTAO (ASTAH)
RELACIONAMENTO ENTRE CLASSES
ASSOCIAO
AGREGAO
COMPOSIO
ESPECIALIZAO/GENERALIZAO(HERANA)
RELACIONAMENTO ENTRE CLASSES
RELACIONAMENTO ENTRE CLASSES
RELACIONAMENTO ENTRE CLASSES
RELACIONAMENTOS - ASSOCIAO
Uma associao um relacionamento estrutural que indica que os objetos de uma classe esto vinculados a objetos de outra classe.
Uma associao representada por uma linha slida conectando duas classes.
RELACIONAMENTOS - ASSOCIAO
EXEMPLO REPRESENTAO (RATIONAL ROSE)
RELACIONAMENTOS - ASSOCIAO
EXEMPLO REPRESENTAO (ASTAH)
MULTIPLICIDADE OU CARDINALIDADE
AGREGAO
A associao entre classes sem agregao reflete que ambas as classes se encontram no mesmo nvel conceitual.
Por outro lado, uma relao de associao com agregao traduz que existe uma relao do tipo is-part-of ou has-a, o que corresponde ao fato de uma instncia de determinada classe possuir ou ser composta por vrias instncias de outra classe.
A informao de agregao representada por um losango colocado junto classe que representa o elemento agregador ou o todo.
AGREGAO
AGREGAO
AGREGAO
O diamante indica
a classe Todo
(a que agrega)
COMPOSIO
A composio, ou agregao composta uma variante agregao simples, em que adicionada a seguinte semntica:
(1) forte pertena do todo em relao parte, e
(2) tempo de vida delimitado (as partes no podem existir sem o todo).
Adicionalmente, o todo responsvel pela disposio das suas partes, ou seja, o todo responsvel pela criao e destruio das suas partes.
A informao de agregao composta, ou composio representada por um losango cheio colocado junto classe que representa o elemento agregador ou o todo.
Os objetos parte s podem pertencer a um nico objeto todo e tm o seu tempo de vida coincidente com o dele.
ASSOCIAO - COMPOSIO
ASSOCIAO - COMPOSIO
CLASSE DE ASSOCIAO
Numa relao de associao entre classes, aassociao pode tambm ter os seus prpriosatributos (e eventualmente operaes), devendoser, por conseguinte, modelada tambm comouma classe.
Este tipo de classes designa-se por classe-associao
CLASSE DE ASSOCIAO
CLASSE DE ASSOCIAO
CLASSE DE ASSOCIAO
ASSOCIAES N - RIAS (N 3)
Associaes N-rias, com n maior ou igual a 3,so pouco comuns na modelagem de classes.Contudo, h situaes em que a aplicao destetipo de associaes vantajosa em termos daclareza do modelo.
Nestas circunstncias, a associao representada por um losango com linhas paratodas as suas classes participantes
ASSOCIAES N - RIAS (N 3)
GENERALIZAO/ESPECIALIZAO (HERANA)
A generalizao a relao entre uma classe (designada por super-classe) e uma ou mais variaes de si prpria (designadas por sub-classes).
A super-classe tem atributos e funcionalidade comuns a todas as classes, enquanto cada sub-classe adiciona a essa parte comum atributos e/ou funcionalidade especfica a cada sub-classe
GENERALIZAO/ESPECIALIZAO (HERANA)
GENERALIZAO/ESPECIALIZAO (HERANA)
A especializao tem exatamente o mesmo significado que a generalizao, mas oferece uma outra perspetiva sobre a estrutura do sistema - o sistema visto de cima para baixo, enquanto na generalizao o sistema visto de baixo para cima.
A generalizao e a especializao so, assim, apenas diferentes formas de ver a mesma relao entre classes num diagrama.
Podemos ter vrios nveis de generalizao. No caso anterior, s temos um nvel.
INTERFACES
Uma interface define um comportamentoobrigatrio que alguma classe deve possuir.
As interfaces permitem conhecer umdeterminado elemento, escondendo os seusdetalhes internos, por exemplo: os detalhesde implementao.
Uma interface realizada (ouimplementada) por uma ou mais classes, asquais prometem implementar todos osmtodos nela especificados.
COMO REPRESENTAR A INTERFACE
COMO REPRESENTAR A INTERFACE
COMO REPRESENTAR A INTERFACEEXEMPLO REPRESENTAO (RATIONALROSE)
COMO REPRESENTAR A INTERFACEEXEMPLO REPRESENTAO (ASTAH)
CLASSES ABSTRATAS
CLASSES ABSTRATAS
EXEMPLO