UML: mudanças à vista

images A UML-Unified Modeling Language pode ser considerada veterana, já está no ar há mais de 12 anos. Utilizada, aprovada, reprovada, criticada, seu uso foi crescendo ao longo do tempo. No inicio sem o apoio de ferramentas e contando com a resistência a mudanças (mudança custa caro) natural dos projetistas, que tinham à disposição nada menos que 26 métodos orientados a objetos, com notação e conceitos (em parte) próprios. Novidades demoram para cair no gosto da comunidade usuária, o ciclo é de aproximadamente 20 anos a partir do lançamento inicial até que os conceitos e ferramentas estejam em pleno uso e aceitos na comunidade. Foi assim com o modelo relacional de bancos de dados, e com a UML não está sendo diferente.

Passado esse tempo inicial, ferramentas existem aos montes, a grande maioria com qualidade que permite a utilização em projetos grandes, facilitando o uso e a disseminação. Já existe concordância de que ela não é tão ruim quanto parecia no inicio, quando era criticada por todo mundo. É, sem dúvida alguma, uma ferramenta muito útil para representar visões de sistemas em níveis de abstração acima do código, que seria a última etapa do processo. A versão inicial, denominada UML 1.0, já evoluiu muito e hoje já estamos na versão UML2.2, que tem muitas melhorias em relação à primeira versão.  Hoje a UML já tem até sitio próprio dentro do OMG – Object Management Group, vejam aqui.

Em 2009, a OMG lançou um RIF – Request on Information, uma chamada internacional  sobre o desenvolvimento futuro da UML. O resultado parcial mostrou que usuários, divulgadores e vendedores de UML querem que ela seja menos pesada, mais fácil de usar, mais fácil de integrar com outras ferramentas e linguagens de programação, e que permita maior aderência ao desenvolvimento da tecnologia. Por exemplo, facilidades para modelar sistemas móveis que estão no topo atualmente, modelagem de sistemas distribuidos, aplicações de cloud computing, arquiteturas orientadas a serviço, jogos, etc. Um dado interessante sobre a UML é que, por ser tão grande e tão complexa, um projeto típico utiliza apenas 20% dos recursos para modelar 80% do projeto em questão (olhem a lei do 80-20 ai de novo, Lei de Pareto). De minha parte, utilizo em sala de aula e nos projetos apenas casos de uso, atividades, classe (incluindo persistência) e sequência, em seus diversos níveis de abstração (análise, projeto e implementação).  Vez por outra, dependendo do projeto, é possivel mostrar um bom exemplo do diagrama de deployment (que é indispensável para algumas aplicações).

100512uml_f2 Enfim, mas o que é que vem por ai de tão importante? O conceito do projeto da UML muda muito. O foco agora é definir um kernel, ou núcleo central, parecido com  o mesmo conceito já existente em sistemas Linux. Esse kernel vai conter o fundamental da UML, que será adaptado a cada necessidade via um mecanismo de extensão poderoso, que vai permitir a adaptação simples e direta da UML a cada necessidade especifica, o que hoje é feito com estereótipos, tags e Profiles (perfil). Vejam a figura ao lado, extraida do artigo base do Jacobson citado abaixo. O kernel vai ser pequeno, e vai conter apenas elementos e atributos genéricos que satisfaçam a maior parte das necessidades dos projetos. O que a aplicação exigir de recursos além do kernel para seu desenvolvimento, será adicionado na medida do necessário na própria aplicação, como uma extensão. Vejam que o caso de uso da figura, Developing from requirements to test, é completamente genérico, e pode ser especializado por exemplo em  Developing a web application from requirements to test, ou Developing a mobile integrated management system from requirements to test, e vamos por ai afora. Cada instância do caso de uso fundamental, terá necessidades especificas que vão ser satisfeitas via extensões.

O que vai suportar essas facilidades de extensão é um mecanismo mais simples, denominado multiple dynamic classification of model elements, detalhes ainda não estão disponiveis.  Outra facilidade do novo padrão vai ser a possibilidade de definição de novos diagramas (pelo usuário), que poderão ser integrados com outros já existentes. A previsão é de que o novo padrão da UML vai estar disponivel e adotado pela OMG em 2011. Até lá, vamos usando o padrão atual da UML. Uma recomendação minha é que por enquanto sejam utilizados apenas recursos básicos, que certamente vão fazer parte do kernel do novo padrão. É o caminho seguro!

(artigo de referência: The Road Ahead for UML, Ivar Jacobson, publicado no Dr.Dobbs em Maio de 2010)

(este artigo foi escrito por zeluisbraga, e postado no meu blog zeluisbraga . wordpress . com) (this post is authored by zeluisbraga, published on zeluisbraga . wordpress . com)

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Marcado com: , ,
Publicado em Educação, Engenharia de Software, Pesquisa
Um comentário em “UML: mudanças à vista
  1. […] This post was mentioned on Twitter by José Luis Braga, Alexandre Romanelli, Lucas F. M. Vegi, Lucas F. M. Vegi, jefchaves and others. jefchaves said: RT @zeluisbraga: Mudanças na UML a caminho, mais adaptável e customizável, http://bit.ly/bjy8ur […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: