© 2010- 2011 GooBiz.com Agile System Modeling using UML and SysML How to assure MRD - PSD traceability and deal with changes using a Goal-Driven Modeling.

Slides:



Advertisements
Similar presentations
© GooBiz.com Agile System Modeling on the basis of Marketing Requirements and the Project Vision How to assure MRD - PSD traceability and deal.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Interaction Diagrams.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
How to increase Business Agility by aligning SOA with your « Business Architecture » ? To visualize presentation slides, please use the full screen mode.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
UML - Development Process 1 Software Development Process Using UML (2)
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Systems Analysis and Design in a Changing World, Fifth Edition
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Structuring Systems Requirements Use Case Description and Diagrams.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Systems Analysis and Design in a Changing World, Fourth Edition
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Prof. Hany H. Ammar, CSEE, WVU, and
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
How to increase Business Agility by Aligning IT with your « Business Architecture » ? To visualize presentation slides, please use the full screen mode.
© Copyright 2010 Rockwell Collins, Inc. All rights reserved. Practical SysML Applications: A Method to Describe the Problem Space Ray Jorgensen David Lempia.
© 2009 – 2010 GooBiz.com Agile and Smart Modeling with UML and SysML on the basis of your Project Vision Goal-Driven Modeling to assist Agile Methods (*)
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Case Design – Model Based Testing João Pascoal.
Unified Modeling Language
SysML v2 Usability Working Session
The Process of Object Modeling
UML: Unified modeling language
Software Architecture & Design Pattern
SysML Training Crash Course
Rational Unified Process
IMPORTANT NOTICE TO STUDENTS:
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Engineering Quality Software
Software Development Process Using UML Recap
Please click to visualize next…
Presentation transcript:

© GooBiz.com Agile System Modeling using UML and SysML How to assure MRD - PSD traceability and deal with changes using a Goal-Driven Modeling ? An ‘MP3 Player’ Case Study… To visualize presentation slides, please use the full screen mode and click to progress © 2010 – 2014 Birol Berkem - GooBiz.com (*) MRD : Marketing Requirement Document PSD : Product Specification Document

© GooBiz.com Main Steps of the System Development Life Cycle (Exemple : using Harmony from IBM / Telelogic)

…or using RUP or Scrum Methods to Gather Requirements Example of Scrum’s User Story : « As a Listener of an MP3 Audio-Player System, I would like to Listen Audio and Record Audio with satisfaction » The underlying system requirements for the MP3 Player are : How to apply these methods to gather and structure requirements in order to deal with changes ? 3

 Step 1. Compose hierarchically business requirements (1) and system requirements (2) that refine them  Step 2. Derive system functions (3) that satisfy these requirements and use cases that invoke system functions  Step 3. Model how system functions are triggered in the Product Life Cycle ?  Step 4. Establish Test Cases on the basis of Use Case Scenarios that realize System Functions (1) Business Requirement : A needed achievement and the quality measures expressed in terms of broad outcomes the business requires. (2) System Requirement : A condition or capacity required by a user from the system in order to fulfill the business requirements (the goal). (3) System Function : Action requested from a product or realized by itself to partially satisfy a requirement 4 Main Steps to « Smartly Gathering Requirements » Let’s look at each step on the same case study… Requirements and System Analysis 4

Step 1 - Compose hierarchically business and system requirements to better manage impact analysis when requirements evolve Business Requirement : A need and the quality measures expressed in terms of broad outcomes the business requires System Requirement : A condition or capacity required from the system in order to fulfill the business requirements Functional Boundary of the System under discussion 5 How to assign these requirements to system functions ? (cf. next)

Step 2 – Formalize the System Boundary by assigning requirements to system functions System Functions : Actions requested from a product or realized by itself to satisfy partially a user requirement 6 How to capture the internal behaviors of the ‘ Player Controler’ function ?

7 Step 3 – Model states and transitions of the ‘Player Controler’ function to better understand its internal behaviors by clicking on the « Surrounding » state we will specify how the « Surrounding function » is used (slide 9) In each state a system function is triggered by the Player Controler Now …how to specify usage of these functions by the Actors of the system ?

Step 4.1 – Determine first how Use Cases invoke System Functions The Audio Player Functions are based on the previous system requirements A base Use Case that processes the actor’s interactions with the system functions 8 How are these functions invoked within Use Case Scenarios ? (see next slide)

9 Step 4.2 – …then elaborate UC Scenarios that invoke System Functions Actor / System Interactions formalize invocation scenarios of system functions in the UC « Listen Audio » This Surround scenario will be available just by a simple click on this (see next slide) Actor / System interactions for the ‘ Surrounding’ Scenario (cf.next)

Steps 4.3/4.4 – Describe each Scenario and deduce behaviors of the related System Function Actor / system interactions describe the black box test case for the « Surround » function. These Messages become operations to test this function (click to visualize) 10 Object Functional State More accurately (see next slide)…

11 Step 4.4 – Specify a Test Case Component for each System Function  Transform each system function into an object in the desired functional state  Map actor/system interactions that realizes this system function as its contextual operations 11 How to design the Architecture Backbone using system functions ? (see next slide)… Object State An ‘Operation Contract’ is to be built up for the ‘black box testing’ of each operation

The controler of the Player orchestrates execution of these functions External components participate to the realization of functions via required and provided interfaces Step 4.5 – Design a draft ‘Architectural Backbone’ of the whole system before designing its system functions The Surrounding function is expressed by the [Surrounding] state of the Player object. The actor / system interactions (scenario) that realize this function become its operations Recording function of the Player … 12

 Step 5. Elaborate a High-Level Block Diagram of the System using Parts, Ports and Interfaces  Step 6. Refine and Optimize the initial architecture design to better deal with changes  Step 7.1 Model white box interactions by use case scenario (user story)  Step 7.2 Map corresponding Operations on the Components (Parts) of Blocks 13 Steps for the « System Design » Click to visualise these steps on the ‘MP3 Player’ Case Study… 13 System Design

14 Step 5 – Elaborate the Internal Blocks and Ports of the System : The « User Interface » and « Processing » Subsytems of the ‘MP3 Player’ are shown below An Application Controler block may be designed inside the CPU block to Orchestrate execution of the above functions (see next slide) Functional Blocks will be deployed there to better deal with evolutions of these functions (see next slide) Click to visualize detailed parts and interfaces on the next slide…

15 Etape 6 –A more detailed architecture to better deal with changes An Application Controler designed for the cpu block to Orchestrate execution of the above functions (MVC pattern) Surround, Record and Play « Components » designed for the memory (mem) block to better deal with evolutions of these functions (OCP pattern) Provided and required interfaces between the CPU and Mem components How to accurately determine operations of these components ? (see next slide)

16 Step Describe each white box scenario to prepare the Integration Test for the corresponding software component These interactions describe WHITE BOX test case realization for the « Surround » function. Messages will give up operations to test this function (see next slide) Operations of system components will be updated on the basis of these interactions (cf. next slide)

17 Etape 7.2 – Update components with operations on the basis of white box interactions The White box interactions (previous slide) that realize the ‘Surrounding’ function become operations of the corresponding block

18 How to deal with changes ?  Model hierachically changed business and system requirements grouping them by goals  Impact changes on system functions (services) to satisfy these requirements  Transform system functions to map them into the system architecture Let’s look at each step on our case study… System Analysis and Design Requirements and System Analysis 18

Model changed business and system requirements Changing Business Requirements that cause extension to previous functions Additional Requirements that must be supported by the system functions to satisfy Business Requirements 19

Impact changes on the system functions to satisy new requirements New Complex Functions are added to the functional architecture to satisfy changes on requirements Requirements and System Analysis 20

Map these functions with corresponding requirements to the existing system architecture for tests New complex functions are mapped into the existing architecture using association and specialization relationships System Analysis and Design 21 Notice how the «Goal-Driven Modeling » approach brings agility particularly to better deal with changes

More complete Agile System Development Training Courses using standards… © 2011 / 2014– GooBiz.com to : 22