Software Architecture Design Reasoning: A Case for Improved Methodology Support

  title={Software Architecture Design Reasoning: A Case for Improved Methodology Support},
  author={Antony Tang and Jun Han and Rajesh Vasa},
  journal={IEEE Software},
This paper presents the capturing and recording of reasoning behind software architecture design to encourage architects to more carefully consider design decisions and better support future maintenance. 

Figures from this paper

Modeling constraints improves software architecture design reasoning
  • A. Tang, H. V. Vliet
  • Computer Science, Art
    2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture
  • 2009
A design constraint model and an architectural design reasoning process for specifying design constraints and checking for design conflicts are introduced and experiment with using logic for constraint verification with the Alloy tool.
Quark: A Method to Assist Software Architects in Architectural Decision-Making
Candidat al millor article, a la XVI Conferencia Iberoamericana de Ingenieria de Software CIbSE 2013
Annotating problem diagrams with architectural tactics for reasoning on quality requirements
What makes software design effective
Integrating Requirements and Design Decisions in Architecture Representation
This work presents an approach for capturing requirements and design decisions during design and development and integrates design decisions, requirements, scenarios, and their relationships along with other architectural elements directly in a single, consistent, and formally defined architecture model.
Human reasoning and software design: an analysis
How reasoning techniques, such as design structuring, contextualization, co-evolution of problem-solution and inductive reasoning influence design depends on how design problems are structured and how design reasoning is applied.
Operation‐based approach for documenting software architecture knowledge
By means of a flexible model that makes possible the definition and execution of different level's operations, such as operations that enclose patterns and tactics semantics, this work ensures codification of general architectural knowledge and enable its recovering to use it in several design projects.
Using rationale to support pattern-based architectural design
The SEURAT_Architecture system uses a pre-defined pattern library and the NFRs for a software system to guide the selection of architectural patterns to capture the rationale for the architecture as a byproduct of the tool-supported selection process.
Ontology Based Software Design Documentation For Design Reasoning
An ontology-based approach has been chosen for documenting the software architecture design reasoning under this research, and the research was narrowed down to the RESTful web service domain.


Architectural knowledge and rationale: issues, trends, challenges
The second workshop on Sharing and Reusing Architectural Knowledge (SHARK) and Architecture rationale and Design intent (ADI) was held jointly with ICSE 2007 in Minneapolis and some topics for future research are suggested.
IEEE Recommended Practice for Architectural Description of Software-Intensive Systems
  • Computer Science
  • 2000
This recommended practice addresses the activities of the creation, analysis, and sustainment of architectures of software-intensive systems, and the recording of such architectures in terms of
Design Reasoning Improves Software Design Quality
An empirical study involving twenty designers showed that the test group that was equipped with design reasoning produced a higher quality design than the control group, especially for inexperienced designers.
Documenting software architectures: views and beyond
This lecture maps the concepts and templates explored in this tutorial with well-known architectural prescriptions, including the 4+1 approach of the Rational Unified Process, the Siemens Four Views
Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution
A controlled experiment where the value of having access to a retrospective design rationale is evaluated both quantitatively and qualitatively shows that, for one of the systems, there is a significant improvement in correctness and speed when subjects haveAccess to a design rationale document.
Architecture decisions: demystifying architecture
We believe that a key to demystifying architecture products lies in the architecture decisions concept. We can make the architecture more transparent and clarify its rationale for all stakeholders by
Software architecture in practice
This second edition of this book reflects the new developments in the field and new understanding of the important underpinnings of software architecture with new case studies and the new understanding both through new chapters and through additions to and elaboration of the existing chapters.
An empirical evaluation of design rationale documents
The results of an empirical evaluation of DR documents are presented, led to conclude that DR should be useful, at least for some designers who use it as a support to their reasoning, but not sufficient.