Documente Academic
Documente Profesional
Documente Cultură
GENERALIZAÇÃO ESPECIALIZAÇÃO
Diagrama de Classes
Herança (cont.)
• Esse tipo de relacionamento permite também demonstrar a ocorrência de
métodos polimórficos nas classes especializadas do sistema, o chamado
Polimorfismo.
• No polimorfismo, métodos podem ser redeclarados em uma classe
especializada, possuindo o mesmo nome, mas comportando-se de forma
diferente, não sendo necessário modificar o código-fonte do sistema com
relação as chamadas de métodos das classes especializadas, porque o nome
do método não mudou, apenas foi redeclarado em uma classe especializada e
só se comporta de maneira diferente quando for chamado por objetos dessa
classe.
Diagrama de Classes
Ex:
Diagrama de Classes
RELACIONAMENTO ENTRE AS CLASSES
Herança Múltipla
• Quando uma classe possui mais de uma superclasse caracteriza-se uma
herança múltipla.
Diagrama de Classes
RELACIONAMENTO ENTRE AS CLASSES
Dependência
• Esse relacionamento, como o próprio nome já diz, indica um certo grau de
dependência de uma classe em relação a outra, isto é, sempre que ocorrer
uma mudança na classe na qual uma outra classe depende, esta deverá
também sofrer uma mudança.
Diagrama de Classes
RELACIONAMENTO ENTRE AS CLASSES
Realização
• O relacionamento de realização entre classes une características dos
relacionamentos de generalização e dependência, sendo usado no diagrama
de classes para identificar classes responsáveis por executar funções para
classes que representam interfaces. Esse tipo de relacionamento herda o
comportamento de uma classe, mas não sua estrutura.
Diagrama de Classes
CLASSE ASSOCIATIVA
• São classes que estão ligas a associações, em vez de estarem ligadas a outras
classes. Esse tipo de classe normalmente aparece quando duas ou mais
classes estão associadas, e é necessário manter informações sobre a
associação. Embora seja mais comum encontrar classes associativas ligadas a
associações de conectividades muitos para muitos, uma classe associativa
pode estar ligada a associações de qualquer tipo de conectividade.
Diagrama de Classes
CLASSE ASSOCIATIVA (cont.)
• Podem perfeitamente ser substituídas por classes normais, chamadas de
classes intermediárias, mas que desempenham a mesma função das classes
associativas
Diagrama de Classes
RESTRIÇÃO
• Podem ser associadas sobre uma associação para condicionar a forma pela
qual a associação dever ser implementada.
Diagrama de Classes
RESTRIÇÃO (cont.)
• As restrições podem ser aplicada também para validar um atributo ou método
de uma classe específica, por meio do uso de notas.
Diagrama de Classes
ESTEREÓTIPOS
• Costuma-se categorizar os objetos de um sistema de acordo com o tipo de
responsabilidade a ele atribuído, com o uso dos estereótipos.
• Esses estereótipos são uma maneira de destacar determinados componentes
do diagrama, tornando explicito que esses componentes executam alguma
função um pouco diferente dos outros componentes apresentados no
diagrama.
• A linguagem UML permite a criação de estereótipos particulares por parte de
quem for utilizar, porém possuem três estereótipos predefinidos, utilizados
nos diagramas de classes, que são os objetos de entidade, <<entity>>, objetos
de fronteira, <<boundary>>, e os objetos de controle. <<control>>.
Diagrama de Classes
ESTEREÓTIPOS
Estereótipos Ícone
<<boundary>>
<<control>>
<<entity>>
Diagrama de Classes
ESTEREÓTIPOS <<entity>>
• Tem por objetivo deixar explicito que uma classe é uma entidade, ou seja, o
objeto contém informações recebidas ou geradas por meio do sistema. São
classes que normalmente possuirão muitos objetos e que estes possivelmente
terão um período de vida longo, isto é existe a possibilidade de que os objetos
destas classes precisem ser preservados.
• Esses objetos representam conceitos do domínio de negócios. Normalmente
esses objetos armazenam informações persistentes do sistema.
• Uma outra característica desse tipo de objeto é que os atores do sistema não
te acesso direto a esses objetos. Objetos de entidade se comunicam com o
exterior do sistema por meio de outros objetos.
Diagrama de Classes
ESTEREÓTIPOS <<boundary>>
• Também conhecido como estereótipo da fronteira, e identifica uma classe que
serve de comunicação entre atores externos e o sistema propriamente dito.
Um objeto de fronteira existe para que o sistema possa se comunicar com o
mundo exterior.
• Classes de fronteira realizam a comunicação direta do sistema com atores,
sejam eles de outros subsistemas, equipamentos ou seres humanos.
• Uma classe do tipo fronteira muitas vezes necessita interagir com outra classe
do tipo controle.
Diagrama de Classes
ESTEREÓTIPOS <<control>>
• Também chamado de controlador e serve como uma ponte de comunicação
entre objetos de fronteira e objetos de entidade. São eles os responsáveis por
controlar a lógica de execução correspondente a um caso de uso.
• Os objetos controladores são responsáveis por interpretar os eventos
ocorridos sobre os objetos de fronteira, como o movimento do mouse, ou o
pressionamento de um botão e retransmiti-los para os objetos de entidade
que compõem o sistema.
DIAGRAMA DE OBJETOS
Diagrama de Objetos
• Fornece uma visão dos valores armazenados pelos objetos das classes
definidas no diagrama de classes, em um determinado momento da execução
do processo.
• Objetos são representados por retângulos semelhantes às classes e não
possuem métodos, somente atributos.
• O nome do objeto pode se apresentar de três formas:
─ Escrito com letras minúsculas seguidas de dois pontos e o nome da classe a que
pertence.
─ Somente os dois pontos e o nome da classe.
─ Somente o nome do objeto, sem os dois pontos
• OBS: no diagrama de objetos o nome de ser sublinhado.
Diagrama de Objetos
• O nome do objeto pode se apresentar de três formas:
─ Escrito com letras minúsculas seguidas de dois pontos e o nome da classe a que
pertence.
─ Somente os dois pontos e o nome da classe.
─ Somente o nome do objeto, sem os dois pontos
• OBS: no diagrama de objetos o nome de ser sublinhado.
Diagrama de Objetos
• O diagrama de objetos modela as instâncias das classes contidas no diagrama
de classes, isto é, o diagrama de objetos mostra um conjunto de objetos e
seus relacionamentos no tempo. Estes diagramas são importantes para
construir os aspectos estáticos do sistema. Normalmente, são compostos
por: objetos e vínculos.
O exemplo acima mostra um diagrama de
objetos para o cliente Michael Richardson e
seus dois pedidos na Virtual LTDA. O
diagrama pode ser lido da seguinte
maneira: O objeto R. Michael Richardson da
classe Cliente está associado a ambos os
objetos 123456 e 123700 da classe Pedido.
Usa-se o diagrama de objetos para modelar
a visão estática de um sistema. Ele mostra o
retrato do sistema em determinado
momento.
DIAGRAMA DE PACOTES
PACOTES E CLASSES
• Uma analogia para entender como funcionam os pacotes, é entender o que
fazem os empacotadores de supermercado. Todos os produtos que são
similares vão para o mesmo pacote com o objetivo de organizar e facilitar o
transporte dos produtos.
• Todas as classes que possuem características em comum podem ser incluídas
em um mesmo pacote, tornando a manutenção e até mesmo a
implementação menos complexas.
PACOTES E CLASSES
• Em muitos casos um único diagrama de classes pode ser exageradamente
grande para representar todo o sistema. Assim é conveniente utilizar um
elemento para organizar os modelos. Para isto utiliza-se o diagrama de
pacotes. Um diagrama de pacotes pode ser utilizado em qualquer fase do
processo de modelagem.
• Um diagrama de pacotes é composto de pacotes e relacionamentos entre
pacotes. O critério para definir os pacotes é subjetivo e depende da visão e
das necessidades do projetista. Este deve definir uma certa semântica e
colocar os elementos similares e que tendem a serem modificados em
conjunto num mesmo pacote.
PACOTES E CLASSES
Como se vê na figura abaixo, pode-se usar os pacotes
para mostrar a arquitetura do sistema.
Referências Bibliográficas
• UNIVERSIDADE FEDERAL DE MINAS GERAIS. Glossário UML. Disponível em:
<https://homepages.dcc.ufmg.br/~amendes/GlossarioUML/>. Acessado em:
29 de out. 2018.
• BERTA, Caroline; ALMEIDA; Érika. Guia Prático de UML. Santarém: [s.e], 2006.
• LAROZA, Jonnas Piccin; SEABRA, Rodrigo Duarte. REA-UML: Recurso
Educacional Aberto para Ensino da UML. Disponível em:
<http://sgvclin.altervista.org/rea-uml/>. Acessado em 31 de out. 2018.