Child pages
  • Software Architecture Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Document Properties Marker
overridefalse


Short DescriptionCommunicate the quality targets, context, and design drivers of your software architecture.
 

Doctypebusiness-use-casehide
NameSoftware Architecture Documentation
 

Parent
Parent Property
property-nameName
 

Audience
Name List
doctyperole
propertyAudience
 

Subject
Name List
doctypesubject
propertySubject
 

Categories
Name List
doctypecategory
names/ Volume
space-keys@all
propertyCategories
 

Tags
Tag List
propertyTags
 

Iteration

Iteration
value

focused

production

hide
Sort Keyhide



Section
titleDescription
 


Section
show-titlefalse
titleSummary

Developing software demands high levels communication between possibly quite large number of stakeholders. While direct communication typically is preferred, but not always practicable. Benjamin Kovitz lists the following principal benefits of documentation in Practical Software Requirements.

Documentation

  1. extends what the mind can grasp and remember
  2. gives the same story to each member of the team
  3. introduces new team members to the project
  4. protects intellectual equity
  5. helps the writer to better understand the problem

While the information about a software systems is unique, the basic structure of documents, especially to describe a software architecture, is not necessarily so. Teams communicating the structure and design principles may select a predefined structure, such as the arc42 Template, and smaller, much more confined templates for quality targets, views, and decisions. By selecting an existing structure authors and readers may save resources and are able to create value faster in a well-known environment.

For successfully communicating a software architecture it is important to drive the process of generating useful information from development artifacts automatically. This includes such classic living documentation artifacts as acceptance tests, but also static derived information as dependencies and system codes.

Note Box
titleTypes of Documentation


Section


Column

Besides communicating the system architecture, a software development project may need to document other aspects, too. Documentation is roughly organized in four types of documentation:

  1. Process documentation
    - how do we want to work and what do we need to work?
  2. Project documentation
    - what have we actually decided, done, and must keep in mind?
  3. System documentation
    - the technical documentation for the team creating the product.
  4. Product documentation
    - relevant information for users of the product (including support teams).

Keep in mind that answering the "why" questions is essential for all kinds of documentation.

The PDAC1 provides tools for the four quadrants of documentation.


Column




...

Section
titleResources


Section
titleInformation Material

The following list of resources provides background information on creating and working with software architecture documentation based on the PDAC1 for Confluence.

 
Tour
header-translationsName=Resource, Doctype=Type
replace-title-with-nametrue


TitleShort Description
Doctype
projectdoc Add-on for arc42  
Software Development Doctypes  
Doctypes for Agile Planning  
projectdoc for Java Developers  
Hands-on Tutorial  
Doctypes Introduction  
Basic Concepts and Conventions for projectdoc 
Software Project Documentation
How to document a Software Development Project
Hands-on Tutorial
Doctypes Introduction
Basic Concepts and Conventions for projectdoc


Related doctype add-ons are

Tour
header-translationsName=Resource, Doctype=Type
replace-title-with-nametrue





Section
titleDoctypes

The following doctypes (blueprints based on the PDAC1) provided page blueprints to create a software architecture documentation.

 
Tour
header-translationsName=Resource, Doctype=Type, Set=Suite
replace-title-with-nametrue


TitleShort DescriptionSetCategories
arc42 Template
 



Architecture Aspect
 
 



Architecture Decision
  



Project Constraint
  



Quality Target
 
 



View
  






Section
titleMacros

The following macros of the PDAC1 support creating or working with a software architecture documentation.

Tour
header-translationsName=Resource, Doctype=Type
replace-title-with-nametrue


TitleShort DescriptionCategories
Display Document Properties Macro
  


Display Table Macro
  


Tour Macro
 
 


Text Snippet Macro
  


System Transclusion Macro
  


System Image Link Macro
  


System Image Link Macro