Optimal Software Architecture From Initial Requirements: An End-to-End Approach
Ofir T. Erlich, David H. Lorenz

TL;DR
This paper introduces an end-to-end method for deriving optimal software architectures from initial requirements, considering multiple quality attributes and product line variations, demonstrated through a real-world case study.
Contribution
It presents a systematic approach for generating optimal architectures for single products and product families, filling a gap in existing architecture optimization methods.
Findings
Successfully applied to five industry products
Evaluated 359 combinations of quality improvements
Demonstrated effectiveness in real-world scenarios
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
