University of Toronto Department of Computer Science © 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution.

Slides:



Advertisements
Similar presentations
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Advertisements

Use Case & Use Case Diagram
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Object-Oriented Analysis and Design
Information System Engineering
CS3773 Software Engineering Lecture 03 UML Use Cases.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Use-case Modeling.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Documenting Requirements using Use Case Diagrams
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Use Case Analysis – continued
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
USE Case Model.
Quiz 1. Who is the guru of Extreme Programming?
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
CMIS 470 Structured Systems Design
CS3773 Software Engineering
The Next Stage in Analysis: Systems Use Case Diagrams 1 SYS366.
Introduction to Sequence Diagrams
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Faculty of Computer & Information Software Engineering Third year
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Faculty of Computer & Information
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
IS3320 Developing and Using Management Information Systems Lecture 9: Use Cases and Scenarios Rob Gleasure
Systems Analysis and Design in a Changing World, 6th Edition
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Model Use case diagram.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
New Perspective Based on how the system is used. What Is a Use Case? A case of how the system is used. –A behaviourally related sequence of interactions.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Understanding Requirements
UML (Unified Modeling Language)
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
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.
CMPE 280 Web UI Design and Development August 29 Class Meeting
The Next Stage in Analysis: Systems Use Case Diagrams
Rob Gleasure IS3320 Developing and Using Management Information Systems Lecture 8: Use Cases and Scenarios Rob Gleasure.
Unified Modeling Language
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Lecture 17: Modelling System Interactions Ü Interactions with the new system  How will people interact with the system?  When/Why will they interact with the system? Ü Use Cases  introduction to use cases  identifying actors  identifying cases  Advanced features Ü Sequence Diagrams  Temporal ordering of events involved in a use case

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 Moving towards specification Ü What functions will the new system provide?  How will people interact with it?  Describe functions from a user’s perspective Ü UML Use Cases  Used to show:  the functions to be provided by the system  which actors will use which functions  Each Use Case is:  a pattern of behavior that the new system is required to exhibit  a sequence of related actions performed by an actor and the system via a dialogue. Ü An actor is:  anything that needs to interact with the system:  a person  a role that different people may play  another (external) system.

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 Campaign Manager Accountant Change a client contact Add a new client Record client payment Staff contact Use Case Diagrams Ü Capture the relationships between actors and Use Cases

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 Staff contact Actor Change client contact Communication association System boundary Use case Notation for Use Case Diagrams

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Add new staff member Add new staff grade Calculate staff bonuses Change grade for staff member Accountant Change rate for staff grade Example

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 > Check Campaign Budget Print Campaign Summary > Find Campaign > and > Ü > when one use case adds behaviour to a base case  used to model a part of a use case that the user may see as optional system behavior;  also models a separate sub-case which is executed conditionally. Ü >: one use case invokes another (like a procedure call);  used to avoid describing the same flow of events several times  puts the common behavior in a use case of its own.

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Driver Mechanic > GasAttendant > Sample use cases for a car > Fix Car Check Oil Drive Fill Up Fix car on the road Turn On Engine

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 Provide constraints Edit Constraints Withdraw Validate User Schedule meeing Initiator Participant > Meeting Scheduler Example Generate Schedule >

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Generalizations Ü Actor classes  It’s sometimes useful to identify classes of actor  E.g. where several actors belong to a single class  Some use cases are needed by all members in the class  Other use cases are only needed by some members of the class  Actors inherit use cases from the class Ü Use Case classes  Sometimes useful to identify a generalization of several use cases Generalisation relations: Read as: “is a member of” or just “is a”

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10 Identifying Actors Ü Ask the following questions:  Who will be a primary user of the system? (primary actor)  Who will need support from the system to do her daily tasks?  Who or what has an interest in the results that the system produces ?  Who will maintain, administrate, keep the system working? (secondary actor)  Which hardware devices does the system need?  With which other systems does the system need to interact with? Ü Look for:  the users who directly use the system  also others who need services from the system

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 11 Finding Use Cases Ü For each actor, ask the following questions:  Which functions does the actor require from the system?  What does the actor need to do ?  Does the actor need to read, create, destroy, modify, or store some kinds of information in the system ?  Does the actor have to be notified about events in the system?  Does the actor need to notify the system about something?  What do those events require in terms of system functionality?  Could the actor’s daily work be simplified or made more efficient through new functions provided by the system?

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 12 Documenting Use Cases Ü For each use case:  prepare a “flow of events” document, written from an actor’s point of view.  describe what the system must provide to the actor when the use case is executed. Ü Typical contents  How the use case starts and ends;  Normal flow of events;  Alternate flow of events;  Exceptional flow of events; Ü Documentation style:  Choice of how to represent the use case:  English language description  Collaboration Diagrams  Sequence Diagrams

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 13 Modelling Sequences of Events Ü Objects “own” information and behaviour  they have attributes and operations relevant to their responsibilities.  They don’t “know” about other objects’ information, but can ask for it.  To carry out business processes, objects have to collaborate.  …by sending messages to one another to invoke each others’ operations  Objects can only send messages to one another if they “know” each other  I.e. if there is an association between them. Ü Describe a Use Case using Sequence Diagrams  Sequence diagrams show step-by-step what’s involved in a use case  Which objects are relevant to the use case  How those objects participate in the function  You may need several sequence diagrams to describe a single use case.  Each sequence diagram describes one possible scenario for the use case  Sequence diagrams…  …should remain easy to read and understand.  …do not include complex control logic

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 14 Example Sequence Diagram Call() Respond() What’s up?() Give mtg details() [for all participants] *Inform() [for all participants] *Remind() Prompt() Show schedule() [decision=OK] ScheduleOK’ed() Initiator :Person Participant :Person [for all participants] *Inform() Staff :Person Scheduler :Person Acknowledge() condition iteration participating object Time

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 15 Another Example

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 16 Branching messages, etc :CustomerP :PrinterP PrintFile(file) :Printer GetStatus() :Queue [Ready]Print() [Busy] PutInQueue (file) [OutOfService] CallRepair Ready(file) GetNext() Branching Ready(file) Asynchronous Done Lifeline Inactive Active

University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 17 Don’t forget what we’re modelling Ü During analysis  we want to know about the application domain and the requirements  …so we develop a course-grained model to show where responsibilities are, and how objects interact  Our models show a message being passed, but we don’t worry too much about the contents of each message  To keep things clear, use icons to represent external objects and actors, and boxes to represent system objects. Ü During design  we want to say how the software should work  … so we develop fine-grained models to show exactly what will happen when the system runs  E.g. show the precise details of each method call.