1 / 15

Documenting Software Architectures

Documenting Software Architectures. Outline. Introduction Uses of Architectural Documentation Views Choosing the Relevant Views Documenting a View Documentation across Views Unified Modeling Language Summary. Introduction.

dane
Download Presentation

Documenting Software Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Documenting Software Architectures

  2. Outline • Introduction • Uses of Architectural Documentation • Views • Choosing the Relevant Views • Documenting a View • Documentation across Views • Unified Modeling Language • Summary

  3. Introduction • The software architecture plays a central role in system development and the organization that produces it. • It is a blueprint for both the system and the project developing it. • It defines work assignments. • It is the primary carrier of system qualities. • It is the conceptual glue that holds every phase of the project together for all of its many stakeholders.

  4. Introduction (Cont’d) • Documentation is the crowning step to crafting the architecture. • It must be described in sufficient detail, without ambiguity, and organized so that all stakeholders can quickly find the information they need.

  5. Uses of Architectural Documentation • Architecture documentation is both prescriptive and descriptive. • It satisfies the different needs of different stakeholders. • It probably consists of many different pieces, each oriented to a specific set of stakeholders. • It helps to educate people new to the project.

  6. Stakeholders Who Use the Architectural Documentation • Architect and requirements engineers who represent the customer(s) • Architect and designers of constituent parts • Implementors • Testers and integrators • Maintainers • Designers of other systems with which this one must interoperate

  7. Stakeholders (Cont’d) • Quality attribute specialists • Managers • Product line managers • Quality assurance team

  8. Views • There are many viewpoints for an architecture. • Documenting an architecture is a matter of documenting the relevant views and then adding documentation that applies to more than one view.

  9. Choosing the Relevant Views • Architects need to think about their software in at least three ways: • How it is structured as a set of implementation units (module view) • How it is structured as a set of elements that have runtime behavior and interactions (component-and-connector view) • How it relates to non-software structures in its environment (allocation view)

  10. Approach to Choosing Views • Produce a candidate view list • Combine views • Prioritize

  11. Documenting a View • Primary presentation – this is usually graphical • Element catalog – details those elements depicted in the primary presentation • Context diagram – shows how the system relates to its environment • Variability guide – shows how to exercise any variability points

  12. Documenting a View (Cont’d) • Architecture background – explains why this design came to be • Glossary of terms – contains a brief description of terms used in the view • Other information – contents of this section vary with the product and the organization

  13. The Seven Parts of a Documented View

  14. Documenting Interfaces • This is what you need to present an accurate picture of the element’s externally visible interactions for the interfaces in your project.

  15. The Nine Parts of Interface Documentation

More Related