Seções iMasters
UML

Diagrama de Classes (Conceitos avançados)

Olá leitores, como vão? Espero que
bem.

Gostaria de pedir desculpas pelo tempo sem conversar
com vocês. O objetivo do artigo desta semana é apresentar
alguns conceitos avançados para a elaboração
do diagrama de classes.

Os conceitos apresentados no artigo sobre Diagrama
de Classes são os primeiros com os quais você deve
familiarizar-se e compreender. Para quem não tem os conceitos
definidos, vale a pena ler o artigo.

Estereótipo: Mecanismo
de extensão de UML. Quando você precisa modelar algo
que não existe em UML, mas sabe que existe algo semelhante.
Exemplo: A interface de UML é uma classe que tem somente
operações públicas sem métodos nem
atributos, isto é, um tipo especial de classe definido
como estereótipo. A notação de estereótipo
é um texto em << >> (por
exemplo, << interface >>)
, existem alguns softwares
que mostram como ícones.

Classificação Múltipla
e Dinâmica:
Quando falamos em classificação
devemos pensar em relacionamento entre um objeto e o seu tipo.
Antes de falar de classificação múltipla,
preciso apresentar o conceito de classificação única.

Classificação
única:
um objeto pertence a um único tipo,
que pode herdar de supertipos.

Classificação
múltipla:
um objeto pode ser descrito por vários
tipos e que não precisam estar conectados por herança.

Vejam a figura abaixo:

Temos uma “Pessoa” subtipada em Homem,
Mulher, Analista, Programador ou Arquiteto. A classificação
múltipla permite que um objeto tenha quaisquer destes tipos
designados a ele com qualquer combinação permitida.
Importante destacar que eu utilizei um discriminador para rotular
a generalização. Desse modo eu deixo claro quais
são as combinações permitidas.

Classificação
dinâmica
: permite que objetos mudem de tipos dentro
de uma estrutura de subtipagem. Um bom exemplo de classificação
dinâmica é o emprego de uma pessoa. O emprego pode
mudar ao longo da carreira (Gerente, Diretor, etc.).

Vale a pena dizer que a utilização
deste tipo de classificação é recomendada
para a modelagem conceitual. É uma forma bem interessante
de validar o entendimento do negócio com o cliente.

Os conceitos de agregação e composição
já foram apresentados no artigo sobre Diagrama de Classes.
Existem outros conceitos avançados (Diagrama de objetos,
Associações e Atributos Derivados, entre outros)
sobre a técnica de diagrama de classes, neste artigo destaquei
os conceitos que vejo em projetos do dia a dia. Quem quiser ou
tiver necessidade de aprofundar no assunto, aconselho busca literatura
apropriada.

Espero ter contribuído com o aprendizado
de vocês. Na próxima semana vou falar sobre “Modelagem
UML para WEB”. Tenho recebido muitos e-mails solicitando
o tema. Aproveito o artigo para divulgar que em breve vamos ter
uma FAQ sobre UML. Boa semana a todos.

Comente também

2 Comentários

Iara Brito da Silva Alves

Boa tarde João Carlos,
Estou com uma funcionalidade que gerou somente um caso de uso, e tenho que desenvolver diagramas de Classe, Atividade, Sequência e Realização de Caso de Uso.
Como devo proceder?

Bom dia
Estou curioso em criar um projecto onde gostaria de explorar sobre diagramas de casos de uso, classes, objectos, sequencia de eventos, estados, componentes, colaboração e actividades. Utilizando a plataforma .net e linguagens asp .net e vb .net. Adorei bastante do artigo

Qual a sua opinião?