Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/77126
Título: | An 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-chave: | agile 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 |
Data: | 10-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. |
Tipo: | Tese de doutoramento |
Descrição: | Doctoral Program in Information Systems and Technology |
URI: | https://hdl.handle.net/1822/77126 |
Acesso: | Acesso aberto |
Aparece nas coleções: |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Nuno Antonio de Lira Fernandes Faria dos Santos.pdf | 13,06 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons