Software Architecture Document Template
Give an overview of the high level requirements
Add text here
User Roles and Reponsibilities
Document roles and responsibilities of the each user type
Add text here
Constraints
Any constraint that you need to keep in mind for your design
Examples:
- Technology constraints
- Cost constraints
- Time constraints
Add text here
Assumptions
Any assumptions that you have made while coming up with the design
Add text here
Business processes
Important business processes that you have considered while documenting the design
Add text here
Non-functional Requirements (Quality Attributes)
Most important quality attributes based on the business goals
Add text here
Back of the envelope calculations
Do quick calculations for storage needs, read vs writes, etc.
Add text here
Functional Layer Diagram
List of functional components that will make the system. Which actor will work on which functional part.
Add text here
Architecture Style
Which architecture style you are proposing to build the application
Add text here
Solution Context Diagram
This is a high level context diagram that shows system as a black box, its main user personas, and external integrations
Add text here
Solution Diagram
In this section you create the solution diagram showing different components that make the system. This is a zoom-in view of the system you are building.
Add text here
Technology Stack
The list of technologies that you will use to build the system and the reason you choose them.
These include:
- Technologies
- API Style
- Cloud or on-premise
Add text here
Architecture Decisions
Important architecture decision that you want development team to follow
Add text here