Software Architecture as a Set of Architectural Design Decisions

@article{Jansen2005SoftwareAA,
  title={Software Architecture as a Set of Architectural Design Decisions},
  author={Anton Jansen and J. Bosch},
  journal={5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05)},
  year={2005},
  pages={109-120}
}
  • A. Jansen, J. Bosch
  • Published 6 November 2005
  • Computer Science
  • 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05)
Software architectures have high costs for change, are complex, and erode during evolution. We believe these problems are partially due to knowledge vaporization. Currently, almost all the knowledge and information about the design decisions the architecture is based on are implicitly embedded in the architecture, but lack a first-class representation. Consequently, knowledge about these design decisions disappears into the architecture, which leads to the aforementioned problems. In this paper… 

Figures from this paper

An architectural design decision-centric approach to architectural evolution
TLDR
A meta-model of architectural design decisions for making them more explicit is proposed and an architectural design decision-centric approach to architectural evolution is provided.
A model for documenting architectural decisions
TLDR
A model for capturing, documenting and recovering architectural design processes and their underlying design rationale is proposed and provides a semi-automatic mechanism for generating architectural rationale documents based on the use of templates.
Architectural design decisions
TLDR
A conceptual model of architectural design decisions is presented that explains the parts that this concept is made of and how it relates to other concepts and two approaches have been developed, which help to reduce architectural knowledge vaporization.
Modeling and Documenting the Evolution of Architectural Design Decisions
  • R. Capilla, F. Nava, J. C. Dueñas
  • Computer Science
    Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007)
  • 2007
TLDR
This research paper extends a previous work to detail issues related to the evolution of architectural design decisions and the need for maintaining and evolving the decisions made in the past turns critical for the success of the development of the system.
Exploring Extensibility of Architectural Design Decisions
  • S. Trujillo, M. Azanza, O. Díaz, R. Capilla
  • Computer Science, Art
    Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007)
  • 2007
TLDR
This ongoing research describes an approach for product line synthesis architecture, where design decisions are introduced to promote its reuse, and explores extensibility ideas from software product lines to show how architectures can be extended on the basis of design decisions.
An Executable Design Decision Representation Using Model Transformations
  • M. Biehl, Martin Törngren
  • Computer Science
    2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications
  • 2010
TLDR
An executable representation for design decisions using model transformations which is independent of a particular component model or architectural description language is proposed which gets all the advantages of explicitly captured design decisions while preventing the high capturing cost since the corresponding architectural change can be computed automatically.
An Integrated Approach to Quality Achievement with Architectural Design Decisions
TLDR
An integrated approach for acquiring good software architecture with respect to its requirements, which is called AQUA, which defines decision centric process of finding, evaluating, and changing the decisions.
Towards Precise Architectural Decision Models
TLDR
This work defines a formal background for the controlled process of making changes in architectural decision models that are documented using that notation, called Maps of Architectural Decisions, that can support the process ofMaking changes in the software architecture.
Model-Driven approach to Software Architecture design
TLDR
This paper defines an architecture design method that enables the systematic and assisted construction of the SA of Enterprise Applications, taking into account major quality attributes involved in this family of systems.
Documenting after the fact: Recovering architectural design decisions
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 27 REFERENCES
Software Architecture: The Next Step
TLDR
The traditional view on software architecture suffers from a number of key problems that cannot be solved without changing the authors' perspective on the notion of software architecture.
Evaluation of tool support for architectural evolution
  • A. Jansen, J. Bosch
  • Computer Science
    Proceedings. 19th International Conference on Automated Software Engineering, 2004.
  • 2004
TLDR
This work presents a set of requirements that tools should support for architectural evolution: the notion of architectural design decisions, and evaluates existing software architecture tools against these architectural requirements.
Foundations for the study of software architecture
TLDR
A model of software architecture that consists of three components: elements, form, and rationale is presented, which provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements.
Taming architectural evolution
TLDR
This paper introduces three of those: the provision of design guidance at the architectural level, the use of specialized software connectors to ensure run-time reliability during component upgrades, and the creation of component-level patches to be applied to deployed system configurations.
A Classification and Comparison Framework for Software Architecture Description Languages
TLDR
A definition and a classification framework for architecture description languages are presented and the utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations, enabling us, in the process, to identify key properties ofADLs.
Applied Software Architecture
TLDR
Applied Software Architecture gives an overview of software architecture basics and a detailed guide to architecture design tasks, focusing on four fundamental views of architecture--conceptual, module, execution, and code.
ArchJava: connecting software architecture to implementation
TLDR
A case study applying ArchJava to a circuit-design application suggests that ArchJava can express architectural structure effectively within an implementation, and that it can aid in program understanding and software evolution.
An Ontology of Architectural Design Decisions in Software-Intensive Systems
TLDR
A possible ontology of architectural design decisions, their attributes and relationships, for complex, software-intensive systems, is presented.
Aspect-Oriented Programming
TLDR
An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Design patterns: elements of reuseable object-oriented software
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out
...
1
2
3
...