A linguagem de modelagem UML (Unified Modeling Language) é uma das linguagens de modelagem de software mais utilizadas no mundo. Como um dos seus diferenciais, oferece um conjunto de diagramas padronizados para modelar as mais variadas características dos sistemas de informação, como o diagrama de casos de uso, diagrama de classes, diagrama de sequência, entre outros.
Através do diagrama de casos de uso é possível modelar as funcionalidades que o sistema fornecerá ao usuário; com o diagrama de classes, pode-se definir as entidades e seus relacionamentos; e através do diagrama de sequência, conseguimos informar a ordem em que os objetos se comunicam para realizar as operações descritas nos casos de uso.
Pelo fato da linguagem Java ser orientada a objetos, a conversão dos diagramas da UML para código-fonte é simples e direta. Além disso, essa linguagem apresenta uma sintaxe simplificada quando comparada com outras opções, o que facilita o processo de desenvolvimento de software.
Dito isso, com o intuito de ilustrar o processo de codificação a partir de diagramas UML, uma aplicação básica de controle de estoque será desenvolvida de forma que o código-fonte seja organizado em camadas, solução adotada para a construção da maioria dos sistemas hoje em dia. Lembre-se que uma abordagem simplificada para organizar o código-fonte de um programa é dividir a aplicação em três níveis: camada de apresentação, camada de negócios e camada de dados.
Como ocorre normalmente em qualquer projeto de software, o ciclo de desenvolvimento envolve quatro grandes etapas: análise, projeto, implementação e testes. Tidas como fundamentais, pular uma dessas etapas pode acarretar imprecisões, retrabalho e prejudicar diretamente a qualidade do produto.
É durante a análise que o analista investiga e descobre como funciona o sistema em questão. É nessa fase que o problema do mundo real é estudado e a solução proposta é descrita através de modelos que sejam capazes de guiar o projeto do software.
A linguagem UML também atua na etapa de projeto do software, momento em que são definidos a arquitetura do sistema, a linguagem de programação utilizada, o banco de dados, a tecnologia de interface gráfica e a adoção de padrões de projeto. Em seguida, na fase de implementação, o projeto de software é interpretado e transformado em código na linguagem escolhida usando os padrões especificados. Por último, ocorre a fase de teste, onde cada funcionalidade do sistema é testada. Saiba que a fase de teste pode ser executada desde o início do projeto, através da criação de casos de testes integrados ao código-fonte, com o auxílio de ferramentas como o JUnit.
Com base no conteúdo exposto, a seguir será apresentado o desenvolvimento de uma aplicação exemplo a partir de alguns diagramas da linguagem UML, artefatos estes que visam especificar características importantes do software durante a fase de análise.
Aplicação exemplo
A aplicação exemplo desse artigo tem o objetivo de realizar o controle de estoque de um supermercado. Com isso em mente, vamos modelar esta solução utilizando dois dos diagramas mais conhecidos da UML, o diagrama de casos de uso e o diagrama de classes. Através deles é possível especificar o que usuário pode fazer no sistema, bem como as entidades do contexto do problema; neste caso, fornecedores, produtos, unidades de medida e pedidos. Porém, para não tornar o artigo muito longo, vamos focar apenas na implementação de algumas funcionalidades: o cadastro de fornecedores, unidades, produtos e pedidos. Espera-se que com o conteúdo o exposto o leitor consiga desenvolver as demais opções.
Casos de Uso
Este diagrama descreve o que o usuário pode fazer. Como exemplo, vejamos, na Figura 1, o primeiro caso de uso da aplicação em desenvolvimento: Cadastro de Fornecedor.
Note que o usuário deve ter acesso a quatro funcionalidades relacionadas à entidade Fornecedor: criação, edição, exclusão e listagem.
A Figura 2 apresenta outro caso de uso, de nome Cadastro de Unidade. Nele, de modo semelhante ao exemplo anterior, são descritas as iterações que o usuário do sistema terá com a entidade “unidade”. Assim, deve ser possível criar, editar, excluir e consultar unidades de medida, que serão usadas no cadastro de produtos – como será mostrado mais à frente.
Encerrando a modelagem dos casos de uso, especificamos ainda os diagramas Cadastro de Produto e Cadastro de Pedido (vide Figuras 3 e 4), que, como verificado, seguem a mesma tendência apresentada pelos outros exemplos.
Note que através dos casos de uso já estabelecemos uma divisão para o sistema, de forma que o usuário possa modificar cada parte do sistema separadamente. Com o auxílio destes,
os diagramas subsequentes na análise consideram as informações levant ...