Rohan Jaitley: Central Gov't Standing Counsel for Justice
Documenting software architecture
1. DR. HIMANSHU HORA
SRMS COLLEGE OF ENGG. & TECH.,BAREILLY
INDIA
Documenting Software
Architecture
2. Theme of topic
Documenting the architecture is the crowning step to
crafting it. Good architecture documentation is the
fruit which stakeholder get from herculean effort of
one person SYSTEM ARCHITECT and if the
stakeholders not been able to understand the whole
effort will have been wasted.
So documentation should have to be easy in
reading as well as in understanding.
3. Uses of architectural documentation
“Documentation is to write from the point of
view of the reader”
The architecture of the system depends on the
requirement levied on it.
Should be sufficiently abstract.
Should be detailed also to serve as blueprint.
Understand who the stakeholder are, this will help in
documentation.
4. Views
A software architecture for a system as
“the structure or the structures of the system , which
comprise elements , the externally visible properties
of those elements , and relationship among them”
View – representation of a coherent set of architectural
elements as written and read by stakeholders.
5. Documenting an architecture is a matter of
documenting the relevant view and then adding
documentation that applies to more than one view.
Backbone of the architecture documentation:-
Choosing the relevant view.
Documenting the view.
Documenting information that applies to more than one
view.
6. Choosing the relevant view
Simple three steps of choosing:-
Produce candidate view list
Combine views
Prioritize
7. Documenting a view
Primary presentation
Element catalog
Context diagram
Variability guide
Architecture background
Glossary of terms
Other information
8. Documenting behavior
Views represent structural information about the
system
Structural information alone is not sufficient
Behavior add information that reveals the ordering
of interaction among the elements etc.
In UML , sequence and state chart diagram are
example of behavior.
10. Variability provided by the interface
Quality attribute characteristics of the interface
Element requirements
Rationale and design issue
Usage guide