Skip to content

TemplateArchitectureDocument

Victor Kane edited this page Dec 17, 2013 · 3 revisions

Copy and use the following Architecture Document Template in the description section of a new issue for your project:

### Introduction
#### Purpose
This document, a work in progress, provides a comprehensive architectural overview of the <name> system and its components, using a number of different architectural views to depict different aspects of the system.  It is intended to capture and convey the significant architectural decisions which have been made on the system.
#### Scope
This document is aimed at every member of the <name> team participating in the decision making process regarding process engineering and architecture.
#### Glossary
Term | Definition
--- | --- 
 | 
#### References
### Architectural Representation
This document presents the architecture as a series of views; the use case, logical, deployment, implementation, data, size and performance, and quality views.
### Architectural Goals and Constraints
These are some key requirements and system constraints that have a significant bearing on the architecture.
### Use Case View
The use case view represents the architecturally significant use-cases of the system, which comprise its central functionality. It certainly describes the set of scenarios and/or use cases that exercise many architectural elements or that stress or illustrate a specific, delicate point of the architecture.
### Logical View
This view presents architecturally significant analysis and design elements. It describes the high level model depicting those dynamic objects capable of implementing the functionality specified in the use cases (analysis) together with the most important components, packages and subsystems, and the organization of these packages and subsystems into layers (design).
### Deployment View
This section describes one or more physical network (hardware) configurations on which the software is deployed and run.
### Implementation View
This section describes the decomposition of the software and its organization into layers and subsystems, and cross-platform (mobile, smart tv, tablet...) clients.
#### Adaptive considerations
#### API and Back-end view
#### Front-end view
### Data View
This view describes the architecturally significant persistent elements in the data model and its organization in terms of the tables, views, indexes, triggers and stored procedures used to provide persistence to the system. It also describes the mapping of persistent classes (from the Logical View) to the data structure of the database. Web app, offline web app, synching and distributed and scaling concerns are addressed.
#### Offline and local storage view
#### Synching and Distributed view
### Size and Performance (Quantity)
This section describes architecturally-defining volumetric and responsiveness characteristics of the system, for example, number of simultaneous sessions that need to be supported, and the distributed character of back-end tiers and clients.
### Quality
Here, the key quality dimensions of the system that shape the architecture are listed, for example, MTBF.
Clone this wiki locally