Documenting Software Architectures

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Documenting Software Architectures - Presentation Transcript

    1. Software Architecture What to document? 2009.05.27
    2. Goals 1. Present common views and SAD 2. Define stakeholders 3. Identify stakeholders’s concerns 4. Define what and how to document
    3. 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)
    4. [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)
    5. Architecture in the software development process Architecture Reconstruction
    6. Context Problem description Rationale Quality attributes Views Software Architecture Document Principles and Guidelines Structure
    7. 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
    8. 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
    9. Different kinds of views Structural External Behavioral
    10. Different viewsets • RUP 4+1 • Siemens • Rozansky & Woods’ views and perspectives • SEI’s views and beyond • …
    11. RUP 4+1
    12. Siemens Adapted from “Applied Software Architecture”, Hofmeister, C. et al. (2000).
    13. Rozansky & Woods
    14. SEI’s Views and Beyond
    15. Module vs. C&C
    16. 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
    17. SAD • Intended audience (stakeholders) • Stakeholders’ concerns to address • Sections to include • Views to include • Depth of documentation
    18. Stakeholders • Sample stakeholders: – Project Manager – Member of Development e a re th Team Who t’s ec ? – Testers and Integrators proj holders e – Maintainers stak – Product Line Application Builder – Customer – End User Whic h – Analyst do th concern e s add y want t – Infrastructure Support ress? o – New Stakeholder – Current and Future Architect
    19. To fill i n… Stakeholders Stakeholder Concerns to adddress
    20. 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
    21. Stakeholders’ n… fill i To 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
    22. 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 Whic h to in section 5. Logical View 1. Overview clud s 2. Architecturally Significant Design Packages e? 6. Process View 7. Deployment View 8. Implementation View 1. Overview 2. Layers 9. Data View (optional) 10. Size and Performance 11. Quality
    23. SEI’s SAD Which sec to includ tions e? 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. Requirements Coverage 3.1.2 View Packet Overview 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 4. … 3.1.5.1.3 Context Diagram 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
    24. Context What is th e context diagram for our proje ct? ach for e n? And catio i appl
    25. Other questio ns ?
    26. Thank you
    27. Sample Views https://wiki.sei.cmu.edu/sad
    28. Functionality
    29. High level Module Uses view
    30. Context Diagram
    31. OPC Module Decomposition view
    32. OPC Module Uses view
    33. High level C&C view
    34. OPC C&C view
    35. Deployment view
    36. High level Implementation view
    37. Element catalog
    38. A Survey of Software Architecture Viewpoint Models Nicholas May nick_may@netlink.com.au 40
    39. Conclusions - Viewpoint Groups “4+1” SEI Siemen Rational model model s ADS model Logical Module Module Functional view viewtype view - Process C&C Execution Behavioural view viewtype view - Development Allocation Code Realization External view viewtype view viewpoint
    40. Survey – Summary of Models Focus Features Viewpoints SEI Communication Independent viewpoints 3 viewpoints “4+1” Design Iterative design process 5 views Flow of information Siemens Design through viewpoints 4 views Defines a common RM-ODP Re-use vocabulary 5 viewpoints Defined mappings Rational ADS Design between views 4 viewpoints 42
    SlideShare Zeitgeist 2009

    + Paulo SousaPaulo Sousa Nominate

    custom

    160 views, 1 favs, 0 embeds more stats

    Brief introduction to SW Architecture documentation more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 160
      • 160 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 13
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories