Introdução
- Ao completar os diagramas de interação, pode-se completar o diagrama de classes.
- Na realidade, o diagrama de classes é criado em paralelo com os diagramas de interação.
- No final, falta incluir alguns detalhes finais.
Exemplo de um Diagrama de Classes
Diagrama de classes na fase de projeto
- Deve especificar as classes de software e as interfaces da aplicação
- Não somente das entidades conceituais.
- Informação tipicamente incluída:
- Classes, associações e atributos
- Interfaces, incluindo métodos e constantes
- Métodos
- Informação de tipo de atributos
- Navegabilidade
- Dependências
Como construir um diagrama de classes
- Identificar todas as classes que participam da solução em software.
- Isso é feito pela análise dos diagramas de interação
- Inclui-las num diagrama de classes.
- Duplicar os atributos, a partir das entidades associadas no modelo conceitual.
- Adicionar nomes de métodos descobertos nos diagramas de interação.
- Adicionar informação de tipo aos atributos e métodos.
- Adicionar as associações necessárias para a visibilidade de atributos.
- Adicionar setas às associações para indicar a diração da visibilidade de atributos.
- Adicionar linhas de relações de dependência para indicar a visibilidade que não seja de atributo.
Modelo conceitual versus diagrama de classes da fase de projeto
- Para ambos, UML usa o diagrama de classes.
- No modelo conceitual, uma entidade não representa uma classe de software mas um conceito do domínio do problema.
- No diagrama de classes da fase de projeto, as classes são de software.
Criação dos diagramas de classe do estudo de caso
Identificar as classes de software
- Verificar todos os diagramas de interação para identificar classes.
- Adicioná-las ao diagrama de classes, junto com os atributos.
- Não precisa incluir classes que não participam da iteração atual.
Adicionar nomes de métodos
- Analisar os diagramas de interação para descobrir os métodos de cada classe.
- Alguns detalhes sobre métodos.
- O método create() de UML não aparece em muitas linguagens, pois é uma chamada a um construtor.
- Muitas vezes, não se incluem os métodos acessores (getAtributo() e setAtributo()).
- Se classes de bibliotecas (ex. Vector em Java) são mostrados no diagrama, não se precisa mencionar seus métodos.
- Pode-se usar a sintaxe da linguagem de programação final, se desejado.
- Diagrama até agora:
Adição de informação de tipo
- Este passo é opcional
- Se o diagrama de classes está sendo criado numa ferramenta CASE (ex. Rational Rose), e a ferramenta será usada para gerar código, todos os detalhes de tipos devem ser dados.
- Se o diagrama for preparado apenas para leitura por desenvolvedores, o nível de detalhamento pode ser menor.
- O seguinte diagrama contém toda a informação de tipo.
Adicionar Associações e Navegabilidade
- A navegabilidade implica visibilidade da fonte para o destino.
- Normalmente navegabilidade de atributo, incluída na implementação.
- As associações devem ser apenas aquelas necessárias para a visibilidade de objetos.
- Isso é diferente das associações no modelo conceitual, as quais podem ser incluídas para melhorar o entendimento.
- Os diagramas de interação são usados para descobrir a visibilidade, associações e navegabilidade.
- Situações comuns que levam a associações:
- A envia uma mensagem a B.
- A cria uma instância de B.
- A deve manter conhecimento de B.
- Exemplo:
- Diagrama de classes até agora:
Adição de relações de dependência
- Quando uma classe conhece outra (tem visibilidade), mas a visibilidade não é de atributo, usa-se uma linha tracejada.
- Exemplo: TPDV recebe um objeto da classe EspecificaçãoDeProduto como retorno do método especificação da classe TPDV.
- Diagrama de classes com dependências:
Incluindo detalhes de membros de classes
- UML possui sintaxe para especificar:
- Visibilidade.
- Valores iniciais.
- etc.
- Exemplo:
Nenhum comentário:
Postar um comentário