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

Detalhes bibliográficos
Autor(a) principal: BEZERRA, Marzina Vidal Negreiros.
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: 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.
id UFCG_0025395ca83861940f002cbfade43fa0
oai_identifier_str oai:localhost:riufcg/6267
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.GIRL: a modeling and verification language of invariant requirements.Engenharia de RequisitosDSLMétodos FormaisVerificação de RequisitosRequirements EngineeringFormal MethodsRequirements VerificationCência da ComputaçãoRequisitos 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.Precise and consistent requirements promote higher quality in the software, reducing its final cost. Studies show that the use of formal methods in requirements specifications promotes the detection of ambiguities and the automatic verification of the consistency of requirements. However, formalism is often dispensed with because of its difficult application, possibly because of cultural barriers or the lack of skills of software professionals. We propose, in this master’s dissertation, a more convergent or conciliatory solution to enable formal verification, without losing focus on the common skills of these professionals. For this, we implemented GIRL (Graphical InvaRiant Language), a graphical language for requirements representation, where formalism is embedded in automation and abstraction, which allows the automatic verification of consistency of requirements through the Alloy language consistency checking . GIRL is a graphical domain-specific language (DSL) for representing invariant constraints, which are either static or structural requirements. To evaluate the solution, we performed an empirical study that follows the research strategy of the Judgment Task type, where professional software developers, with different levels of experience in Requirements Engineering, used and evaluated GIRL. We observed that the subjects correctly represented the requirements proposed in the study, considering the language and the verification of the requirements with the useful graphic feedback. In addition, we identified ease in learning and using the simplest structures and with similar concepts in software engineering and set theory; however, with more complex structures, whose concepts are closer to the logic, the level of difficulty was greater. We also noted that a graphical notation is more enjoyable to use and, being well designed, is easier to use, and more easily reaching the objectives for which it was created. We then see strong indications that graphical representations that hide a formalism and allow the automatic verification of requirements, as in the GIRL language, are effective means to raise the quality in software requirements.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGRamalho, F. S.http://lattes.cnpq.br/2469816352786812MASSONI, Tiago Lima.MASSONI, T. L.http://lattes.cnpq.br/3563923906851611ANDRADE, Wilkerson de Lucena.IYODA, Juliano Manabu.BEZERRA, Marzina Vidal Negreiros.2018-12-142019-08-28T12:11:25Z2019-08-282019-08-28T12:11:25Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267BEZERRA, M. V. N. GIRL: uma linguagem de modelagem e verificação de requisitos invariantes. 2018. 254 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-28T20:31:41Zoai:localhost:riufcg/6267Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-28T20:31:41Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
GIRL: a modeling and verification language of invariant requirements.
title GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
spellingShingle GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
BEZERRA, Marzina Vidal Negreiros.
Engenharia de Requisitos
DSL
Métodos Formais
Verificação de Requisitos
Requirements Engineering
Formal Methods
Requirements Verification
Cência da Computação
title_short GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
title_full GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
title_fullStr GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
title_full_unstemmed GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
title_sort GIRL: uma linguagem de modelagem e verificação de requisitos invariantes.
author BEZERRA, Marzina Vidal Negreiros.
author_facet BEZERRA, Marzina Vidal Negreiros.
author_role author
dc.contributor.none.fl_str_mv Ramalho, F. S.
http://lattes.cnpq.br/2469816352786812
MASSONI, Tiago Lima.
MASSONI, T. L.
http://lattes.cnpq.br/3563923906851611
ANDRADE, Wilkerson de Lucena.
IYODA, Juliano Manabu.
dc.contributor.author.fl_str_mv BEZERRA, Marzina Vidal Negreiros.
dc.subject.por.fl_str_mv Engenharia de Requisitos
DSL
Métodos Formais
Verificação de Requisitos
Requirements Engineering
Formal Methods
Requirements Verification
Cência da Computação
topic Engenharia de Requisitos
DSL
Métodos Formais
Verificação de Requisitos
Requirements Engineering
Formal Methods
Requirements Verification
Cência da Computação
description 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.
publishDate 2018
dc.date.none.fl_str_mv 2018-12-14
2019-08-28T12:11:25Z
2019-08-28
2019-08-28T12:11:25Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267
BEZERRA, M. V. N. GIRL: uma linguagem de modelagem e verificação de requisitos invariantes. 2018. 254 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267
identifier_str_mv BEZERRA, M. V. N. GIRL: uma linguagem de modelagem e verificação de requisitos invariantes. 2018. 254 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2018. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6267
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv 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
publisher.none.fl_str_mv 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
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744389459673088