Trabalhando com os diagramas da UML – Parte 2
Esse artigo irá apresentar as principais notações e exemplos práticos de como trabalhar com um diagrama de classes da UML.
O diagrama de classes é um dos diagramas mais utilizados da UML. Ele permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos. Ele visa demonstrar como as classes do diagrama se relacionam e transmitem informações entre si. Ele é composto por suas classes e associações entre elas.
O diagrama de classes é um modelo estático e pode ser organizado em pacotes. Representa termos do domínio do negócio, ideias, coisas e conceitos no mundo real. Descreve o problema representado pelo sistema a ser desenvolvido, sem considerar características da solução a ser utilizada.
Este artigo apresenta os elementos básicos do diagrama de classes e um estudo de caso detalhado. Os exemplos foram criados no Astah Professional com as notações baseadas na UML 2.0.
Elementos básicos do diagrama de classes
Atributos e métodos
As classes costumam ter atributos e métodos. Uma classe é representada como um retângulo com até três divisões, conforme pode ser visto na Figura 1. A primeira divisão contém a descrição da classe, que no exemplo é Automóvel. A segunda divisão armazena os atributos e seus tipos de dados. A terceira divisão contém a lista de métodos, que no exemplo contém o método ConsAutomovel() que permite consultar o automóvel.
Figura 1. Exemplo de Classe
Os símbolos menos (-) e mais (+) na frente dos atributos e métodos representam a visibilidade dos mesmos. A visibilidade é utilizada para indicar o nível de acessibilidade de um determinado atributo ou método, sendo representada à esquerda destes. A Tabela 1 mostra os quatro modos de visibilidade existentes: público, protegido, privado e pacote.
|
Visibilidade privada (-) |
Significa que apenas os objetos da classe poderão enxergá-lo. |
|
Visibilidade protegida (#) |
Significa que, além dos objetos da classe, os métodos de suas subclasses também poderão enxergá-lo. |
|
Visibilidade pública (+) |
Significa que a classe pode ser utilizada por qualquer objeto. |
|
Visibilidade pacote (~) |
Significa que qualquer classe está visível para qualquer objeto dentro do pacote. |
Tabela 1. Exemplos de visibilidade
A classe não precisa conter obrigatoriamente três divisões. Ela pode não conter atributos ou métodos. O nome da classe é obrigatório, e pode acontecer que nem os métodos nem os atributos precisem ser representados no diagrama. A classe apresentada na Figura 1 mostra uma classe sem parâmetros. Eles também não são obrigatórios. Em um diagrama de classes com muitas classes é possível que sejam apresentados apenas o nome dos métodos das classes, sem especificar os parâmetros que eles irão receber.
Associações
As associações são os relacionamentos entre as classes, que permitem que elas compartilhem informações entre si. Uma associação é representada por uma linha sólida conectando duas classes.
Uma associação unária ocorre quando existe um relacionamento de um objeto de uma classe com objetos da mesma classe. A Figura 2 mostra uma classe com o nome Funcionário. A linha intitulada Supervisiona atinge a própria classe. Isso ocorre porque um supervisor pode supervisionar vários funcionários e por sua vez ele também é funcionário da empresa, portanto, constitui uma instância da classe Funcionário.
Figura 2. Exemplo de associação unária
A multiplicidade é representada pelo valor 0..*. Esse exemplo mostra que um funcionário pode ou não supervisionar outros funcionários, mas um funcionário tem um e apenas um funcionário como supervisor imediato. A "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast