SlideShare a Scribd company logo
Software Architecture
        Documentation
                     Paulo Gandra de Sousa
                           2010.08.03

pagsousa@gmail.com    http://twitter.com/pagsousa   http://linkedin.com/in/pagsousa
Goals
1.   Present common views and SAD
2.   Define stakeholders
3.   Identify stakeholders’s concerns
4.   Define what and how to document
Scope
            IN                      OUT

• Initial description of   • Detailed architecture
  architecture             • Data model
Introduction
The software architecture of a program or
   computing system is the structure or
 structures of the system, which comprise
     software elements, the externally
   visible properties of those elements,
    and the relationships among them.
                Bass, Clements, Kazman (2003)
[Software architecture is] The
 fundamental organization of a system
    embodied in its components, their
 relationships to each other, and to the
environment, and the principles guiding
        its design and evolution.
                     ANSI/IEEE 1471 (2000)
Architecture in the
software development process




                   Architecture Reconstruction
Context
          Problem description



                                                      Rationale

Quality attributes

                                                        Views

                        Software Architecture
                             Document

      Principles and Guidelines
                                                Structure
RUP’s SAD
1.  Introduction
      1. Purpose
      2. Scope
      3. Definitions, Acronyms, and Abbreviations
      4. References
      5. Overview
2. Architectural Representation
3. Architectural Goals and Constraints
4. Use-Case View
      1. Use-Case Realizations
5. Logical View
      1. Overview
      2. Architecturally Significant Design Packages
6. Process View
7. Deployment View
8. Implementation View
      1. Overview
      2. Layers
9. Data View (optional)
10. Size and Performance
11. Quality
SEI’s SAD
1.   Documentation Roadmap
                                                   1.5     Viewpoint Definitions
      1. …
                                                   1.5.1      <viewpoint> Viewpoint Definition
      2. Stakeholder Representation                1.5.1.1        Abstract
      3. Viewpoint Definitions                     1.5.1.2        Stakeholders and Their Concerns Addressed
      4. …                                         1.5.1.3        Elements, Relations, Properties and
                                                                  Constraints
2.   Architecture Background
                                                   1.5.1.4        Language(s) to Model/Represent Conforming
      1. Problem Background                                       Views
             1. System Overview                    1.5.1.5        Applicable Evaluation/Analysis Techniques
                                                                  and Consistency/Completeness Criteria
             2. Goals and Context
                                                   1.5.1.6        Viewpoint Source
             3. Significant Driving Requirements
      2. Solution Background
             1. Architectural Approaches           3.1     <view name> View
             2. Analysis Results                   3.1.1     View Description
                                                   3.1.2     View Packet Overview
             3. Requirements Coverage
                                                   3.1.3     Architecture Background
             4. Summary of Background Changes      3.1.4     Variability Mechanisms
                 Reflected in Current Version      3.1.5     View Packets
      3. Product Line Reuse Considerations         3.1.5.1       View packet #i
3.   Views                                         3.1.5.1.1          Primary Presentation
      1. <Insert view name> View                   3.1.5.1.2          Element Catalog
                                                   3.1.5.1.3          Context Diagram
4.   …
                                                   3.1.5.1.4          Variability Mechanisms
5.   Directory                                     3.1.5.1.5          Architecture Background
      1. Index                                     3.1.5.1.6          Related View Packets
      2. Glossary
      3. Acronym List
Less is More*

* SAD should have the minimum information necessary
    to understand the system but no more than that
Different kinds of views
           Structural




External                Behavioral
Different viewsets
• RUP 4+1
• Siemens
• Rozansky & Woods’ views and
  perspectives
• SEI’s views and beyond
• …
RUP 4+1
Siemens




Adapted from “Applied Software Architecture”, Hofmeister, C. et al. (2000).
Rozansky & Woods
SEI’s Views and Beyond
Module vs. C&C
Usefullness of views
Structure         Relations                           Useful for
Decomposition     Is a submodule of; shares secret    Resource allocation and project structuring and
                  with                                planning; information hiding, encapsulation;
                                                      configuration control
Uses              Requires the correct presence of    Engineering subsets; engineering extensions
Layered           Requires the correct presence of;   Incremental development; implementing systems on
                  uses the services of; provides      top of "virtual machines" portability
                  abstraction to
Class             Is an instance of; shares access    In OO design systems, producing rapid almost-alike
                  methods of                          implementations from a common template

Client-Server     Communicates with; depends on       Distributed operation; separation of concerns;
                                                      performance analysis; load balancing

Process           Runs concurrently with; may run     Scheduling analysis; performance analysis
                  concurrently with; excludes;
                  precedes; etc.
Concurrency       Runs on the same logical thread     Identifying locations where resource contention exists,
                                                      where threads may fork, join, be created or be killed

Shared Data       Produces data; consumes data        Performance; data integrity; modifiability
Deployment        Allocated to; migrates to           Performance, availability, security analysis
Implementation    Stored in                           Configuration control, integration, test activities
Work Assignment   Assigned to                         Project management, best use of expertise,
                                                      management of commonality
Sample Views

https://wiki.sei.cmu.edu/sad
Functionality
High level Module Uses view
Context Diagram
OPC Module Decomposition view
OPC Module Uses view
High level C&C view
OPC C&C view
Deployment view
High level Implementation view
Element catalog
Discussion
SAD
•   Intended audience (stakeholders)
•   Stakeholders’ concerns to address
•   Sections to include
•   Views to include
•   Depth of documentation
Stakeholders
• Sample stakeholders:
   – Project Manager
   – Member of Development
     Team
   – Testers and Integrators
   – Maintainers
   – Product Line Application
     Builder
   – Customer
   – End User
   – Analyst
   – Infrastructure Support
   – New Stakeholder
   – Current and Future
     Architect
stakeholders
Stakeholder Concerns to adddress
SEI example Stakeholders’
                     documentation needs
                                           Module                           C&C                  Allocation
Stakeholder             Decomposition       Uses      Class    Layer     Various       Deployment      Implem.
Project Manager                 s              s                  s                          d
Member of                       d              d        d         d           d              s                s
Development Team
Testers and                                    d        d                     s              s                s
Integrators
Maintainers                     d              d        d         d           d              s                s
Product Line                                   d         s        o           s              s                s
Application Builder
Customer                                                                      s              o
End User                                                                      s              s
Analyst                         d              d         s        d           s              d
Infrastructure                  s              s                  s                          s                d
Support
New Stakeholder                 x              x         x        x           x              x                x
Current and Future              d              d        d         d           d              d                s
Architect



                 d = detailed information, s = some details, o = overview information, x = anything
Stakeholders’
                  documentation needs
                                  Module Views            C&C Views         Allocation Views

Stakeholder       Decomposition    Uses   Class   Layer   Various     Deployment   Implementation




 d = detailed information, s = some details, o = overview information, x = anything
Context
RUP’s SAD
1.  Introduction
      1. Purpose
      2. Scope
      3. Definitions, Acronyms, and Abbreviations
      4. References
      5. Overview
2. Architectural Representation
3. Architectural Goals and Constraints
4. Use-Case View
      1. Use-Case Realizations
5. Logical View
      1. Overview
      2. Architecturally Significant Design Packages
6. Process View
7. Deployment View
8. Implementation View
      1. Overview
      2. Layers
9. Data View (optional)
10. Size and Performance
11. Quality
SEI’s SAD
1.   Documentation Roadmap
                                                   1.5     Viewpoint Definitions
      1. …
                                                   1.5.1      <viewpoint> Viewpoint Definition
      2. Stakeholder Representation                1.5.1.1        Abstract
      3. Viewpoint Definitions                     1.5.1.2        Stakeholders and Their Concerns Addressed
      4. …                                         1.5.1.3        Elements, Relations, Properties and
                                                                  Constraints
2.   Architecture Background
                                                   1.5.1.4        Language(s) to Model/Represent Conforming
      1. Problem Background                                       Views
             1. System Overview                    1.5.1.5        Applicable Evaluation/Analysis Techniques
                                                                  and Consistency/Completeness Criteria
             2. Goals and Context
                                                   1.5.1.6        Viewpoint Source
             3. Significant Driving Requirements
      2. Solution Background
             1. Architectural Approaches           3.1     <view name> View
             2. Analysis Results                   3.1.1     View Description
                                                   3.1.2     View Packet Overview
             3. Requirements Coverage
                                                   3.1.3     Architecture Background
             4. Summary of Background Changes      3.1.4     Variability Mechanisms
                 Reflected in Current Version      3.1.5     View Packets
      3. Product Line Reuse Considerations         3.1.5.1       View packet #i
3.   Views                                         3.1.5.1.1          Primary Presentation
      1. <Insert view name> View                   3.1.5.1.2          Element Catalog
                                                   3.1.5.1.3          Context Diagram
4.   …
                                                   3.1.5.1.4          Variability Mechanisms
5.   Directory                                     3.1.5.1.5          Architecture Background
      1. Index                                     3.1.5.1.6          Related View Packets
      2. Glossary
      3. Acronym List
Proposed general content
• Architecture background
  – Problem Background
    • System Overview
    • Goals and Context
    • Significant Driving Requirements
  – Solution Background
    • Architectural Approaches
    • Analysis Results
    • Requirements Coverage
Proposed views to include in a
                SAD
•   Functional view
•   High-level module uses view
•   High-level module decomposition view
•   High-level C&C view
•   Deployment view
Proposed content for each view
• View description
• Primary presentation
• Element catalog
  –   Elements
  –   Relations
  –   Interfaces
  –   Behavior
  –   Constraints
• Context diagram
• Variability mechanisms
• Architecture background
Non-functional view, a.k.a.,
          Quality attributes
•   Performance
•   Scalability
•   Availability
•   Security
•   Extensibility
•   Flexibility
•   Monitoring and management
•   Reliability
•   Interoperability
•   Legal and regulatory requirements
•   Internationalisation and localisation
•   Accessibility
•   …
Documenting Software Architectures
Thank you

More Related Content

What's hot (20)

PPTX
Uml Presentation
mewaseem
 
PPT
Unified Modeling Language
Debajyoti Biswas
 
PPTX
Let us understand design pattern
Mindfire Solutions
 
PDF
Introduction to Design Pattern
Sanae BEKKAR
 
PPTX
Architectural structures and views
Dr Reeja S R
 
PPT
Architecture design in software engineering
Preeti Mishra
 
PPTX
Software Architecture
Dharmalingam Ganesan
 
PPTX
Software Architecture Design for Begginers
Chinh Ngo Nguyen
 
PDF
Object Oriented Analysis Design using UML
Ajit Nayak
 
PPTX
4+1 View Model of Software Architecture
bashcode
 
PPT
Test Automation Framework Designs
Sauce Labs
 
PPTX
Software Architecture Design Decisions
Afaq Mansoor Khan
 
PPTX
Domain model Refinement
Anjan Kumar
 
PPT
Use Case Diagram
Ashesh R
 
PPT
Lecture 6 agile software development
IIUI
 
PPTX
4+1 view model
Shobana Chokkalingam
 
PPTX
Architectural patterns for real-time systems
sommerville-videos
 
PPT
SOLID Design Principles
Andreas Enbohm
 
PPTX
unit 3 Design 1
TharuniDiddekunta
 
PPTX
Gof design patterns
Srikanth R Vaka
 
Uml Presentation
mewaseem
 
Unified Modeling Language
Debajyoti Biswas
 
Let us understand design pattern
Mindfire Solutions
 
Introduction to Design Pattern
Sanae BEKKAR
 
Architectural structures and views
Dr Reeja S R
 
Architecture design in software engineering
Preeti Mishra
 
Software Architecture
Dharmalingam Ganesan
 
Software Architecture Design for Begginers
Chinh Ngo Nguyen
 
Object Oriented Analysis Design using UML
Ajit Nayak
 
4+1 View Model of Software Architecture
bashcode
 
Test Automation Framework Designs
Sauce Labs
 
Software Architecture Design Decisions
Afaq Mansoor Khan
 
Domain model Refinement
Anjan Kumar
 
Use Case Diagram
Ashesh R
 
Lecture 6 agile software development
IIUI
 
4+1 view model
Shobana Chokkalingam
 
Architectural patterns for real-time systems
sommerville-videos
 
SOLID Design Principles
Andreas Enbohm
 
unit 3 Design 1
TharuniDiddekunta
 
Gof design patterns
Srikanth R Vaka
 

Similar to Documenting Software Architectures (20)

PPT
Design Concepts software engineering.ppt
RohanMalik45
 
PPT
CHAPTER12.ppt
CharenReposposa
 
PPT
3 analysis and design overview
Châu Thanh Chương
 
PPTX
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
PPTX
Software architecture simplified
Prasad Chitta
 
DOCX
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
 
PDF
[2015/2016] Introduction to software architecture
Ivano Malavolta
 
PPT
Architectural design
SHREEHARI WADAWADAGI
 
PPT
Chapter1
Hoang Vu Dinh
 
PDF
4+1view architecture
Tot Bob
 
PDF
4+1view architecture
drewz lin
 
PPTX
Software Architecture Standard IEEE 1471
vconovalov
 
PPTX
Chen.tim
NASAPMC
 
PPTX
design concepts in software engineering.pptx
priyadharshini512852
 
PDF
Design Engineering is a topic of software engineering of second year fourth s...
38aartidhage
 
PDF
Software archiecture lecture09
Luktalja
 
PDF
Arch06 1
nazn
 
PDF
Uml3
Majong DevJfu
 
PDF
Software design
ambitlick
 
PDF
Sdd template
Shakeel Ahmed, PhD
 
Design Concepts software engineering.ppt
RohanMalik45
 
CHAPTER12.ppt
CharenReposposa
 
3 analysis and design overview
Châu Thanh Chương
 
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Software architecture simplified
Prasad Chitta
 
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
 
[2015/2016] Introduction to software architecture
Ivano Malavolta
 
Architectural design
SHREEHARI WADAWADAGI
 
Chapter1
Hoang Vu Dinh
 
4+1view architecture
Tot Bob
 
4+1view architecture
drewz lin
 
Software Architecture Standard IEEE 1471
vconovalov
 
Chen.tim
NASAPMC
 
design concepts in software engineering.pptx
priyadharshini512852
 
Design Engineering is a topic of software engineering of second year fourth s...
38aartidhage
 
Software archiecture lecture09
Luktalja
 
Arch06 1
nazn
 
Software design
ambitlick
 
Sdd template
Shakeel Ahmed, PhD
 
Ad

More from Paulo Gandra de Sousa (20)

PDF
Introduction to Microservices
Paulo Gandra de Sousa
 
PPTX
Minds-on DDD
Paulo Gandra de Sousa
 
PPTX
Introduction to microservices
Paulo Gandra de Sousa
 
PPTX
Benefits of Hypermedia API
Paulo Gandra de Sousa
 
PPTX
Design Patterns: From STUPID to SOLID code
Paulo Gandra de Sousa
 
PPTX
Design Patterns: Back to Basics
Paulo Gandra de Sousa
 
PPTX
Hypermedia APIs
Paulo Gandra de Sousa
 
PPTX
RESTful services Design Lab
Paulo Gandra de Sousa
 
PPTX
Principles of Service Orientation
Paulo Gandra de Sousa
 
PDF
OO design principles and patterns
Paulo Gandra de Sousa
 
PPT
Modern web architectural patterns
Paulo Gandra de Sousa
 
PPT
REST beyond CRUD
Paulo Gandra de Sousa
 
PPTX
Revision control with Mercurial
Paulo Gandra de Sousa
 
PDF
Rest web services
Paulo Gandra de Sousa
 
PDF
Lição prova professor coordenador
Paulo Gandra de Sousa
 
PDF
Patterns of Enterprise Application Architecture (by example)
Paulo Gandra de Sousa
 
PDF
Software Product Lines
Paulo Gandra de Sousa
 
PDF
PoEAA by Example
Paulo Gandra de Sousa
 
PDF
Enterprise Integration Patterns
Paulo Gandra de Sousa
 
PPTX
Patterns for distributed systems
Paulo Gandra de Sousa
 
Introduction to Microservices
Paulo Gandra de Sousa
 
Minds-on DDD
Paulo Gandra de Sousa
 
Introduction to microservices
Paulo Gandra de Sousa
 
Benefits of Hypermedia API
Paulo Gandra de Sousa
 
Design Patterns: From STUPID to SOLID code
Paulo Gandra de Sousa
 
Design Patterns: Back to Basics
Paulo Gandra de Sousa
 
Hypermedia APIs
Paulo Gandra de Sousa
 
RESTful services Design Lab
Paulo Gandra de Sousa
 
Principles of Service Orientation
Paulo Gandra de Sousa
 
OO design principles and patterns
Paulo Gandra de Sousa
 
Modern web architectural patterns
Paulo Gandra de Sousa
 
REST beyond CRUD
Paulo Gandra de Sousa
 
Revision control with Mercurial
Paulo Gandra de Sousa
 
Rest web services
Paulo Gandra de Sousa
 
Lição prova professor coordenador
Paulo Gandra de Sousa
 
Patterns of Enterprise Application Architecture (by example)
Paulo Gandra de Sousa
 
Software Product Lines
Paulo Gandra de Sousa
 
PoEAA by Example
Paulo Gandra de Sousa
 
Enterprise Integration Patterns
Paulo Gandra de Sousa
 
Patterns for distributed systems
Paulo Gandra de Sousa
 
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
The Future of Artificial Intelligence (AI)
Mukul
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 

Documenting Software Architectures

  • 1. Software Architecture Documentation Paulo Gandra de Sousa 2010.08.03 [email protected] http://twitter.com/pagsousa http://linkedin.com/in/pagsousa
  • 2. Goals 1. Present common views and SAD 2. Define stakeholders 3. Identify stakeholders’s concerns 4. Define what and how to document
  • 3. Scope IN OUT • Initial description of • Detailed architecture architecture • Data model
  • 5. The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Bass, Clements, Kazman (2003)
  • 6. [Software architecture is] The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. ANSI/IEEE 1471 (2000)
  • 7. Architecture in the software development process Architecture Reconstruction
  • 8. Context Problem description Rationale Quality attributes Views Software Architecture Document Principles and Guidelines Structure
  • 9. RUP’s SAD 1. Introduction 1. Purpose 2. Scope 3. Definitions, Acronyms, and Abbreviations 4. References 5. Overview 2. Architectural Representation 3. Architectural Goals and Constraints 4. Use-Case View 1. Use-Case Realizations 5. Logical View 1. Overview 2. Architecturally Significant Design Packages 6. Process View 7. Deployment View 8. Implementation View 1. Overview 2. Layers 9. Data View (optional) 10. Size and Performance 11. Quality
  • 10. SEI’s SAD 1. Documentation Roadmap 1.5 Viewpoint Definitions 1. … 1.5.1 <viewpoint> Viewpoint Definition 2. Stakeholder Representation 1.5.1.1 Abstract 3. Viewpoint Definitions 1.5.1.2 Stakeholders and Their Concerns Addressed 4. … 1.5.1.3 Elements, Relations, Properties and Constraints 2. Architecture Background 1.5.1.4 Language(s) to Model/Represent Conforming 1. Problem Background Views 1. System Overview 1.5.1.5 Applicable Evaluation/Analysis Techniques and Consistency/Completeness Criteria 2. Goals and Context 1.5.1.6 Viewpoint Source 3. Significant Driving Requirements 2. Solution Background 1. Architectural Approaches 3.1 <view name> View 2. Analysis Results 3.1.1 View Description 3.1.2 View Packet Overview 3. Requirements Coverage 3.1.3 Architecture Background 4. Summary of Background Changes 3.1.4 Variability Mechanisms Reflected in Current Version 3.1.5 View Packets 3. Product Line Reuse Considerations 3.1.5.1 View packet #i 3. Views 3.1.5.1.1 Primary Presentation 1. <Insert view name> View 3.1.5.1.2 Element Catalog 3.1.5.1.3 Context Diagram 4. … 3.1.5.1.4 Variability Mechanisms 5. Directory 3.1.5.1.5 Architecture Background 1. Index 3.1.5.1.6 Related View Packets 2. Glossary 3. Acronym List
  • 11. Less is More* * SAD should have the minimum information necessary to understand the system but no more than that
  • 12. Different kinds of views Structural External Behavioral
  • 13. Different viewsets • RUP 4+1 • Siemens • Rozansky & Woods’ views and perspectives • SEI’s views and beyond • …
  • 15. Siemens Adapted from “Applied Software Architecture”, Hofmeister, C. et al. (2000).
  • 19. Usefullness of views Structure Relations Useful for Decomposition Is a submodule of; shares secret Resource allocation and project structuring and with planning; information hiding, encapsulation; configuration control Uses Requires the correct presence of Engineering subsets; engineering extensions Layered Requires the correct presence of; Incremental development; implementing systems on uses the services of; provides top of "virtual machines" portability abstraction to Class Is an instance of; shares access In OO design systems, producing rapid almost-alike methods of implementations from a common template Client-Server Communicates with; depends on Distributed operation; separation of concerns; performance analysis; load balancing Process Runs concurrently with; may run Scheduling analysis; performance analysis concurrently with; excludes; precedes; etc. Concurrency Runs on the same logical thread Identifying locations where resource contention exists, where threads may fork, join, be created or be killed Shared Data Produces data; consumes data Performance; data integrity; modifiability Deployment Allocated to; migrates to Performance, availability, security analysis Implementation Stored in Configuration control, integration, test activities Work Assignment Assigned to Project management, best use of expertise, management of commonality
  • 22. High level Module Uses view
  • 32. SAD • Intended audience (stakeholders) • Stakeholders’ concerns to address • Sections to include • Views to include • Depth of documentation
  • 33. Stakeholders • Sample stakeholders: – Project Manager – Member of Development Team – Testers and Integrators – Maintainers – Product Line Application Builder – Customer – End User – Analyst – Infrastructure Support – New Stakeholder – Current and Future Architect
  • 35. SEI example Stakeholders’ documentation needs Module C&C Allocation Stakeholder Decomposition Uses Class Layer Various Deployment Implem. Project Manager s s s d Member of d d d d d s s Development Team Testers and d d s s s Integrators Maintainers d d d d d s s Product Line d s o s s s Application Builder Customer s o End User s s Analyst d d s d s d Infrastructure s s s s d Support New Stakeholder x x x x x x x Current and Future d d d d d d s Architect d = detailed information, s = some details, o = overview information, x = anything
  • 36. Stakeholders’ documentation needs Module Views C&C Views Allocation Views Stakeholder Decomposition Uses Class Layer Various Deployment Implementation d = detailed information, s = some details, o = overview information, x = anything
  • 38. RUP’s SAD 1. Introduction 1. Purpose 2. Scope 3. Definitions, Acronyms, and Abbreviations 4. References 5. Overview 2. Architectural Representation 3. Architectural Goals and Constraints 4. Use-Case View 1. Use-Case Realizations 5. Logical View 1. Overview 2. Architecturally Significant Design Packages 6. Process View 7. Deployment View 8. Implementation View 1. Overview 2. Layers 9. Data View (optional) 10. Size and Performance 11. Quality
  • 39. SEI’s SAD 1. Documentation Roadmap 1.5 Viewpoint Definitions 1. … 1.5.1 <viewpoint> Viewpoint Definition 2. Stakeholder Representation 1.5.1.1 Abstract 3. Viewpoint Definitions 1.5.1.2 Stakeholders and Their Concerns Addressed 4. … 1.5.1.3 Elements, Relations, Properties and Constraints 2. Architecture Background 1.5.1.4 Language(s) to Model/Represent Conforming 1. Problem Background Views 1. System Overview 1.5.1.5 Applicable Evaluation/Analysis Techniques and Consistency/Completeness Criteria 2. Goals and Context 1.5.1.6 Viewpoint Source 3. Significant Driving Requirements 2. Solution Background 1. Architectural Approaches 3.1 <view name> View 2. Analysis Results 3.1.1 View Description 3.1.2 View Packet Overview 3. Requirements Coverage 3.1.3 Architecture Background 4. Summary of Background Changes 3.1.4 Variability Mechanisms Reflected in Current Version 3.1.5 View Packets 3. Product Line Reuse Considerations 3.1.5.1 View packet #i 3. Views 3.1.5.1.1 Primary Presentation 1. <Insert view name> View 3.1.5.1.2 Element Catalog 3.1.5.1.3 Context Diagram 4. … 3.1.5.1.4 Variability Mechanisms 5. Directory 3.1.5.1.5 Architecture Background 1. Index 3.1.5.1.6 Related View Packets 2. Glossary 3. Acronym List
  • 40. Proposed general content • Architecture background – Problem Background • System Overview • Goals and Context • Significant Driving Requirements – Solution Background • Architectural Approaches • Analysis Results • Requirements Coverage
  • 41. Proposed views to include in a SAD • Functional view • High-level module uses view • High-level module decomposition view • High-level C&C view • Deployment view
  • 42. Proposed content for each view • View description • Primary presentation • Element catalog – Elements – Relations – Interfaces – Behavior – Constraints • Context diagram • Variability mechanisms • Architecture background
  • 43. Non-functional view, a.k.a., Quality attributes • Performance • Scalability • Availability • Security • Extensibility • Flexibility • Monitoring and management • Reliability • Interoperability • Legal and regulatory requirements • Internationalisation and localisation • Accessibility • …