???jsp.display-item.identifier???
https://repositorio.unipampa.edu.br/jspui/handle/riu/2058
Tipo: | Trabalho de Conclusão de Curso |
metadata.dc.title: | Estudos empíricos sobre a aplicabilidade de especificação formal de requisitos em projetos ágeis |
Autor(es): | Rodrigues, Peterson Luiz da Rosa |
Primeiro Orientador: | Silva, João Pablo Silva da |
Coorientador: | Rodrigues, Elder de Macedo |
Resumo: | Uma das características das abordagens ágeis é utilizar técnicas informais para a especificação de requisitos. O uso exclusivo dessas técnicas pode causar alguns problemas de especificação, como ambiguidade, omissão de informações, além de erros de interpretação. Esses problemas são enfrentados por uma determinada empresa de desenvolvimento de software, situada no Rio Grande do Sul, ao qual está impactando na produtividade do time ágil. Uma possível alternativa para mitigar esses problemas é a adoção de métodos de especificação formal que utilizam a matemática discreta para escrita de requisitos. É possível encontrar alguns trabalhos na literatura que propõem a utilização de métodos formais para especificações de requisitos, como a notação Z e Vienna Development Method (VDM), conjuntamente com abordagens ágeis, como Extreme Programming (XP) e Scrum. Mesmo identificando tais iniciativas, percebemos que há uma carência de trabalhos que avaliem empiricamente a utilização de métodos formais em projetos ágeis. Dessa forma, neste trabalho, buscamos investigar os métodos de especificação formal como alternativa para especificar requisitos em projetos ágeis, proporcionando evidências dessa aplicação para a empresa parceira deste estudo. Para tanto, foram aplicados diferentes estudos empíricos. Inicialmente, realizamos um mapeamento sistemático da literatura para identificar os métodos de especificação formal que comumente são utilizados em ambientes ágeis para desenvolvimento de sistemas. Posteriormente, realizamos diferentes estratégias para avaliar empiricamente a aplicabilidade de métodos formais como técnica de especificação. A primeira estratégia empírica consistiu na condução de uma pesquisa de opinião com profissionais da indústria de desenvolvimento ágil de software. Na segunda estratégia empírica realizamos um estudo de caso incorporado exploratório, em duas empresas de desenvolvimento de software, para avaliar a opinião de desenvolvedores ágeis após utilizar a notação Z para especificação de requisitos. Por fim, na terceira estratégia foi conduzido um experimento controlado no ambiente da empresa parceira neste estudo onde foi observado a produtividade e qualidade das especificações quando utilizada a notação Z e Caso de Uso descritivo pelo time de desenvolvimento ágil da empresa. Os resultados das duas primeiras estratégias mostraram que profissionais indicaram alguns benefícios na utilização de especificação formal em projetos ágeis, como por exemplo: especificação formal ajuda a tornar os requisitos mais claros e mais completos. Contudo, o principal fator limitador da utilização dessas técnicas é relacionado ao pré-conceito dos desenvolvedores. Os resultados do experimento indicaram que o uso da notação Z melhorou o processo de elicitação de requisito, impactando na produtividade do time, visto que o uso da notação Z resultou em uma maior quantidade de software entregue pelo time ágil, além de proporcionar uma maior cobertura das especificações. |
Abstract: | One of the characteristics of agile approaches is to use informal techniques for specifying requirements. The exclusive use of these techniques can cause some problems, such as ambiguous specifications, omission of information and interpretation mistakes. These problems are faced by a particular software development company, in Rio Grande do Sul, resulting in the unproductiveness of an agile team. A possible alternative is to adopt Formal Methods, which are, in resume, methods that use mathematical logic to formally specify requirements. It is possible find some papers in the literature that proposes the use of formal methods for requirements specification, as the Z notation and Vienna Development Method (VDM) with agile approach, as Extreme Programming (XP) and Scrum. Even identifying such initiatives, we realize the lack of papers that empirically evaluate the use of formal methods in agile projects. In this way, in this paper, we seek to investigate formal specification methods as an alternative to specify requirements in agile projects, providing evidence of this application to the partner company of this study. For that, different empirical studies were applied. Initially, we performed a systematic mapping to identify formal specification methods that are commonly used for developing systems in agile environments. Subsequently, we performed different empirical strategies to empirically evaluate the applicability of Formal Methods as a specification technique. The first empirical strategy consisted in conducting an opinion survey with acting agile software developers. In the second empirical strategy, we carried out an exploratory embedded case study in two software development companies to evaluate the applicability of Z notation for requirements specification. Finally, in the third strategy, we carried a controlled experiment in partner company of this study, where the productivity and quality impacts of the specifications were analyzed using the formal notation Z and Descriptive Use Case. The results of the first two strategies pointed out that the professionals’ perceptions tended to agree on some benefits in the use of formal specification in agile projects, for example: formal specification helps to make the requirements clearer and more complete. However, the main limiting factor in using these techniques is related to the developers’ preconceptions. The experiment results indicated that the use of Z notation improved the elicitation process, impacting on team productivity, as the use of Z notation resulted in the delivery of more software functionalities and software with better specification coverage by the agile team. |
metadata.dc.subject: | Engenharia de software Desenvolvimento de software Estudos empíricos Métodos formais Abordagem ágil Scrum Estudo de casos Software engineering Software development Empirical studies Formal methods Agile approach Case study |
CNPQ: | CNPQ::CIENCIAS EXATAS E DA TERRA |
Idioma: | por |
metadata.dc.publisher.country: | Brasil |
metadata.dc.publisher: | Universidade Federal do Pampa |
Sigla da Instituição: | UNIPAMPA |
Campus: | Campus Alegrete |
metadata.dc.identifier.citation: | RODRIGUES, Peterson Luiz da Rosa. Estudos empíricos sobre a aplicabilidade de especificação formal de requisitos em projetos ágeis. 111p. 2017. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2017. |
Tipo de acesso: | Acesso Aberto |
metadata.dc.identifier.uri: | http://dspace.unipampa.edu.br:8080/jspui/handle/riu/2058 |
metadata.dc.date.issued: | 30-Nov-2017 |
???org.dspace.app.webui.jsptag.ItemTag.appears??? | Engenharia de Software |
???org.dspace.app.webui.jsptag.ItemTag.files???
???org.dspace.app.webui.jsptag.ItemTag.file??? | ???org.dspace.app.webui.jsptag.ItemTag.description??? | ???org.dspace.app.webui.jsptag.ItemTag.filesize??? | ???org.dspace.app.webui.jsptag.ItemTag.fileformat??? | |
---|---|---|---|---|
Peterson Luiz da Rosa Rodrigues - 2017.pdf | 1.77 MB | Adobe PDF | ???org.dspace.app.webui.jsptag.ItemTag.view??? |
???jsp.display-item.copyright???