UML para desenvolver sistemas?

Independente do porte de uma solução, todo projeto de software é caracterizado por um estágio inicial, sendo este momento uma fase de análise em que se procura estudar de que forma o mesmo será conduzido. A ênfase que é dada a este tipo de atividade depende, basicamente, não apenas do tamanho do sistema a ser construído, como também da forma como a equipe envolvida encontra-se estruturada e do conhecimento desta última acerca de padrões e metodologias próprios da área de software.

As pressões do cotidiano (sobretudo prazos muito curtos e a impaciência das áreas que requisitaram uma solução) acabam, por vezes, relegando este trabalho de análise a um segundo plano. Tudo isto resulta em uma série de armadilhas, as quais podem culminar em projetos que levaram mais tempo para serem executados ou, mesmo, que estouraram o orçamento previsto para a realização das atividades.

Embora representem aspectos extremamente indesejáveis, tais problemas são parte do contexto com que se deparam muitos profissionais de Tecnologia da Informação no dia-a-dia. Diversos estudos já foram publicados e fornecem numerosas explicações para o cancelamento de projetos. Essas pesquisas são unânimes em afirmar, através da observação de organizações dos mais variados tipos, que a falta de uma melhor análise do que realmente necessita ser feito representa um dos principais motivos de tais fracassos.

A linguagem UML procura fornecer meios para auxiliar no levantamento dos requisitos que irão constituir um sistema, além de recursos para a modelagem de estruturas que farão parte do mesmo. O fato da UML ser um padrão de grande aceitação no mercado também se deve, em grande parte, à forte integração desta com conceitos da Orientação a Objetos (OO). Como muitos sistemas são concebidos a partir da aplicação de práticas e técnicas de OO, a elaboração de documentos modelando os componentes esperados é feita atualmente a partir de diagramas UML.

O objetivo deste artigo é apresentar um resumo dos diferentes diagramas disponibilizados pela UML, abordando ainda de que forma estes recursos podem ser úteis em sistemas baseados em elementos da Orientação a Objetos.

A linguagem UML
Figura 1: A linguagem UML

A UML na modelagem de sistemas

O que é UML?

UML (sigla em inglês para "Unified Modeling Language" ...