Software Architecture in Practice Architectural description (The reduced version)

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

Chapter 7 Other Requirements Good Fast Cheap Pick any two. 1CS John Cole.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
© Copyright Eliyahu Brutman Programming Techniques Course.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
An Introduction to Rational Rose Real-Time
What is Software Architecture?
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Project Semester 1 Group 3 Robert, Pavel, Ulfar, Svetomir
An Introduction to Software Architecture
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
Inception Is there a project in there? What’s the vision, scope & business case?
TK2023 Object-Oriented Software Engineering CHAPTER 3 CASE STUDY: POS SYSTEM.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
SOFTWARE ARCHITECT – DESIGN.  Introduction  Architecture Drivers  POS System Architecture  Mapping Between Perspective  Evaluate Architecture  Project.
Modelling Class T16: Conceptual Modelling – Architecture Image from
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
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.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
UML Diagrams A tool for presentation of Architecture.
Chapter 9 Applying UML and Patterns -Craig Larman
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Computer Science 340 Software Design & Testing Software Architecture.
Understanding Requirements
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
Chapter 3: Case Studies What is and is not Covered in the Case Study?  Traditional business software applications include UI elements, core application.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
R R R CSE870: UML Component Diagrams Implementation Diagrams.
Elaboration popo.
Software Architecture in Practice
Component and Deployment Diagrams
UNIT 1.
Use Cases and Scenarios
System Sequence Diagrams and Operation Contracts
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
OO Methodology OO Architecture.
A tool for presentation of Architecture
A tool for presentation of Architecture
What is an Architecture?
Unified Modeling Language
Analysis models and design models
An Introduction to Software Architecture
What is an Architecture?
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Design Yaodong Bi.
Presentation transcript:

Software Architecture in Practice Architectural description (The reduced version)

2 Overview Introduction to the POS case Motivation Architectural description –Using 3+1 UML technique by Christensen et al.

3 A Simple Case NextGen Point-Of-Sales (POS) System –Record sales and handle payments Typically used in retail stores –Hardware Terminal Barcode scanner –Interfaces with external systems Inventory Accounting … From [Larman, 2001] –See also note on architecture description using UML, [Christensen et al., 2004]

4 Elements of an Architectural Description Architectural views (N) –What is the software architecture? Multiple viewpoints, here –Module viewpoint –Component & Connector viewpoint –Allocation viewpoint Architectural requirements (+1) –Why is the software architecture the way it is? Scenario-based requirements –E.g., paths through significant use cases Quality-attribute-based requirements –Primary concerns (e.g., critical quality requirements) –Quality attribute specifications Design decisions

5 Architectural Requirements: POS Scenarios Process Sale: A customer arrives at a checkout with items to purchase. The cashier uses the POS system to record each purchased item. The system presents a running total and line-item details. The customer enters payment information, which the system validates and records. The system updates inventory. The customer receives a receipt from the system and then leaves with the item

6 Architectural Requirements: POS Qualities Architectural drivers –Availability The system shall be highly available since the effectiveness of sales depends on its availability –Portability The system shall be portable to a range of different platforms to support a product line of POS systems –Usability The system shall be usable by clerks with a minimum of training and with a high degree of efficiency This is not operational! –More later on quality attribute scenarios…

7 Architectural Views How is the functionality of the system mapped to runtime components and their interaction? –Component & connector viewpoint/structure How is the functionality of the system to be mapped into implementation? –Module viewpoint/structure How are software elements mapped onto environmental structures? –Allocation viewpoint/structure

8 Component & Connector Viewpoint Elements –Components Functional behaviour What part of the system is doing what? Relations –Connectors Control and communication aspects Define protocols for control and data exchange –Incoming and outgoing operations –Mandates ordering of operations –Define roles for attached components Mapping to UML –Object diagrams, interaction diagrams –Components = active objects –Connectors = links + annotations, messages + textual description of responsibilities The software architecture of a computing system is the structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them [Bass et al., 2003]

9 Basic C&C Elements [Fowler, 2000]

10 POS Example: C&C View

11 POS Example: C&C View (2)

12 Module Viewpoint Elements –Classes, packages, interfaces Relations –Associations, generalizations, realizations, dependencies Mapping to UML –Class diagrams… The software architecture of a computing system is the structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them [Bass et al., 2003]

13 Basic Module Elements (1) [Fowler, 2000]

14 Basic Module Elements (2) [Fowler, 2000]

15 POS Example: Module View (1)

16 POS Example: Module View (2)

17 POS Example: Module View (3)

18 Allocation Viewpoint Elements –Software elements: Components, objects –Environmental elements: Nodes Relations –Allocated-to –Dependencies –Connections (communication paths) Mapping to UML –Here: focus on deployment Deployment and component diagrams The software architecture of a computing system is the structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them [Bass et al., 2003]

19 Basic Allocation Elements (Note: UML components are used here) [Ambler: Agile modelling]

20 POS Example: Allocation View

21 Discussion Component & Connector viewpoint does not map well to implementation? –Few languages have interaction as first-class construct –Neither to the UML – bound tightly to OO implementation –On the other hand central in many approaches to architectural design UML is not designed specifically for software architecture description? –Many (irrelevant) modeling constructs –But very widely used and supported Not precise enough for formal analysis (?)