IBM Software Group ® Use Cases & System of Systems Ivar Jacobson IBM Rational Jaczone AB

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
PRJ270: Essentials of Rational Unified Process
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.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Object Oriented Analysis Process
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
Rational Worldwide Software Symposium
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
© Copyright Eliyahu Brutman Programming Techniques Course.
SwE 313 Introduction to Rational Unified Process (RUP)
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Object Oriented Analysis and Design Using the UML
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Trends in Software Engineering a personal view Ivar Jacobson Vice President e-Development Rational Software Corporation Ivar Jacobson.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
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 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Introduction to Rational Unified Process
1 Unified Modeling Language, Version 2.0 Chapter 2.
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.
UML (Unified Modeling Language)
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
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.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Introduction to UML.
Dynamic Modeling of Banking System Case Study - II
1.Introduction to Rational Unified Process (RUP)
UML: Unified modeling language
Rational Worldwide Software Symposium
Introduction to UML.
Rational Worldwide Software Symposium
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Rational Worldwide Software Symposium
Presentation transcript:

IBM Software Group ® Use Cases & System of Systems Ivar Jacobson IBM Rational Jaczone AB

IBM Software Group | Rational software Agenda  The Ericsson Success Story  Use Cases  System of Systems

IBM Software Group | Rational software The Ericsson Success Story  What we can’t learn from a 30 year old case story  Layered architecture – we had two layers only  Middle-ware and system-ware – only system-ware  Software tools – there was only an IDE  What we can we learn from it  What development processes to employ Software Software+Hardware+Peopleware  What modeling language to use  Systems of Systems  Transitioning to a reuse business Reengineering of organization

IBM Software Group | Rational software Lessons learnt – Software Process Development approach was  Component-based  Requirements-driven  Architecture-centric  Visual Modeling  Configuration management Today we would request process to also be  Use-case driven  Iterative & incremental  Risk-driven  Verify & validate from the beginning  Tool supported  Etc.

IBM Software Group | Rational software Lessons learnt -- Modeling language A first generation modeling language  Block diagrams  Sequence diagrams  Collaboration diagrams  State transistion diagrams with activity diagrams  Activity diagrams with swimlanes These ideas are now in SDL and UML. But no tools were used! Today we have tools – lifecycle point tools and cross-lifecycle tools

IBM Software Group | Rational software Feb 1968 Block diagram (component diagrams)

IBM Software Group | Rational software Sequence diagrams !

IBM Software Group | Rational software Agenda  The Ericsson Success Story  Use Cases  System of Systems

IBM Software Group | Rational software Use Cases are part of a LifeCycle Process The Unified Process  It is the UML process  It is component-based  It is  Use-case driven  Architecture-centric  Iterative and incremental  Configurable

IBM Software Group | Rational software Use Cases Capture Requirements  Use cases reside inside the system  A use case describes the actions the system takes to deliver to the actor  Taken together, all use cases constitute all ways of using the system A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor Withdraw money Bank customer Actor Use Case

IBM Software Group | Rational software Use cases are identified in Requirements  FURPS  Functionality  Usability  Reliability  Performance  Supportability  Design Constraints  Operating systems  Environments  Compatibility  Application standards Use cases address these requirements! }

IBM Software Group | Rational software Use Case Driven Req’tDesign & Impl.Test Capture the Use Cases Design to Implement the Use Cases Test that the Use Cases are Fulfilled } Users’ Needs are Use Cases ! Use Case Driven Development  Any product development should follow three steps:  Capture the users’ needs  Design to fit those needs  Test that the needs are fulfilled

IBM Software Group | Rational software Requirements: Capture the use cases  A use case model Bank System Bank Customer Deposit Money Withdraw Money Transfer Between Accounts ATM

IBM Software Group | Rational software Use cases versus traditional feature spec’s?  A feature specification attempts to reply to the question: “What is the system supposed to do?”  The use case strategy forces us to add three words to the end of that question: “… for each user?”

IBM Software Group | Rational software Design & Implementation: use case design  Use cases are eventually realized as components CashWithdrawal Components Bank System Bank Customer Deposit Money Withdraw Money Transfer Between Accounts ATM

IBM Software Group | Rational software Use cases – use case realizations -- components  Each use case is realized by a collaboration - a set of classes  A class plays different roles in different use case realizations  The total responsibility of a class is the composition of these roles Withdraw Cash Deposit Funds Transfer Funds Cash Withdrawal Cash Interface Cash Interface Deposit Funds Transfer Funds Interface Funds Deposit Cash Transfer Funds Cash Withdrawal Use case Specification Use case design Component design & implementation

IBM Software Group | Rational software Test: use case tests Test Cases Cash Withdrawal of a pre-set amount Cash Withdrawal of custom amount Etc. Many Test Cases for every Use Case  Use Case Modeling Done!   Plan Testing & Define Test Cases Generate Test Cases From Sequence diagrams and State-Chart diagrams  Design Done!  Basis for the Test Specification Bank System Bank Customer Deposit Money Withdraw Money Transfer Between Accounts ATM Use Case Scenarios

IBM Software Group | Rational software Invalid PIN CodeValid PIN Code Amount Invalid Use Case: Withdraw Money Valid CardInvalid Card Amount > Account Balance Amount > Daily Limit... Identifying Use Case Scenarios Amount Valid and in Range

IBM Software Group | Rational software The Role of Use Cases Use Cases Requirements Architecture Analysis & Design Test User Experience Design Business Modeling Iteration Planning … Reuse

IBM Software Group | Rational software UCD Analyze:Design : Test : Capture, Clarify and Validate the Use Cases Design to Implement the Use Cases Test that the Use Cases are Fulfilled Use Case Driven Req’tDesign & Impl.Test Capture the Use Cases Design to Implement the Use Cases Test that the Use Cases are Fulfilled In One Sentence Use Cases are the glue that binds the lifecycle process together

IBM Software Group | Rational software Agenda  The Ericsson Success Story  Use Cases  System of Systems

IBM Software Group | Rational software System of Interconnected Systems  Use case of the superordinate system is realized by use cases of the subordinate systems  Superordinate use cases and subordinate use cases

IBM Software Group | Rational software Common Development Concerns  Enterprise architecting  Defining an architecture that underpins a number of systems  Strategic reuse  Developing reusable assets that are used within a number of systems  Systems engineering  Developing a system that contains elements of hardware, software, workers and data  Enterprise Application Integration  Developing a solution that includes the integration of a number of legacy systems  Packaged application development  Developing a solution that includes the configuration of a packaged application, such as an ERP or CRM solution  Outsourced development  Defining an architecture that lends itself to the outsourced development of its constituent parts, whilst ensuring the quality and integrity of these parts

IBM Software Group | Rational software What is a System?  UML  A system is a top-level subsystem in a model. A subsystem is a grouping of model elements that represents a behavioral unit in a physical system. A subsystem offers interfaces and has operations. In addition, the model elements of a subsystem can be partitioned into specification and realization elements.  RUP  A system is a collection of connected units that are organized to accomplish a specific purpose. A system can be described by one or more models, possibly from different viewpoints.  RUP-SE  A system provides a set of services that are used by an enterprise to carry out a business purpose. System components typically consist of hardware, software, data, and workers.

IBM Software Group | Rational software Applying Systems of systems  Enterprise Architecting  The decomposition of an enterprise into its respective elements can be expressed in terms of a “system of systems”  Strategic Reuse  Reusable assets and their relationships can be described in terms of a “system of systems”  Systems Engineering  The system as a whole can be expressed in terms of a superordinate system, and each of the elements that comprise the system can be expressed in terms of a subordinate system  Enterprise Application Integration  The context within which a legacy system fits can be described in terms of a superordinate system, with the legacy system itself represented as a subordinate system  Packaged Application Development  The packaged application may represent a subordinate system (if it is a “piece”) or a superordinate system (if it is a “whole”)  Outsourced Development  The overall architecture can be described in terms of a superordinate system, with the constituent parts described in terms of subordinate systems

IBM Software Group | Rational software Rounding Up  From a Swedish Perspective  TBD

IBM Software Group | Rational software For More Information   The UML Books (Booch, Jacobson, Rumbaugh with Addison Wesley)  The UML User Guide  The UML Reference Manual  The Unified Software Development Process

IBM Software Group | Rational software Other Readings by Ivar Jacobson  Object-Oriented Software Development--A Use Case Driven Approach (Addison Wesley) Jacobson et al, Addison Wesley Longman (1992)  The Object Advantage: Business Process Reengineering with Objects (Addison Wesley) Jacobson et al, Addison Wesley Longman (1994)  Software Reuse: Architecture, Process and Organization for Business Success (Addison Wesley) Ivar Jacobson, Martin Griss & Patrik Jonsson, Addison Wesley Longman (1997)  The Unified Software Development Process Jacobson, Booch, Rumbaugh, Addison Wesley Longman (1999)  The Road to the Unified Software Development Process Ivar Jacobson, Stefan Bylund, Cambridge University Press, 2000  Aspect-Oriented Software Development with Use Cases Ivar Jacobson, Pan Wei Ng, 2004, NEW