Artigo no estilo: Curso
Por que eu devo ler este artigo:Independentemente da área de atuação no desenvolvimento de software, o diagrama de classes possui muitas informações que podem estar ocultas sob seus elementos para pessoas que não estão treinadas em observá-las. E o problema principal é que muitas vezes essas informações podem passar despercebidas não só por desenvolvedores, mas também por analistas de negócio, que são os responsáveis pela construção desses diagramas e não sabem trabalhar mais profundamente sobre eles. Vale ressaltar que é muito importante a correta interpretação deste para gerar classes e atributos corretos e, principalmente, para a utilização dos construtores das classes na construção das regras de negócio de um software a partir das obrigatoriedades existentes nas associações entre as classes. Com base nisso, este artigo visa explorar a interpretação desses aspectos com um exemplo prático de um sistema de compras de bilhetes aéreos, cujo projeto Java será gerado a partir de um diagrama de classes.

Na primeira parte deste artigo foram apresentados os conceitos relacionados à interpretação de um diagrama de classes UML. Foi visto que uma associação entre classes contém quatro características básicas: Navegabilidade, que define a direção de uma associação, podendo ser unidirecional ou bidirecional; Multiplicidade, que indica quantos objetos de uma classe destino estão presentes em uma classe origem; Conectividade, que é a união dos dois sentidos da Navegabilidade, formando a representação da leitura da associação, que pode ser do tipo OneToOne, OneToMany, ManyToOne e ManyToMany; e Obrigatoriedade, que indica a necessidade básica de uma classe para ser instanciada como, por exemplo, para criar uma instância de uma Casa é necessário que exista um Terreno. Além dos aspectos básicos de uma associação, foram apresentados conceitos sobre as camadas Model, Business, View e DAO, que ajudam a organizar a arquitetura de um software.

Com base nisso, nesta segunda parte do artigo iremos realizar a codificação do diagrama de classes apresentado no próximo tópico. Deste modo, serão assimilados os conceitos abordados na parte um com a implementação de cada classe projetada no diagrama. Antes, porém, vale ressaltar que o mesmo possui várias situações que certamente serão encontradas em outros diagramas, o ajudando a se preparar para os desafios enfrentados diariamente na carreira de um desenvolvedor profissional.

O diagrama de classes do sistema de bilhetes aéreos

Além do texto de requisitos do sistema de Bilhetes Aéreos, a título de melhor visualização dos requisitos, o analista de sistema do projeto deixou um diagrama de classes UML para ser codificado na linguagem Java, conforme a Figura 1. Esse diagrama contém 14 classes e três enums, que serão explicitados com mais detalhes durante a parte prática deste artigo. Antes disso, é interessante que você o observe e tente imaginar como seria a codificação das classes, enums e suas associações. Além disso, também é interessante que você tente antecipar problemas que podem aparecer durante a codificação. Isto certamente lhe ajudará a entender melhor o conteúdo apresentado nos próximos tópicos.

Diagrama de classes representando o sistema de bilhetes aéreos

Figura 1. Diagrama de classes representando o sistema de bilhetes aéreos.

Codificação da camada Model

Além da qualidade em um projeto de software, é válido destacar que a codificação de um diagrama de classes é uma tarefa que exige uma atenção muito grande. Nesta etapa é interessante lembrar de um ditado bastante conhecido na área da computação: Dividir para Conquistar. Esse “lema” sinaliza que quando existe um grande problema, por exemplo, codificar o diagrama de classes desse projeto, a melhor forma de resolvê-lo é através da sua divisão por partes. Sendo assim, vamos dividir o nosso diagrama de classes para tornar mais fácil a sua codificação.

Codificação da classe Endereco

A primeira atividade a ser realizada sobre um diagrama de classes UML é a busca por classes que sejam somente de destino, ou sej ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora