From Continuous Software Engineering Reference Ontologies to the Integration of Data for Data-Driven Software Development

dc.contributor.advisor1Barcellos, Monalessa Perini
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/8826584877205264
dc.contributor.authorSantos Junior, Paulo Sergio dos
dc.contributor.authorIDhttps://orcid.org/0000-0003-4354-9418
dc.contributor.authorLatteshttp://lattes.cnpq.br/8400407353673370
dc.contributor.referee1Oliveira, José Maria Parente de
dc.contributor.referee2Souza, Gleison dos Santos
dc.contributor.referee3Souza, Vitor Estevao Silva
dc.contributor.referee3IDhttps://orcid.org/0000000318695704
dc.contributor.referee3Latteshttp://lattes.cnpq.br/2762374760685577
dc.contributor.referee4Franca, Breno Bernard Nicolau de
dc.date.accessioned2024-05-29T20:55:50Z
dc.date.available2024-05-29T20:55:50Z
dc.date.issued2023-12-20
dc.description.abstractContext: Software organizations face several challenges, such as the need for faster deliveries, frequent changes in requirements, lower tolerance to failures, and the need to adapt to contemporary business models. Agile practices have allowed organizations to shorten development cycles and increase customer collaboration. However, this has not been enough. Organizations should evolve to continuous and data-driven development in a continuous software engineering approach. Continuous Software Engineering (CSE) consists of a set of practices and tools that support a holistic view of software development with the purpose of making it faster, iterative, integrated, continuous, and aligned with the business. Software organizations often use different applications to support CSE (e.g., project management tools, source repositories, and quality assessment tools). These applications store useful data to enable a data-driven software development process. However, data items often remain spread in different applications, each adopting different data and behavioral models, posing a barrier to integrated data usage. As a consequence, data-driven software development is uncommon, missing valuable opportunities for product and process improvement as well as new business opportunities identification. Objective: Considering the need to enable data-driven software development in the CSE context, we aim to provide an ontology-based approach that can aid in: identifying the organization’s information needs, retrieving data from applications, and providing integrated data that meets the information needs. Method: By following the Design Science paradigm and organizing experimental studies as learning iterations, we developed the Immigrant approach, which contains three components: California (a System-Thinking-based process), Zeppelin (a CSE diagnostic instrument, which helps identify the organization information needs), and The Band (an ontology-based integration solution that semantically integrates data from applications and, thus, provides integrated data to support data-driven software development). The Band is based on Continuum, an ontology (sub)network developed in this work to address CSE aspects (particularly, agile development, continuous integration, and continuous deployment) and that is used as a reference model to build software artifacts in the integration architecture. Results: Studies performed in software organizations evaluated each component separately. Results demonstrate California and Zeppelin’s usefulness and show that the integrated solution (The Band) contributed to improving estimates, provided data that helped allocate teams, manage team productivity and project performance, and allowed to identify and fix problems in the software process execution. The complete proposal Immigrant was evaluated in a case study. As a result, it was possible to identify problems related to the allocation of tasks, role overload, and code quality. Conclusion: The results obtained so far suggest that Immigrant is a useful approach to enable data-driven software development in CSE.
dc.description.resumoContexto: As organizações de software têm enfrentado vários desafios, como a necessidade de entregas mais rápidas, mudanças frequentes nos requisitos, menor tolerância a falhas e a necessidade de se adaptar aos modelos de negócios contemporâneos. As organizações devem evoluir para o desenvolvimento contínuo e orientado por dados em uma abordagem de engenharia de software contínua. A Engenharia de Software Contínua (ESC) consiste em um conjunto de práticas e ferramentas que suportam uma visão holística do desenvolvimento de software com o propósito de torná-lo mais rápido, iterativo, integrado, contínuo e alinhado com o negócio. As organizações de software frequentemente utilizam diferentes aplicativos para apoiar a CSE (e.g., ferramentas de gerenciamento de projetos, repositórios de código e ferramentas de avaliação de qualidade), que armazenam dados úteis para um processo orientado a dados. No entanto, os dados muitas vezes permanecem dispersos em diferentes aplicativos, cada um adotando modelos de dados e comportamentais diferentes, representando uma barreira para o uso integrado de dados. Como consequência, o desenvolvimento de software orientado por dados é incomum, perdendo oportunidades valiosas para melhoria de produto e processo, bem como identificação de novas oportunidades de negócios. Objetivo: Considerando a necessidade de possibilitar o desenvolvimento de software orientado por dados no contexto da CSE, nosso objetivo é fornecer uma abordagem baseada em ontologia que possa auxiliar na identificação das necessidades de informação da organização, recuperar dados de aplicativos e fornecer dados integrados que atendam às necessidades de informação. Método: Seguindo o paradigma da Design Science Research organizando estudos experimentais como learning iterations, desenvolvemos a abordagem Immigrant, que contém três componentes: California (um processo baseado em Pensamento Sistêmico), Zeppelin (um instrumento diagnóstico de CSE) e The Band (uma solução de integração baseada em ontologia que integra semanticamente dados de aplicativos). The Band é baseado em Continuum, uma (sub)rede ontológica desenvolvida neste trabalho para abordar aspectos da CSE (particularmente, desenvolvimento ágil, integração contínua e implantação contínua) e que é usada como um modelo de referência para construir artefatos de software na arquitetura de integração. Resultados: Estudos realizados em organizações de software avaliaram cada componente separadamente. Os resultados demonstram a utilidade de California, Zeppelin e The Band fornecendo dados que ajudaram identificar problemas relacionados à alocação de equipes, gerenciamento de produtividade de equipe e desempenho do projeto. A proposta completa Immigrant foi avaliada em um estudo de caso, identificando problemas relacionados à alocação de tarefas, sobrecarga de papéis e qualidade do código. Conclusão: Os resultados obtidos até agora sugerem que Immigrant é uma abordagem útil para possibilitar o desenvolvimento de software orientado por dados na CSE.
dc.formatText
dc.identifier.urihttps://dspace5.ufes.br/handle/10/12760
dc.languagepor
dc.publisherUniversidade Federal do Espírito Santo
dc.publisher.countryBR
dc.publisher.courseDoutorado em Ciência da Computação
dc.publisher.departmentCentro Tecnológico
dc.publisher.initialsUFES
dc.publisher.programPrograma de Pós-Graduação em Informática
dc.rightsopen access
dc.subjectEngenharia de software contínua
dc.subjectRede de ontologias
dc.subjectInteroperabilidade semântica
dc.subjectIntegração de dados
dc.subject.cnpqCiência da Computação
dc.titleFrom Continuous Software Engineering Reference Ontologies to the Integration of Data for Data-Driven Software Development
dc.typedoctoralThesis

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
SantosJr.Etal.Tese-20231220.pdf
Tamanho:
11.84 MB
Formato:
Adobe Portable Document Format