2019 · 16 citations · 12 references
ComputingArchitectural DesignKnowledge RepresentationSoftware EngineeringSystems ArchitectureKnowledge-based EngineeringSoftware ArchitectureSoftware DesignArchitectural Decision MakingArchitecture Decision-makingArchitecture DocumentationDesign Knowledge ManagementDocumenting Software ArchitectureKnowledge-driven Decision SupportSoftware Development LifecycleSoftware Quality Attributes
Software architecture can be seen as a set of architectural design decisions. These decisions, especially their rationale, play an important role in understanding software systems and constraints that are imposed on future design decisions. Documenting and managing these design decisions takes a lot of effort and is therefore often neglected by software architects. Following our vision to avoid explicit architectural knowledge management, we present an innovative tool used in industrial practise that is able to automatically recover design decisions from natural language text. The identified design decisions are then used to automatically derive further architectural knowledge, including related quality attributes and architectural elements to inhibit architectural erosion. By automatically enriching architectural knowledge and providing recommendations, the tool offers effective support for software architects in the decision-making process. The knowledge base of the tool is automatically kept up to date with information from different systems used by architects during the software development lifecycle process.
12
Software Architecture as a Set of Architectural Design Decisions
A survey of architecture design rationale
Antony Tang, Muhammad Ali Babar, Ian Gorton et al. · Journal of Systems and Software · 2006 · 207 citations · Full text
A comparative study of architecture knowledge management tools
Antony Tang, Paris Avgeriou, Anton Jansen et al. · Journal of Systems and Software · 2009 · 199 citations · Full text