SEDec 31, 2020

Optimal Software Architecture From Initial Requirements: An End-to-End Approach

arXiv:2012.15533v1
Originality Incremental advance
AI Analysis

This work addresses the problem of systematically guiding software architects to generate optimal architectures, which could benefit companies developing software products.

This paper proposes an end-to-end approach to generate optimal software architectures from initial requirements for single products and product families. They applied their approach to optimize five industry-grade products in a real-life product line architecture, prioritizing 359 combinations of ten quality efforts.

A software architect turns system requirements into a suitable software architecture through an architecture optimization process. However, how should the architect decide which quality improvement to prioritize, e.g., security or reliability? In software product line, should a small improvement in multiple products be preferred over a large improvement in a single product? Existing architecture optimization methods handle various steps in the process, but none of them systematically guides the architect in generating an optimal architecture from the initial requirements. In this work we present an end-to-end approach for generating an optimal software architecture for a single software product and an optimal family of architectures for a family of products. We report on a case-study of applying our approach to optimize five industry-grade products in a real-life product line architecture, where 359 possible combinations of ten different quality efforts were prioritized.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes