Documenting Software Architectures. Outline  Introduction  Uses of Architectural Documentation  Views  Choosing the Relevant Views  Documenting a.

Slides:



Advertisements
Similar presentations
Documenting Software Architectures
Advertisements

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
CS 411W - Notes Product Development Documentation.
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Object-Oriented Analysis and Design
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Use-case Modeling.
Software Testing and Quality Assurance
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
SwE 313 Introduction to Rational Unified Process (RUP)
SE 555 – Software Requirements & Specifications Introduction
Software Engineering Project Management (CS - 413)
SE 555 Software Requirements & Specification Requirements Analysis.
Chapter 3 Business Processes. Let’s quickly look at the Ford Payment case 4 What are the elements of the WCA? 4 Customer, product, business process, participants,
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Documenting Software Architectures
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Lesson 7 Guide for Software Design Description (SDD)
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
CMPT 275 Software Engineering
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Modelling Class T16: Conceptual Modelling – Architecture Image from
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CSE 303 – Software Design and Architecture
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
4+1 View Model of Software Architecture
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Documenting an Architecture 10 pages, half pictures.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
 System Requirement Specification and System Planning.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
Object-Oriented Techniques
Unified Modeling Language
1.Introduction to Rational Unified Process (RUP)
University of Central Florida COP 3330 Object Oriented Programming
Systems Engineering Tool for Intelligent Transportation
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Documenting an Architecture
Requirements Document
Teacher Name: School Name: Language:
UML Design for an Automated Registration System
Presentation transcript:

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  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.

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.

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.

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

Stakeholders (Cont’d)  Quality attribute specialists  Managers  Product line managers  Quality assurance team

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.

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)

Approach to Choosing Views  Produce a candidate view list  Combine views  Prioritize

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

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

The Seven Parts of a Documented View

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.

The Nine Parts of Interface Documentation