segunda-feira, outubro 22, 2007

Diagrama de Classes


1.0 - Introdução

Na modelagem de sistemas orientados a objetos, são os diagramas encontrados com maior freqüência e mostra um conjunto de classes, interfaces e colaborações e seus relacionamentos.

Os diagramas de classes costumam conter os seguintes itens: Classes, Interfaces, Colaborações, Relacionamentos de dependências, Generalizações e Associação e também pode conter Pacotes ou Subsistemas utilizados para agrupar elementos do seu novo modelo em um conjunto maior.
Basicamente, os diagramas de classes são utilizados para fazer a modelagem da visão estática de um sistema, ou seja, oferecer suporte para os requisitos funcionais do sistema, os serviços que este fornecer aos usuários finais.

Ao se fazer a modelagem estática de um sistema o diagrama de classes será usado de três formas: para fazer a modelagem do vocabulário de um sistema; para fazer a modelagem de colaborações simples e para fazer a modelagem do esquema lógico de um banco de dados.

Na modelagem do vocabulário do sistema, o diagrama de classes visa definir os limites do sistema, o que envolve uma decisão a respeito de quais abstrações fazem parte do sistema e quais estão fora do limite representando essas abstrações e suas responsabilidades.

Uma colaboração é um conjunto de classes, interfaces e outros elementos que funcionam em conjunto proporcionando algum comportamento cooperativo, maior que a soma de todos os elementos e podem ser representados pelo diagrama de classes.

Os diagramas de classes também podem ser usados para fazer a modelagem de esquemas para banco de dados relacionais ou orientado a objetos onde se deseja armazenar informações persistentes, ou seja, que podem ser armazenadas para serem recuperadas posteriormente.

Enquanto os diagramas de Entidade-Relacionamentos clássicos têm seu foco apenas nos dados já os diagramas de classes vão um pouco além permitindo ainda a modelagem de comportamentos.

2.0 - Perspectivas:

Um diagrama de classes pode oferecer três perspectivas, cada uma para um tipo de observador diferente. São elas:



  1. Conceitual (exemplo)
    Representa os conceitos do domínio em estudo.
    Perspectiva destinada ao cliente.

  2. Especificação (exemplo)
    Tem foco nas principais interfaces da arquitetura, nos principais métodos, e não como eles irão ser implementados.
    Perspectiva destinada as pessoas que não precisam saber detalhes de desenvolvimento, tais como gerentes de projeto.

  3. Implementação - a mais utilizada de todas (exemplo)
    Aborda vários detalhes de implementação, tais como navegabilidade, tipo dos atributos, etc.
    Perspectiva destinada ao time de desenvolvimento.

Nenhum comentário: