Model-Driven Engineering: o possível futuro do desenvolvimento de software
Há vários anos que se fala de Engenharia Orientada por Modelos, ou Model-Driven Engineering, mas só recentemente é que começaram a surgir as utilidades práticas desta abordagem.
A Quidgest promoveu ontem, dia 12 de abril, mais uma edição das Talks on Model-Driven Engineering & Artificial Inteligence Approaches. A Engenharia Orientada por Modelos – ou Model-Driven Engineering (MDE) – , é uma abordagem de desenvolvimento onde os modelos assumem um papel central em todos os processos de engenharia.
Mas numa altura em que existem várias ferramentas, ou metodologias, para desenvolvimento, quais são as mais-valias que esta abordagem traz? Foi a partir desta pergunta que Vasco Amaral, professor da Faculdade de Ciências e Tecnologias da Universidade Nova de Lisboa, e membro do grupo de investigação NOVA-LINCS, apresentou os vários pontos fortes da MDE.
Complexidade dos sistemas tem vindo a aumentar desde a década de 60
A complexidade de desenvolvimento de software tem vindo a aumentar desde a década de 1960, o que significa que o caminho a ser percorrido entre o problema e a solução tem vindo a aumentar. Igualmente, os métodos para chegar à solução precisam de ser feitos por equipas multidisciplinares – com especializações diferentes.
A acrescentar a esta complexidade, os profissionais da área têm cada vez mais ferramentas ao seu dispor. Contudo, enquanto outras indústrias, como a automóvel, já têm linhas de montagem automatizadas, a área do desenvolvimento de software ainda não chegou a esta fase.
A solução: Model-Driven Engineering
É para atacar todos estes problemas que surge a MDE. Esta nova abordagem promete mudar o atual paradigma de desenvolvimento de software. Aqui os modelos, que são tidos como abstrações de um sistema que permite fazer previsões e inferências, segundo o físico Thomas Kühne, assumem um papel central em todos os processos de engenharia – seja ela Química, Civil, Informática, etc.
De acordo com a apresentação de Vasco Amaral, os ganhos são claros:
– Aumentos significativos de produtividade (cinco a dez vez mais rápido do que os métodos comummente utilizados);
– Facilidade de manutenção;
– Interoperabilidade entre os vários departamentos que estejam a trabalhar no mesmo projeto;
– Reutilização de software que estiver em uso;
– Aumenta a qualidade tanto do produto final como dos processos.
No caso das Tecnologias de Informação, esta abordagem ganhou especial interesse na área de low code. A OutSystems é um exemplo de uma grande empresa a operar neste segmento.
Apesar desta abordagem estar disponível há vários anos, só atualmente as equipas começam a perceber as utilidades práticas da MDE.
As ferramentas atualmente existentes não são suficientes?
De acordo com o professor Vasco Amaral, as abordagens habituais de desenvolvimento de software estão frequentemente sujeitas a erros e dificilmente conseguem cumprir os prazos de entrega estipulados. Em oposição, ao utilizar a MDE, os developers podem contar com uma forma de ter menos erros e de serem mais eficientes, tanto a nível de tempo, como de custos.
Saliente-se, ainda, que esta ferramenta fomenta o empoderamento dos especialistas dos domínios. Em vez de precisarem de alguém que execute a sua visão do produto final, o seu formato mais simplificado capacita os especialistas das mais diversas áreas a criarem as suas próprias aplicações.
Mas nem tudo são aspetos positivos no Model Driven Engineering
Dado que é uma abordagem relativamente recente – comparativamente com as suas “competidoras” incumbentes –, ainda existem alguns entraves à larga implementação da MDE.
Se por um lado há facilidade de manutenção destes modelos, por outro, nem sempre é fácil mantê-los. Este problema é exposto no artigo “Exploiting Model Driving Technology: a Tale of Two Startups”, de Tony Clark e Pierre-Alain Muller. Ao analisar o caso de duas start-ups, os dois investigadores chegaram à conclusão que não só é economicamente árduo produzir e manter estas ferramentas, como também existe uma dificuldade em explorar esta abordagem num modelo de negócio.
Além disso, são necessários múltiplos formalismos que eliminam a ambiguidade da equação. Por outro lado, como ainda não é amplamente utilizada, esta abordagem peca pela lacuna de profissionais que operam nesta área, o que se traduz em falta de apoio de fóruns especializados e bons exemplos de modelos de sucesso.
Do ponto de vista empresarial é necessário investimento para introduzir esta ferramenta nas operações, algo que também se poderá traduzir numa barreira ao modelo de negócio.