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
valueproduction

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
  2. Project documentation
  3. System documentation
  4. Product 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
Section
titleDoctypes

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

Tour
header-translationsName=Resource, Doctype=Type
replace-title-with-nametrue
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