1 / 15

Documenting Software Architectures

Documenting Software Architectures. Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture documentation servers as a primary vehicle for communication among stakeholders

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 Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture documentation servers as a primary vehicle for communication among stakeholders Architecture documentation serves as the basis for system analysis and construction Notations for Architecture Documentation Informal notations Semiformal notations (e.g. UML) Formal notations (e.g. Architecture Description Language (ADL)) Views

  2. Documenting Software Architectures

  3. Documenting Software Architectures Properties of a module in module view Name Responsibility Visibility of interfaces Implementation information Mapping to source code units Test information Management information Implementation constraints Revision history

  4. Documenting Software Architectures

  5. Documenting Software Architectures Properties of a component or connector in C&C view Name Type Reliability Performance Resource requirements Functionality Security Concurrency Modifiability (for data message) Tier

  6. Documenting Software Architectures

  7. Documenting Software Architectures

  8. Documenting Software Architectures Views Quality Views For documenting how quality attribute requirements are fully realized in the architecture design. Security view Communication view Exception or error-handling view Reliability view Performance view

  9. Documenting Software Architectures Choosing the Views Step 1: Build a stakeholder/view table Step 2: Combine views Step 3: Prioritize and stage (usually decomposition (module) view first) Combining Views The easiest way to merge views is to create an overlay that combines the information that would otherwise have been in two separate views. Common combinations: Various C&C views Deployment view with either SOA or communicating-processes views Decomposition view and any of work assignment, implementation, uses, or layered views Building the Documentation Package Documenting a view Documenting information beyond views Documenting Behavior (using trace-oriented languages) Traces are sequences of activities or interactions that describe the system’s response to a specific stimulus when the system is in a specific state. A trace describes a sequence of activities or interactions between structural elements of a system. UML use case, sequence, communication, activity, state machine diagrams.

  10. Documenting Software Architectures

  11. Documenting Software Architectures

  12. Documenting Software Architectures

  13. Documenting Behavior • Documenting an architecture requires behavior documentation that complements structural views by describing how architecture elements interact with each other. • Two kinds of notations available documenting behavior • Trace-oriented languages • Traces are sequences of activities or interactions that describe the system’s response to a specific stimulus when the system in a specific state. • A trace describes a sequence of activities or interactions between structural elements of a system. • 4 notations of documenting traces: • Use cases • UML sequence diagram • UML communication diagram • UML activity diagram • Comprehensive languages • Architecture Analysis and Design Language (AADL): reason about runtime behavior • Specification and Description Language (SDL): for telephony Documenting Software Architectures

  14. Documenting Software Architectures

  15. Documenting Software Architectures

More Related