UML pode ser usado tanto ou tão pouco quanto você quiser. Martin Fowler descreve três maneiras comuns pelas quais as pessoas tendem a usar a UML:
- UML como esboço — Use UML para fazer esboços breves para transmitir pontos-chave. Estes são esboços descartáveis que podem ser escritos em um quadro branco ou até mesmo em um porta-copos de cerveja em uma crise. Nos estágios iniciais de desenvolvimento, usar UML como esboço é altamente eficaz e pode ser usado como uma ferramenta colaborativa onde os desenvolvedores podem fazer um brainstorming sobre o design do sistema.
- UML como um projeto — Forneça uma especificação detalhada de um sistema com diagramas UML. Esses diagramas não seriam descartáveis, mas seriam gerados com uma ferramenta UML. A UML pode ser usada como um modelo e os desenvolvedores podem segui-la para produzir código. Usar esboços simples não seria suficiente para eles, porque exigiria que eles preenchessem os espaços em branco. Essa abordagem geralmente está associada a sistemas de software e geralmente envolve o uso de engenharia direta e reversa para manter o modelo sincronizado com o código.
- UML como linguagem de programação — Isso vai diretamente de um modelo UML para código executável (não apenas partes do código como na engenharia avançada), o que significa que todos os aspectos do sistema são modelados. Teoricamente, você pode manter seu modelo indefinidamente e usar transformações e geração de código para implantar em diferentes ambientes. Fowler acredita que a produtividade da UML como linguagem de programação hoje não é melhor do que a produtividade do uso de qualquer outra linguagem, portanto, será difícil para a UML se popularizar. Ele também acredita que projetos altamente detalhados não são eficazes porque são difíceis de fazer e retardariam o desenvolvimento.
Resumo
A abordagem usada depende do tipo de aplicativo que você está construindo, com que rigor o projeto será revisado, se você está desenvolvendo um sistema de software e, se for software, o processo de desenvolvimento de software que você está usando.
Em certas indústrias, como médica e de defesa, os projetos de software tendem a se inclinar para a UML como um modelo porque é exigido um alto nível de qualidade. O design do software é fortemente revisado, pois pode ser de missão crítica: você não quer que sua máquina de monitoramento cardíaco exiba de repente a “tela azul da morte”.
Alguns projetos podem sair com menos modelagem. Na verdade, algumas indústrias comerciais acham que modelagem demais é incômoda e diminui a produtividade. Para esses projetos, faz sentido usar UML como um esboço e fazer com que seu modelo contenha alguns diagramas de arquitetura e alguns diagramas de classe e sequência para ilustrar os pontos-chave.
Referências UML recomendadas