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.