SE322 · Chapter 9 · Annotated SlidesDocumenting Software Architectures
PDF
Overview

Documenting Software Architectures

An architecture only helps if the people who need it know it, understand it and apply it correctly, so communicating it is as important as creating it. Documenting an architecture means choosing the relevant views (4+1, Siemens, SCR…) for the stakeholders’ concerns, documenting each view (primary presentation, element catalog, context diagram, variability guide, background), and documenting what spans the views (roadmap, overview, mappings, rationale, directory), usually following a template such as RUP or SEI and keeping only the minimum information needed.

Three uses

Education (introducing people), communication (among stakeholders), analysis (assuring quality attributes).

Getting started

Select the views, define the stakeholders, identify their concerns, choose what and how to document (a template).

Documenting a view

Primary presentation, element catalog, context diagram, variability guide, architecture background.

Beyond the views

Documentation roadmap, view documentation, system overview, mapping between views, rationale, directory.

How the lecture is organized

  • Slides 1–7Why document the architecture, its uses, how to start
  • Slides 8–13Choosing views (4+1, Siemens, Herzum & Sims, SCR); stakeholders and concerns
  • Slides 14–16Templates (RUP, SEI) and the minimum necessary information
  • Slides 17–22Documenting a view, and documentation beyond views
  • Slides 23–25Documenting quality attributes and summary

Exam focus

Final 252 Q8 took two 1-mark questions from this chapter: name two documentation templates (RUP and SEI), and list the major necessary information in an architecture document (problem description, context, rationale, principles and guidelines, structure, views, quality attributes).

How to read this page

Every original slide is shown unchanged. Yellow marks on a slide point to a numbered note: hover or tap a mark to jump to its note, and hover a note to see its marks. Questions tagged Past exam appeared on a real paper; Prediction questions are likely angles, not confirmed.

All 25 slides
  1. 1 Slide 1
  2. 2 Lecture Outlines
  3. 3 Documenting the architecture
  4. 4 Documenting the architecture
  5. 5 Documenting the architecture
  6. 6 Documenting the architecture
  7. 7 Documenting the architecture
  8. 8 Possible Architectural View approaches
  9. 9 Possible Architectural View approaches
  10. 10 Possible Architectural View approaches
  11. 11 Possible Architectural View approaches
  12. 12 Define stakeholders
  13. 13 Identify stakeholders' concerns
  14. 14 Define How to Document: the RUP template
  15. 15 Define How to Document: the SEI template
  16. 16 Define How to Document: the minimum necessary information
  17. 17 Documenting a View
  18. 18 Documenting a View
  19. 19 Documenting a View
  20. 20 Documentation beyond views
  21. 21 Documentation beyond views
  22. 22 Documentation beyond views
  23. 23 Documenting Quality Attributes
  24. 24 Summary
  25. 25 Lecture Outlines (recap)
Slide 1 / 25

Slide 1

Slide 1: Slide 1

Notes

  1. The final chapter: documenting the architecture, one of the architect’s key tasks from Chapter 2 and the fourth step of the architecture process.

Slide 2 / 25

Lecture Outlines

Slide 2: Lecture Outlines

Notes

  1. Why document at all.

  2. How to document one view.

  3. What to document beyond the individual views.

  4. How to document quality attributes.

Slide 3 / 25

Documenting the architecture

Slide 3: Documenting the architecture

Notes

  1. A system’s architecture may be its most crucial determinant of success or failure.

  2. Without an adequate architecture that delivers the required functions and quality attributes, the project will fail.

  3. Communicating the architecture to its stakeholders is as important as creating it in the first place.

Slide 4 / 25

Documenting the architecture

Slide 4: Documenting the architecture

Notes

  1. Even the best architecture is useless if the people who need it don’t know what it is…

  2. …can’t understand it well enough to use, build or modify it…

  3. …or misunderstand it and apply it incorrectly.

  4. So the architecture must be documented properly.

Slide 5 / 25

Documenting the architecture

Slide 5: Documenting the architecture

Notes

  1. Documenting an architecture means three things. Choose a set of relevant views (Chapter 2: no single view is enough).

  2. Document each of those views.

  3. Document information that applies to more than one view, or to the set as a whole.

  4. In other words: a way to choose the views, standard templates for documenting a view and what lies beyond the views, and definitions of what goes in each template section.

Slide 6 / 25

Documenting the architecture

Slide 6: Documenting the architecture

Notes

  1. Education: introducing people (new team members, external analysts) to the project.

  2. Communication among stakeholders: the documentation is the shared reference for discussions and decisions.

  3. Analysis: assuring the quality attributes, e.g. as the input to an ATAM evaluation (Chapter 8).

Exam angle

PredictionQ1

Which is NOT one of the three primary uses of architecture documentation?

  1. Marketing the product
  2. Education
  3. Communication among stakeholders
  4. Analysis
Show answer

A. Marketing the product

Slide 7 / 25

Documenting the architecture

Slide 7: Documenting the architecture

Notes

  1. To start, select the common views for the Software Architecture Document (SAD).

  2. Define the stakeholders (slide 12).

  3. Identify the stakeholders’ concerns (slide 13).

  4. Define what and how to document, i.e. select templates (slides 14–16).

Slide 8 / 25

Possible Architectural View approaches

Slide 8: Possible Architectural View approaches

Notes

  1. Several view sets exist. The first is Kruchten’s 4+1 (Chapter 2, Lecture 3).

  2. Logical (behavioural requirements: key abstractions as objects or classes), process (concurrency and distribution: threads mapped to objects), development (modules, libraries, subsystems), physical (elements mapped onto processing and communication nodes).

  3. The “plus one” view maps the other four onto important use cases to show how they work together.

Slide 9 / 25

Possible Architectural View approaches

Slide 9: Possible Architectural View approaches

Notes

  1. Siemens four views: conceptual, module interconnection, execution and code.

  2. Herzum & Sims: technical, application, project-management and functional architectures. Different view sets organise the same system for different purposes.

Slide 10 / 25

Possible Architectural View approaches

Slide 10: Possible Architectural View approaches

Notes

  1. The Software Cost Reduction (SCR) method chooses each view for the quality it supports.

  2. Module view: modules as units of encapsulation, to isolate changes (modifiability). Process view: processes and how they synchronise and communicate at run time (performance).

  3. Uses view: programs and how they depend on each other, to support incremental development and fielding subsets quickly.

Slide 11 / 25

Possible Architectural View approaches

Slide 11: Possible Architectural View approaches

Notes

  1. Planning a view set requires understanding the stakeholders’ needs, how they will use the documentation, and the resources available.

  2. This course used the 4+1 views because they are the most common.

Slide 12 / 25

Define stakeholders

Slide 12: Define stakeholders

Notes

  1. Sample stakeholders of the documentation: customer, project manager, end user, development-team members, analysts.

  2. Testers and integrators, infrastructure support, maintainers.

  3. Current and future architects, and product-line application builders. Each needs different information, which is why the views are chosen per stakeholder.

Slide 13 / 25

Identify stakeholders' concerns

Slide 13: Identify stakeholders' concerns

Notes

  1. Build a table that records each stakeholder, their concerns, and the view that addresses them.

  2. It helps prioritise the views by need (some stakeholders carry more weight), and it exposes gaps: a concern with no suitable view means the documentation can’t answer it.

  3. Example row: maintainer → “where do I change the tax rules?” → development view.

Slide 14 / 25

Define How to Document: the RUP template

Slide 14: Define How to Document: the RUP template

Notes

  1. After choosing views, stakeholders, concerns and content, a template is selected to prepare the documentation.

  2. Example: the Rational Unified Process (RUP) SAD template.

  3. Its sections: 1 Introduction (purpose, scope, definitions, references, overview); 2 Architectural representation; 3 Architectural goals and constraints; 4 Use-case view; 5 Logical view; 6 Process view; 7 Deployment view; 8 Implementation view; 9 Data view (optional); 10 Size and performance; 11 Quality. Sections 4–8 are the 4+1 views.

Exam angle

Past exam · Final 252 · Q8-4 · 1 markQ1

State two types of document templates that can be used to document the architecture.

Show answer

RUP (Rational Unified Process) template: introduction, architectural representation, goals and constraints, use-case, logical, process, deployment, implementation and data views, size and performance, quality. SEI (Software Engineering Institute) template: documentation roadmap, stakeholder representation, viewpoint definitions, architecture background, views, directory.

Slide 15 / 25

Define How to Document: the SEI template

Slide 15: Define How to Document: the SEI template

Notes

  1. The Software Engineering Institute (SEI) template (“Views and Beyond”).

  2. Its sections: 1 Documentation roadmap (stakeholder representation, viewpoint definitions); 2 Architecture background (problem background, solution background with approaches, analysis results, requirements coverage); 3 Views, each documented as view packets with primary presentation, element catalog, context diagram, variability mechanisms and architecture background.

  3. 5 Directory: index, glossary, acronym list. It mirrors slides 17–22 almost section for section.

Slide 16 / 25

Define How to Document: the minimum necessary information

Slide 16: Define How to Document: the minimum necessary information

Notes

  1. A software architecture document should contain the minimum information necessary to understand the system, and no more. Every extra page is something to keep up to date.

  2. The major necessary information (the figure): problem description, context, rationale, views, structure, principles and guidelines, quality attributes.

Exam angle

Past exam · Final 252 · Q8-5 · 1 markQ1

A software architecture document should have the minimum information necessary to understand the system but no more. What is the major necessary information to document?

Show answer

Problem description · context · rationale · principles and guidelines · structure · views · quality attributes.

Slide 17 / 25

Documenting a View

Slide 17: Documenting a View

Notes

  1. Documenting one view, part 1: the primary presentation, the main picture of the view.

  2. It is usually graphical (informally a “cartoon”), but may be textual, such as a table.

  3. If graphical, it includes a key explaining the notation, shows the elements and their relationships, and shows the most important information about the view first.

  4. Often the primary presentation is all that gets written, but it is most likely not enough: boxes and lines without explanation are ambiguous. Hence parts 2–5.

Slide 18 / 25

Documenting a View

Slide 18: Documenting a View

Notes

  1. Part 2, the element catalog: explains each element in the primary presentation, lists elements and their properties, explains the relations (and any exceptions or additions to those shown), and gives the elements’ interfaces.

  2. Part 3, the context diagram: shows how the system (or the part shown in this view) relates to its environment: users, external systems, hardware.

Slide 19 / 25

Documenting a View

Slide 19: Documenting a View

Notes

  1. Part 4, the variability guide: shows how to use the variation points in this part of the architecture. Some decisions are deliberately left unbound until later (a configurable database, optional modules), yet the architecture must still be documented.

  2. Part 5, the architecture background: the rationale for the design decisions in this view, including rejected alternatives and the factors that constrained the design; analysis results validating the decisions; and assumptions about the environment and the need the system fulfils.

Exam angle

PredictionQ1

List the parts used to document one architectural view.

Show answer

(1) Primary presentation (usually a diagram with a key); (2) element catalog (elements, properties, relations, interfaces); (3) context diagram; (4) variability guide; (5) architecture background (rationale, analysis results, assumptions).

PredictionQ2

The part of a view’s documentation that explains the elements shown in the diagram is the:

  1. Element catalog
  2. Variability guide
  3. Context diagram
  4. Documentation roadmap
Show answer

A. Element catalog

Slide 20 / 25

Documentation beyond views

Slide 20: Documentation beyond views

Notes

  1. Beyond the views, part 1, the documentation roadmap: how the documentation is organised to serve each stakeholder, the list of views (their elements, relations and purpose), and scenarios for using the documentation (“to find X, read sections Y and Z”).

  2. Part 2, view documentation: how each view is documented, i.e. the standard organisation every view follows.

Slide 21 / 25

Documentation beyond views

Slide 21: Documentation beyond views

Notes

  1. Part 3, the system overview: a short prose description of the system’s function, users, and important background or constraints, giving every reader the same mental model of the system and its purpose.

  2. Part 4, the mapping between views: correspondences between elements in different views (this logical component runs as that process on that node), often as tables. Without mappings, views can quietly contradict each other.

Slide 22 / 25

Documentation beyond views

Slide 22: Documentation beyond views

Notes

  1. Part 5, the rationale: the architectural decisions that apply to more than one view: the background, organisational constraints or major requirements behind system-wide decisions, and the choice of the fundamental architecture patterns.

  2. Part 6, the directory: reference material to find information quickly: an index of terms, a glossary and an acronym list.

Exam angle

PredictionQ1

List the six kinds of documentation that go beyond the individual views.

Show answer

Documentation roadmap; view documentation (how each view is organised); system overview; mapping between views; rationale (cross-view decisions); directory (index, glossary, acronym list).

Slide 23 / 25

Documenting Quality Attributes

Slide 23: Documenting Quality Attributes

Notes

  1. The document should include a rationale explaining the choice of design approach and discussing the quality-attribute requirements and their trade-offs.

  2. Architectural elements that provide a service often have quality-attribute bounds assigned to them (Chapter 2’s quality tags: “≤ 100 ms per order”).

  3. The documentation often contains a mapping to requirements showing how each requirement, including quality requirements, is satisfied.

  4. Every quality requirement has a constituency of stakeholders who want to know it will be met, so quality attributes must be clearly identified in the document.

Slide 24 / 25

Summary

Slide 24: Summary

Notes

  1. Understand the uses of the documentation and its audience before writing.

  2. Architecture documentation is a means of communication among stakeholders: up to management, down to developers, and across to peers.

  3. An architecture is complicated and is best expressed through views.

  4. Choose a set of views that is both minimal and adequate.

  5. Document the behaviour as well as the structure (e.g. sequence diagrams, not only component diagrams).

Slide 25 / 25

Lecture Outlines (recap)

Slide 25: Lecture Outlines (recap)

Notes

  1. The outline again as a recap: why document, documenting a view, documenting beyond the views, documenting quality. This is the last chapter of SE322.