In Philippe Kruchten’s seminal paper, “Architectural Blueprints—The “4+1” View Model of Software Architecture”, the idea of looking at software architectures from a number of viewpoints is put forth. This idea is needed because architectures are too complex to fit into one diagram. The views the Kructhen outlines are:
- Logical
- Development
- Physical
- Process
He “+1” of his model are scenarios or use cases that illustrate the architecture from a functional view.
Nick Rozanski and Eoin Woods build on that idea in their book, Software Systems Architecture. They list a number of other viewpoints that can be used to describe a Software Architecture. They are:
- The Functional Viewpoint
- The Information Viewpoint
- The Concurrency Viewpoint
- The Development Viewpoint
- The Deployment Viewpoint
- The Operational Viewpoint
They also introduce the idea of software architecture perspectives. These perspectives take on architectural attributes that are found across viewpoints, such as security. I encourage you to read their book and tailor it to your architecture. It has helped me tremendously on past projects and I plan to post samples soon.