engenharia model driven quidgest

Engenharia Model Driven e Inteligência Artificial

Em oposição à tradicional programação manual, a utilização de modelos e a inteligência artificial são tópicos quentes na moderna engenharia do software.

Quem experimenta, quem começa a trabalhar num ambiente MDE (Model Driven Engineering), já não sai deste contexto. Não quer regredir. Voltar atrás, à programação manual, significa perder produtividade, perder agilidade, perder capacidade de mudar a forma como se trabalha à sua volta, perder tempo. No fundo, perder qualidade de vida, e não apenas profissional.

É evidente que a complexidade do software tem vindo sempre a aumentar. O número de camadas que suportam um sistema de informação (hardware, sistema operativo, SGBD, comunicações, browsers, programação), o número de tecnologias diferentes que são necessárias para o seu funcionamento, a evolução rápida e acelerada destas tecnologias, a dimensão e o número de componentes que compõem uma solução, os requisitos não funcionais (como eficiência, testabilidade ou experiência de utilização), as interações com muitos outros sistemas… Desenvolver software é hoje uma atividade extremamente complexa e altamente profissionalizada.

Como refere Vasco Amaral, professor da NOVA-FCT, vencer a complexidade é a razão de ser da Engenharia do Software.

E esta missão da Engenharia do Software tem um ainda maior desafio: as partes interessadas (os stakeholders) do software – aqueles que o usam, que nele se baseiam para tomar decisões, ou que a ele recorrem para exercer os seus direitos (utilizadores, gestores, cidadãos) – querem cada vez mais estar presentes na conceção e, até, na produção da própria solução.

Hoje em dia, a Engenharia do Software está atrasada em relação às outras engenharias, na utilização de Modelos. Certamente podemos esperar, e há muitos anos, que a construção de um edifício seja precedida de uma planta detalhada do edifício. A Engenharia Civil tem essa prática totalmente instituída, mas a Engenharia do Software não. O Modelo, que equivaleria à Planta, na maior parte das vezes não existe ou está embutido e é difícil de isolar no próprio código do software.

Três fatores contribuíram para este retrocesso da Engenharia do Software: a ausência de uma disciplina de desenvolvimento numa lógica de qualidade total; o levantamento de processos como base para a conceção do software; e o UML. Aos quais se junta, mas não vamos abordar aqui, a inexistente pressão para a indústria do software atual, paga a peso de ouro, ser mais eficiente.

A Quidgest foi, desde a sua criação em 1988, pioneira na utilização da Inteligência Artificial e da Modelação.

Pelo estado da arte que acompanha os mais recentes estudos académicos, o que temos, resultado de três décadas de projetos exigentes e de co-inovação com os nossos clientes, é extremamente avançado em relação ao que se faz em todo o mundo. Na Quidgest, estamos disponíveis para colaborar numa maior divulgação da nossa Engenharia de Software. Lançamos, por isso, o desafio à Academia para a publicação de papers científicos conjuntos. E, naturalmente, aos nossos atuais e futuros clientes para nos colocarem à prova com projetos ainda mais desafiadores.

Nota: Este artigo resulta de uma profícua troca de ideias com Alberto Silva (DEI-IST), Vasco Amaral (NOVA-FCT), João Varajão e João Álvaro Carvalho (Universidade do Minho) no âmbito da preparação das MDE+AI Talks, que vão ser organizadas em conjunto pela Quidgest e por Alberto Silva do Instituto Superior Técnico, com uma periodicidade trimestral, durante o corrente ano.

________________________

Leia o artigo na íntegra na edição 26 da QuidNews.

Leia a versão em inglês aqui