Uma maneira simples e eficaz de descobrir classes é usando uma técnica conhecida comoanálise de substantivo/verbo e verificação gramatical. Isso envolve examinar cuidadosamente documentos de requisitos de alto nível, materiais de marketing e outras fontes que esclarecem o domínio do problema (ou seja, o domínio definido pelo problema que o novo sistema deve resolver).
Veja Usando UML para modelagem orientada a casos de uso para um exemplo de como realizar a verificação gramatical em um conjunto de requisitos textuais.
Muitas pessoas usam prototipagem rápida como uma ferramenta para explorar requisitos com os usuários. Vamos ver como podemos usar uma página HTML protótipo para uma livraria na internet para identificar um pequeno subconjunto das classes necessárias para modelar toda a livraria.
Começamos com uma única página que exibe informações detalhadas sobre um livro específico.
Relembrar rapidamente esta página na sua mente revela as seguintes classes como apropriadas:
- É claro que existe um Livro, pelo menos um Autor.
- Existe um Editora.
- O livro pode ter uma ou mais avaliações. Essas avaliações se dividem em duas categorias: AvaliaçõesEditoriais e AvaliaçõesdeClientes. (Você aprenderá a diferença no Capítulo 2.) Cada avaliação tem um associado Avaliador.
Se avançarmos e imaginarmos um usuário comprando o livro após visualizar a página, outras classes potenciais surgem:
- O visualizador torna-se um Cliente e possui um associado Conta.
- O livro torna-se parte de um Pedido.
- O pedido deve ter InformacoesDeFaturamento e InformacoesDeEntrega para que a livraria possa receber o pagamento e enviar o livro.
Análise adicional revela a necessidade das seguintes duas classes:
- Como mencionado, um livro pode ter vários autores, mas um autor pode escrever mais de um livro. Para evitar uma relação muitos para muitos, precisamos de uma LivroEAutor classe.
A livraria (Livaria) utiliza várias empresas de entrega (Empresas de Entrega), então uma EmpresaDeEntrega classe é necessária.
Assim, o conjunto resultante de substantivos (substantivos) e frases nominais (frases nominais) inclui:
- Conta
- Autor
- InformacoesDeFaturamento
- Livro
- LivroEAutor
- Cliente
- AvaliacaoDoCliente
- AvaliacaoEditorial
- Pedido
- Editora
- Avaliacao
- Avaliador
- EmpresaDeEntrega
- Informações de Envio
Nota:
Este exemplo ilustra um princípio fundamental: encontre o maior número possível de substantivos e frases nominais nos requisitos, depois analise, refine e expanda a lista. Não importa como você faça, identificar classes é uma ótima maneira de iniciar sua jornada de modelagem.
Referência da Linguagem de Modelagem Unificada (UML)
- O que é UML?
- Por que usar modelagem UML?
- Visão geral dos 14 tipos de diagramas UML
- O que é um Diagrama de Classes?
- O que é um Diagrama de Componentes?
- O que é um Diagrama de Implantação?
- O que é um Diagrama de Objetos?
- O que é um Diagrama de Pacotes?
- O que é um Diagrama de Estrutura Composta?
- O que é um Diagrama de Perfil?
- O que é um Diagrama de Casos de Uso?
- O que é um Diagrama de Atividades?
- O que é um Diagrama de Máquina de Estados?
- O que é um Diagrama de Sequência?
- O que é um Diagrama de Comunicação?
- O que é um Diagrama de Visão Geral de Interações?
- O que é um Diagrama de Temporização?
- O que é um Diagrama de Colaboração UML?
- Associação UML vs Agregação vs Composição
- Tutorial de Diagrama de Classes UML