OOAD - UML Basic Notations
UML define notações específicas para cada um dos blocos de construção.
Classe
Uma classe é representada por um retângulo com três seções -
- a seção superior contendo o nome da classe
- a seção intermediária contendo atributos de classe
- a seção inferior que representa as operações da classe
A visibilidade dos atributos e operações pode ser representada das seguintes maneiras -
Public- Um membro público é visível de qualquer lugar do sistema. No diagrama de classes, é prefixado pelo símbolo '+'.
Private- Um membro particular é visível apenas de dentro da classe. Não pode ser acessado de fora da classe. Um membro privado é prefixado pelo símbolo '-'.
Protected- Um membro protegido é visível de dentro da classe e das subclasses herdadas dessa classe, mas não de fora. É prefixado pelo símbolo '#'.
Uma classe abstrata tem o nome da classe escrito em itálico.
Example- Vamos considerar a classe Circle apresentada anteriormente. Os atributos de Círculo são coord x, coord y e raio. As operações são findArea (), findCircumference () e scale (). Vamos supor que x-coord ey-coord são membros de dados privados, radius é um membro de dados protegido e as funções de membro são públicas. A figura a seguir fornece a representação esquemática da classe.
Objeto
Um objeto é representado como um retângulo com duas seções -
A seção superior contém o nome do objeto com o nome da classe ou pacote do qual é uma instância. O nome assume as seguintes formas -
object-name - nome da classe
object-name - class-name :: package-name
class-name - no caso de objetos anônimos
A seção inferior representa os valores dos atributos. Ele assume o formato nome-do-atributo = valor.
Às vezes, os objetos são representados por retângulos arredondados.
Example- Consideremos um objeto da classe Circle denominado c1. Assumimos que o centro de c1 está em (2, 3) e o raio de c1 é 5. A figura a seguir mostra o objeto.
Componente
Um componente é uma parte física e substituível do sistema que está em conformidade e fornece a realização de um conjunto de interfaces. Ele representa o empacotamento físico de elementos como classes e interfaces.
Notation - Em diagramas UML, um componente é representado por um retângulo com guias, conforme mostrado na figura abaixo.
Interface
Interface é uma coleção de métodos de uma classe ou componente. Ele especifica o conjunto de serviços que podem ser fornecidos pela classe ou componente.
Notation- Geralmente, uma interface é desenhada como um círculo junto com seu nome. Uma interface quase sempre está anexada à classe ou componente que a realiza. A figura a seguir fornece a notação de uma interface.
Pacote
Um pacote é um grupo organizado de elementos. Um pacote pode conter coisas estruturais como classes, componentes e outros pacotes.
Notation- Graficamente, um pacote é representado por uma pasta com guias. Um pacote geralmente é desenhado apenas com seu nome. No entanto, pode haver detalhes adicionais sobre o conteúdo da embalagem. Veja as figuras a seguir.
Relação
As notações para os diferentes tipos de relacionamentos são as seguintes -
Normalmente, os elementos de um relacionamento desempenham papéis específicos no relacionamento. Um nome de função significa o comportamento de um elemento que participa de um determinado contexto.
Example- As figuras a seguir mostram exemplos de diferentes relacionamentos entre classes. A primeira figura mostra uma associação entre duas classes, Departamento e Funcionário, em que um departamento pode ter vários funcionários trabalhando nele. Worker é o nome da função. O '1' ao lado do Departamento e '*' ao lado do Funcionário mostram que a proporção de cardinalidade é de um para muitos. A segunda figura retrata a relação de agregação, uma Universidade é o “todo” de muitos departamentos.