1 / 13

Using Patterns to Capture Architectural Decisions: A Comprehensive Overview

This paper discusses the critical role of architectural decisions in software development and highlights the challenges faced in documenting these decisions, leading to "knowledge vaporization." It proposes the use of design patterns as a solution to enhance decision documentation and mitigate the risks associated with undocumented decisions. By establishing a relationship between patterns and decision-making, the paper elucidates how patterns can facilitate better documentation and communication among architects while acknowledging limitations and the need for further research.

mura
Télécharger la présentation

Using Patterns to Capture Architectural Decisions: A Comprehensive Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. On Using Patterns to Capture Architectural Decisions: Paper Overview/Summary James Martin CpE 691 February 4, 2010

  2. Outline • Problem Overview • The pattern solution • Comparing patterns and decision • The pattern-decision relationship • Using patterns • Limitations and further research

  3. Problem overview • Decisions made during software architecting have a substantial impact on the system • Design decisions aren’t documented by architects thoroughly enough by architects. • All aspects (i.e. alternatives, rationale, expected consequences, etc) are not usually captured • Leads to “knowledge vaporization”

  4. Knowledge vaporization • Decisions are not recorded • Development and evolution cycles of software do not have appropriate access to decisions that were made during the architectural design • The decisions might reside in the heads of architects, but people eventually forget • “If something is not written down, it does not exist”

  5. Documentation challenges • It takes a lot of effort • Decisions are made without thought • Can be disruptive to the flow of design • Architects don’t know how

  6. The patterns solution • A.K.A. architectural style • Patterns help document decisions because they: • Include general structural and behavioral info • When a pattern is chosen, a decision is made so it can be documented • Architects already use patterns so they aren’t disruptive • Patterns are typically easy to follow • They are solutions to recurring problems

  7. Pattern examples • Layers • Pipes and filters • Blackboard • Model-View-Controller (MVC) • Presentation-Abstraction-Control (PAC)

  8. Decisions • Issue being decided • Decision that was made • Alternatives • Reasons for making the decision

  9. Comparing patterns and decision

  10. The pattern-decision relationship • Two types of knowledge • Application-generic knowledge • Implicate knowledge gained through previous experiences (such as from patterns) • Used to make decisions • Application-specific knowledge • Involves decisions made during the architecting process, as well as the solutions • It is the decisions • Patterns comprise #1 • Decisions comprise #2

  11. Using patterns • Architecting is decision-intensive • Making a lot of decisions means doing a lot of documentation • Using patterns helps alleviate the need for as much documentation since the documentation is implicit • When a pattern is selected the architectural decision is documented via the pattern’s usage

  12. Limitations and further research • Application specific decisions must still be documented • Not all decisions can be captured via patterns • Organization decisions • Financial decisions • Using multiple patterns together without understanding them can lead to conflicts • Why a decision was made is not documented via patterns

  13. Questions?

More Related