Você está na página 1de 10

UNIVERSIDADE FEDERAL DO AMAZONAS - UFAM

INSTITUTO DE CINCIAS EXATAS E TECNOLOGIA - ICET


CURSO: SISTEMAS DE INFORMAO
DISCIPLINA: ENGENHARIA DE SOFTWARE I
DOCENTE: ANACILIA CAVALCANTE

ACADMICO:
FBIO MARQUES

GUEDES, Gilleanes T. A. UML: uma abordagem prtica. 2. ed. So Paulo:


Novatec, 2011
Resumo Captulo 1 Diagramas de Classes
O Diagrama de classe um dos mais importantes e utilizados da UML. Seu
objetivo principal permitir a visualizao das classes que comporo o sistema com
seus respectivos atributos e mtodos e demonstrar como as classes do diagrama se
relacionam, completam e transmitem informaes entre si. Ele praticamente
composto por suas classes e pelas associaes existentes entre elas, ou seja, o
relacionamento entre as classes.
As classes costumam ter atributos que armazenam os dados dos objetos da
classe, alm dos mtodos, que so funes que uma instncia da classe pode
executar, sendo que os valores dos atributos podem variar, sendo possvel atravs
disso identificar cada objeto individualmente, ao passo que os mtodos so idnticos
para todas as instncias de uma classe especfica.

Figura 1 Classe
Como podemos observar na figura uma classe, representada por como um
retngulo com at trs divises:

A primeira contm a descrio ou nome da classe, que nesse exemplo conta


comum.

A segunda armazena os atributos e seus tipos de dados ( o formato que os


dados devem ter para serem armazenados em um atributo).

A terceira diviso lista os mtodos da classe.

Os smbolos de sustenido (#) e mais (+) na frente dos atributos e mtodos


representam a visibilidade dos mesmos, o que determina quais objetos de quais
classes podem utilizar o atributo ou mtodo em questo.

No realmente obrigatrio que uma classe apresente as trs divises, pois


pode haver classes que no tenham atributos ou que no contenham mtodos, ou
pode acontecer ainda que seus atributos ou mtodos no precisem ser apresentados
no diagrama para evitar, por exemplo, tornar o diagrama poludo.

As classes costumam ter relacionamentos entre si, chamadas associaes,


que permitem que elas compartilhem informaes entre si e colaborem para a
execuo dos processos executados pelo sistema pelo sistema. As associaes so
representadas por linhas ligando as classes envolvidas. Essas linhas podem ter
nomes para auxiliar a compreenso do tipo de vnculo estabelecido entre os objetos
das classes envolvidas nas associaes.

Tipos de Relao

Associao Unria ou Reflexiva

Este tipo de associao ocorre quando existe um relacionamento de um objeto


de uma classe com objetos da mesma classe. Exemplo:

Figura 2 Associao Unria


possvel perceber na figura que a nica classe do exemplo tem o nome de
Funcionrio, e como atributo o nome do funcionrio. Observamos que uma linha
intitulada chefia parte da classe Funcionrio e atinge a prpria classe. Isso acontece
porque no exemplo, um funcionrio tambm, por sua vez, um funcionrio da
empresa, portanto, tambm se constitui em uma instncia da classe funcionrio.

Associao Binria

As associaes binrias acontecem quando so identificados relacionamentos


entre os objetos de duas classes distintas. um tipo de associao mais comumente
encontrada.

Figura 3 Associao Binria

Associao Ternria ou N-ria

As associaes ternrias ou n-rias so as associaes que conectam objetos


de mais de duas classes. So representadas por um losango onde convergem
todas as ligaes da associao.

Figura 4 Associao Ternria

Agregao

Agregao um tipo especial de associao onde se tenta demonstrar que as


informaes de um objeto (chamado objeto-todo) precisam ser complementadas
pelas informaes contidas em um ou mais objetos de outra classe (chamados
objetos-parte). Esse tipo de associao tenta demostrar uma relao todo/parte
entre os objetos associados. O smbolo da agregao difere do de associao
por conter um losango na extremidade da classe que contm o objetos-todo.

Figura 5 Agregao

Composio

Uma associao do tipo composio constitui-se em uma variao da


agregao onde apresentado um vnculo mais forte entre objetos-todo e objetos-
parte, procurando demonstrar que os objetos-parte tm de estar associado a um nico
objeto todo. O smbolo de composio diferencia-se graficamente do smbolo de
agregao por usar um tringulo preenchido. Da mesma forma que na agregao o
losango deve ficar ao lado do objeto todo.

Figura 6 Composio

Generalizao/ Especializao

Tipo especial de relacionamento, similar a associao de mesmo nome


utilizada no diagrama de caso de uso. O objetivo dessa associao representar a
ocorrncia de herana entre as classes, identificando a classe-me (ou superclasses),
chamadas gerais e classes filhas (ou subclasses), chamadas especializadas
demonstrando a hierarquia entre as classes e possivelmente mtodos polimrficos
nas classes especializadas.

Classe Associativa

As classes associativas so aquelas produzidas da ocorrncia de associaes


que tenham multiciplidade muitos(*) em todas as suas extremidades. As classes
associativas so necessrias nos casos em que existem atributos relacionados
associao que no podem ser armazenados por nenhuma das classes envolvidas.

Figura 7Classe Associativa

Dependncia

Este relacionamento identifica certo grau de dependncia de uma classe em


relao a outra. O relacionamento de dependncia representado por uma linha
tracejada entre duas classes, contendo uma seta apontado para a classe da qual a
classe posicionada na outra extremidade do relacionamento dependente.

Realizao

Uma realizao um tipo de relacionamento especial que mistura


caractersticas dos relacionamentos de generalizao e dependncia, sendo usada
para identificar classes responsveis por executar funes para outras classes. Esse
tipo de relacionamento herda o comportamento de uma classe, mas no sua estrutura.

Figura 8 Relacionamento de Dependncia e Realizao


Portas

Uma porta uma caracterstica estrutural de um classificador que especifica


uma interao distinta entre o classificador e seu ambiente ou entre o classificador e
suas partes internas. Uma porta pode especificar os servios que um classificador
fornece para seu ambiente, bem como os servios que o classificador espera de ser
ambiente.

Figura 9 Portas

Atualmente muitas linguagens de programao tem adotado interfaces como


meio para descrever os servios disponveis de classes especficas. As interfaces
podem ser de dois tipos: fornecidas e requeridas.

Interfaces Fornecidas

Uma interface fornecida descreve um servio implementado por uma classe. O


conjunto de interfaces implementadas por uma classe forma suas interfaces
fornecidas e representa o conjunto de servios que a classe oferece a seus clientes.

Interfaces Requeridas

Este tipo de interface descreve os servios que as outras classes devem


fornecer a uma determinada classe, que no precisa ter conhecimento de quais
classes implementaro esses servios. As interfaces requeridas so representadas
por um semicrculo ligado a uma classe por uma linha slida.

Figura 11 Interface Fornecida Figura 10 Interface


Requerida

Restries

As restries constituem-se informaes extras que definem condies a


serem validadas durante a implementao dos mtodos de uma classe, das
associaes entre as classes ou mesmo de seus atributos. As restries so
representadas por textos limitados por chaves. Restries tambm podem ser
aplicadas para validar um atributo ou mtodo de uma classe especfica.

Figura 12 Restrio de Associao

As restries podem ainda ser utilizadas para definir melhor a semntica de


classes especializadas derivadas de classes gerais. As restries predefinidas para
classes especializadas so:

Completa quando todas as subclasses possveis forem derivadas da classe


geral.

Incompleta quando ainda possvel derivar novas subclasses.

Separadas ou Disjuntas quando as subclasses so mutuamente exclusivas,


ou seja, no momento em que uma instncia pertence a uma subclasse no poder de
forma alguma pertencer a qualquer das outras subclasses derivadas.

Sobreposta quando o fato de pertencer a uma subclasse no impede que


pertena a outras.

Figura 13 Restrio Separada e Completa


Figura 14 Restrio Sobreposta e Incompleta

Esteretipos dos Diagramas de Classe

Esteretipos so uma maneira de destacar determinados componentes do


diagrama, tornando explicito que tais componenetes executam alguma funo um
pouco diferente dos demais componentes apresentados no diagrama. Existem vrios
estereotipos predefinidos na linguagem UML. H trs estereotipos predefinidos
bastante utilizados nos diagramas de classe: os esteriotipos <<entity>>,
<<boundary>> e <<control>>.
Estereotipo <<entity>>
O estereotipo <<entity>> tem por objetivo tornar explicito que uma classe uma
entidade, ou seja, a classe contm informaes recebidas e armazenadas pelo
sistema ou gerado por meio deste. Essas informaes referem-se ao contexto do
problema que o software pretende solucionar. Classes com o estereotipo <<entity>>
tambem fornecem informaes de que normalmente tero muitos objetos e que os
mesmos possivelmente tero um perodo de vida longa, isto existe a possibilidade
de que os objetos dessas classes precisem ser persistidos, ou seja, preservados
fisicamente de alguma maneira.

Figura 15 Classe Conta_Comum estereotipo <<entity>>


Estereotipo <<boundary>>

O estereotipo <<boundary>>, tambm conhecido como estereotipo de


fronteira, identifica uma classe que serve de comunicao entre os atores externos e
o sistemas propriamente dito. Muitas vezes uma classe <<boundary>> associada a
prpria interface do sistema, embora possa ser definido um estreotipo exclusivo para
tanto. A utilizao de classes <<boundary>> importante quando preciso definir a
existncia de uma interface para o sistema, mas desnecessria em sistemas muito
simples, cujas interfaces no apresentam nenhuma caracterstica especial.

Estereotipo <<control>>

O estereotipo <<control>> identifica classes que servem de intermdio entre


as classes <<boundary>> e as demais classes do sistema. Os objetos <<control>>
so responsveis por interpretar os eventos ocorridos sobre os objetos
<<boundary>>, como o movimento do mouse ou pressionamento de um boto, e
transmiti-los aos objetos das classes de identidade que compem o sistema.

Figura 16 Classes <<boundary>> e <<control>>

Esteretipos para Projetos Navegacionais

Existem diversos outros tipos de esteretipos com as mais diversas funes,


sendo possvel utilizar alguns deles para representar o projeto navegacional de um
site.

Figura 17 Projeto Navegacional utilizando esteretipos


Esteretipo <<enumeration>>

H vrios outros esteretipos que podem ser aplicados a uma classe, como
por exemplo o esteretipo <<enumeration>>. Uma enumerao um tipo de dado
cujo os valores so enumerados no modelo como literais de enumerao.
Basicamente essa classe lista todos os valores vlidos que um tipo dados pode
assumir, sendo utilizada principalmente em metamodelos e, embora no costume
possuir associaes, geralmente posta prxima das classes que utilizam o tipo de
dados cujos literais so por ela enumerados.

Você também pode gostar