Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/77126

TítuloAn agile process for modeling logical architectures: demonstration cases from large-scale software projects
Autor(es)Santos, Nuno António de Lira Fernandes Faria dos
Orientador(es)Machado, Ricardo J.
Ferreira, Nuno C.
Palavras-chaveagile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
Data10-Nov-2020
Resumo(s)Developing software solutions is about providing responses to a set of business needs in form of a working software. These business needs are the starting point for the development process, which states the required business support that the software will provide, in form of functional and nonfunctional requirements. Then, every implementation decision aims satisfying those requirements. Of course, over time, the requirements change. In that sense, agile software development (ASD) approaches bring a set of practices towards embracing those changes as soon as possible. As the complexity of software increases, namely in terms of the quantity of the defined features, these approaches face some challenges, typically related in properly defining how different teams have to work together in order to deliver a unified solution. In complex solutions, the traceability between business (or stakeholder) and software (components) perspectives may not be properly assured. Using a logical architecture provides a view that organizes software components in order to meet functional requirements. In a large-scale agile (LSA) setting, the logical architecture provides a view in how different teams’ outputs fit together. Thus, this thesis presents a process for modeling logical architectures adequate for ASD settings (a.k.a., “Agile Modeling” – AM) with requirements elicitation and modeling techniques and, additionally, uses an architectural design method called “Four Step Rule Set” (4SRS) in order to trace the requirements models to the architectural components. An AM process should support evolutionary design, preventing the so-called “Big Design Up Front” (BDUF) with eventual efforts that are afterwards disregarded in “You Aren’t Going to Need It” (YAGNI) elements. The proposed process is called “Agile Modeling Process for Logical Architectures” (AMPLA). This research work aimed defining how AMPLA covers the model evolution and abstraction level from business to service-oriented logical architectures in LSA settings. Additionally, adopting an architectural style called “microservices”, eases the agility in developing (and deploying) the solutions, where its design principles promote continuous integration/delivery (CI/CD) and DevOps. Thus, AMPLA includes architecture modeling as well as maintenance and evolution during ASD iterations.
Desenvolver soluções de software é fornecer respostas a um conjunto de necessidades de negócios na forma de um software executável. Essas necessidades de negócios são o ponto de partida para o processo de desenvolvimento, que define como o software suportará o negócio, na forma de requisitos funcionais e não funcionais. Então, qualquer decisão de implementação visa satisfazer esses requisitos. Obviamente, com o tempo, os requisitos mudam. Nesse sentido, as abordagens de desenvolvimento ágil de software (ASD) trazem um conjunto de práticas para abraçar essas mudanças o mais rápido possível. À medida que a complexidade do software aumenta, principalmente em termos da quantidade de recursos definidos, essas abordagens enfrentam alguns desafios, geralmente relacionados à definição correta de como equipas diferentes devem trabalhar em conjunto para fornecer uma solução unificada. Em soluções complexas, a rastreabilidade entre as perspetivas do negócio (ou dos stakeholders) e software (componentes) pode não estar adequadamente garantida. Usando uma arquitetura lógica, é fornecida uma visão que organiza os componentes de software para que os requisitos funcionais sejam suportados. Num contexto ágil de larga-escala (LSA), fornece uma visão de como os diferentes resultados se encaixam. Assim, esta tese apresenta um processo para modelar arquiteturas lógicas adequadas às configurações de ASD (também conhecido como “Agile Modeling” - AM), composto pelas técnicas de levantamento e modelação de requisitos e, adicionalmente, usa um método arquitetural chamado “Four Step Rule Set” (4SRS) para rastreabilidade entre os requisitos e os componentes arquiteturais. Um processo de AM deve oferecer suporte a uma conceção evolutiva, impedindo o chamado “Big Design Up Front” (BDUF), com eventuais esforços que serão posteriormente desconsiderados em elementos “You Aren’t Going to Need It” (YAGNI). O processo proposto é chamado de “Agile Modeling Process for Logical Architectures” (AMPLA). Este trabalho de investigação pretendeu definir como o AMPLA cobre a evolução dos modelos e nível de abstração desde o negócio até a arquiteturas lógicas orientadas a serviços em contextos de LSA. Além disso, a adoção de um estilo arquitetural chamado “micro-serviços” facilita a agilidade no desenvolvimento (e instalação) das soluções, onde suas bases da conceção promovem a integração / entrega contínua (CI / CD) e cultura DevOps. Assim, o AMPLA inclui modelação da arquitetura, bem como manutenção e evolução durante ciclos ágeis.
TipoTese de doutoramento
DescriçãoDoctoral Program in Information Systems and Technology
URIhttps://hdl.handle.net/1822/77126
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento
CAlg - Teses de doutoramento/PhD theses

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Nuno Antonio de Lira Fernandes Faria dos Santos.pdf13,06 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID