GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: BEZERRA, Marzina Vidal Negreiros.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
DSL
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267
Resumo: Requisitos precisos e consistentes promovem maior qualidade no software, reduzindo seu custo final. Estudos apontam que o uso de métodos formais na especificação dos requisitos promovem a detecção de ambiguidades e a verificação automática da consistência dos requisitos. Entretanto, geralmente dispensa-se o formalismo por sua difícil aplicação, possivelmente por causa de barreiras culturais ou da falta de habilidades de profissionais de software. Propomos, nessa dissertação de mestrado, uma solução mais convergente ou conciliadora para viabilizar a verificação formal, sem perder o foco nas habilidades comuns desses profissionais. Para isso, implementamos GIRL (Graphical InvaRiant Language), uma linguagem gráfica para representação de requisitos, onde o formalismo está embutido na automação e abstração, o que permite a verificação automática da consistência dos requisitos através da verificação de consistência da linguagem Alloy. GIRL é uma linguagem gráfica específica de domínio (DSL) para representação de restrições invariantes, que são requisitos estáticos ou estruturais. Para avaliar a solução, procedemos um estudo empírico que segue a estratégia de pesquisa do tipo Tarefa de Julgamento, onde profissionais desenvolvedores de software, com diferentes níveis de experiência em Engenharia de Requisitos, utilizaram e avaliaram GIRL. Observamos que os sujeitos representaram corretamente os requisitos propostos no estudo, considerando úteis, tanto a linguagem, como a verificação dos requisitos com o feedback gráfico. Além disso, identificamos facilidade no aprendizado e utilização das estruturas mais simples e com conceitos semelhantes em engenharia de software e na teoria de conjuntos; já em estruturas mais complexas, cujos conceitos estão mais próximos à lógica, o nível de dificuldade foi maior. Também observamos que uma notação gráfica é mais agradável de utilizar e, sendo bem projetada, é mais fácil de usar, alcançando mais facilmente os objetivos para que foi criada. Percebemos então, fortes indicativos de que, representações gráficas que ocultam um formalismo e permitem a verificação automática de requisitos, como na linguagem GIRL, são meios eficazes para elevar a qualidade em requisitos de software.