Como identificar classes na análise orientada a objetos

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.

Leave a Reply