Os diagramas de classe são as cópias do sistema ou subsistema. Você pode utilizar os diagramas de classe para modelar os objetos que compõem o sistema, para exibir os relacionamentos entre os objetos e para descrever o que esses objetos fazem e os serviços que eles fornecem.
Os diagramas de classe são úteis em muitos estágios do design do sistema. No estágio de análise, um diagrama de classe pode ajudá-lo a compreender os requisitos do domínio do problema e a identificar seus componentes. Em um projeto de software orientado a objetos, os diagramas de classe criados durante os estágios iniciais do projeto contêm classes que normalmente são convertidas em classes e objetos de software reais quando você grava o código. Posteriormente, é possível refinar a análise e os modelos conceituais anteriores em diagramas de classe que mostrem as partes específicas do sistema, interfaces com o usuário, implementações lógicas e assim por diante. Os diagramas de classe tornam-se, então, uma captura instantânea que descreve exatamente como o sistema funciona, os relacionamentos entre os componentes do sistema em vários níveis e como planeja implementar esses componentes.
Você pode utilizar diagramas de classe para visualizar, especificar e documentar recursos estruturais nos modelos. Por exemplo, durante as fases de análise e design do ciclo de desenvolvimento, é possível criar diagramas de classe para executar as seguintes funções:
Durante a fase de execução de um ciclo de desenvolvimento de software, é possível utilizar diagramas de classe para converter os modelos em código e converter o código em modelos.
A figura a seguir é um exemplo de um diagrama de classes simples. Esse diagrama mostra como uma classe que representa um carrinho de compras se relaciona com classes que representam clientes, ordens de compra e itens para venda.
Os seguintes tópicos descrevem elementos de modelos nos diagramas de classes: