Capturing Software Architecture Knowledge for Pattern-Driven Design

05/17/2020
by   Siamak Farshidi, et al.
0

Context: Software architecture is a knowledge-intensive field. One mechanism for storing architecture knowledge is the recognition and description of architectural patterns. Selecting architectural patterns is a challenging task for software architects, as knowledge about these patterns is scattered among a wide range of literature. Method: We report on a systematic literature review, with the aim of building a decision model for the architectural pattern selection problem. Moreover, twelve experienced practitioners at software-producing organizations evaluated the usability and usefulness of the extracted knowledge.Results: An overview is provided of 29 patterns and their effects on 40 quality attributes. Furthermore, we report in which systems the 29 patterns are applied and in which combinations. The practitioners confirmed that architectural knowledge supports software architects with their decision-making process to select a set of patterns for a new problem. We investigate the potential trends among architects to select patterns. Conclusion: With the knowledge available, architects can more rapidly select and eliminate combinations of patterns to design solutions. Having this knowledge readily available supports software architects in making more efficient and effective design decisions that meet their quality concerns.

READ FULL TEXT

page 10

page 14

page 16

page 19

page 20

research
01/15/2022

Decision Models for Selecting Patterns and Strategies in Microservices Systems and their Evaluation by Practitioners

Researchers and practitioners have recently proposed many Microservices ...
research
04/02/2021

An Empirical Characterization of Event Sourced Systems and Their Schema Evolution – Lessons from Industry

Event sourced systems are increasing in popularity because they are reli...
research
03/23/2018

APR: Architectural Pattern Recommender

This paper proposes Architectural Pattern Recommender (APR) system which...
research
10/08/2021

A Decision Model for Selecting Patterns and Strategies to Decompose Applications into Microservices

Microservices Architecture (MSA) style is a promising design approach to...
research
05/20/2021

Training Software Engineers for Qualitative Evaluation of Software Architecture

A software architect uses quality requirements to design the architectur...
research
12/06/2022

Microservice Architecture Practices and Experience: a Focused Look on Docker Configuration Files

Cloud applications are more and more microservice-oriented, but a concre...
research
12/02/2021

Systematically reviewing the layered architectural pattern principles and their use to reconstruct software architectures

Architectural reconstruction is a reverse engineering activity aiming at...

Please sign up or login with your details

Forgot password? Click here to reset