A Student Guide to Object- Orientated Development

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

Use Case & Use Case Diagram
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Lecture 9 Descriptors, Events & Event Tables INFO1409 Systems Analysis & Design Module HND Year /9.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Systems Analysis and Design in a Changing World, Fourth Edition
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Documenting Requirements using Use Case Diagrams
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Use Case Modeling.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
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.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
IS0514 Lecture Week 3 Use Case Modelling.
USE Case Model.
Use Case Analysis From soft systems methodology to understanding the system functionality.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 3 Use Cases.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Faculty of Computer & Information Software Engineering Third year
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 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
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
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.
1 A Student Guide to Object- Oriented Development Chapter 6 Identifying Functionality.
Systems Analysis and Design in a Changing World, 6th Edition
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
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.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Understanding Requirements
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML - Development Process 1 Software Development Process Using UML.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Software Engineering USE CASE DIAGRAM.
Use Cases and Scenarios
Use Case Model Use case diagram.
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Concepts, Specifications, and Diagrams
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object Oriented Analysis and Design
IS0514 Lecture Week 3 Use Case Modelling.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

A Student Guide to Object- Orientated Development Chapter 3 Use Cases

Use Cases Use cases model the user’s view of the functionality of a system. Each use case represents a task or major chunk of functionality.

Use Cases The use case model consists of: a use case diagram a set of scenarios a set of uses case descriptions actors and actor descriptions.

Use Case Diagram The use case diagram models the problem domain graphically using 4 concepts: the use case: Collection of all possible sequences of interactions between the system and actors related to a particular goal. the actor: All external entities that interact with a system the relationship link and the boundary.

Use Case Notation Print invoice We start each use case label with a verb making the point that the use case represents a major piece of functionality in the system e.g. Maintain customer, Create order, Print invoice.

Identifying use cases A use case describes a cohesive piece of the system’s functionality as the user perceives it. A use case should represent a complete process; one end to end pass through the system, a job that the user sits down at the computer to achieve at one go. What we do when identifying use cases is to divide up the system’s functionality into chunks; the main areas of functionality. But what dictates the split is what the user sees as the separate jobs or processes that he will use the system to achieve. The user may see a chunk of functionality as a task that he uses the system to achieve, one of the jobs that make up his daily workload, or it may produce a list or report he gets from the system. Each use case must have a goal – something it achieves for the user.

An Actor Receptionist An actor represents any user or thing that interacts with the system. An actor represents a role not a person. Actors identified in the use case diagram represent users who interact with the system in some way, who use the system to achieve a particular task. Each actor may represent several different people.

Actors Use cases divide the world into two parts: the system and all entities external to the system. The external entities are actors.

Kinds Of Actors Users Applications Devices External Events This includes all human users including targeted end-users, administrators, manager, and customers. Applications This includes all systems and programs that interact with the system. Devices Normally this does not include things like keyboards or mice, but deals with sensors and actuators. External Events Periodic triggers such as a clock

A Sample Use Case Diagram: A University Course Registration System Submit Grades Professor View Report Card Select Courses to Teach Student Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration Login Use case diagrams are used to show the existence of use cases and their relationships, both to each other and to actors. An actor is something external to the system that has an interface with the system, such as users. A use case models a dialogue between actors and the system. A use case is initiated by an actor to invoke a certain functionality in the system. For example, in the diagram above, one user of the system is a student who wishes to use the system to register for courses. Hence, Register for Courses is a use case. The arrow (which is optional) indicates the direction of initiation of the interaction. For example, the Student actor initiates the Register for Courses use case. However, the Close Registration use case initiates interaction with the Billing System. A use case is a complete and meaningful flow of events. The flow of events supplements the use case diagram and is usually provided in text format. Taken together, all use cases constitute all possible ways of using the system.

Use Case Diagrams (Watch) Package SimpleWatch Actor ReadTime SetTime WatchUser WatchRepairPerson Use case ChangeBattery Use case diagrams represent the functionality of a system from user’s point of view

communication relationship Use Case Relationship This relationship is known as a communication relationship

Boundary – separates use cases from actors Issue bike

Wheels use case diagram

Use Case Modeling: Core Elements

Use Case Modeling: Core Relationships <<extend>>

Use Case Modeling: Core Relationships (cont’d) <<include>>

Example: Use Case Relationships UML and C++ A Practical Guide To Object-Oriented Development UML Notation Guide

Use Case Relationships - Include Order goods Check customer credit An include relationship between uses cases indicates where one use case always includes the behavior of another, the use case ‘Order goods’ always incorporates a credit check

Use Case Relationships - extend Chase payment Issue warning letter An extend relationship between two use case indicates alternative behaviour; the use case ‘Chase payment’ sometimes calls the issue warning letter use case but not always.

Scenarios A sequence of interactions between the user and the system. To achieve a specified goal Each use case represents a group of scenarios Each scenario describes a different sequence of events involved in achieving the goal

Successful scenario – Wheels Stephanie chooses a mountain bike Annie sees that its number is 468 Annie enters this number into the system The system confirms that this is a woman’s mountain bike and displays the daily rate (£2) and the deposit (£60) Stephanie wants to hire the bike for a week Annie enters this and the system displays the cost Stephanie agrees this Annie enters Stephanie’s details Stephanie pays the £74 Annie records this and the system prints out a receipt

Scenarios A successful scenario, one that achieves the use case goal, is sometimes referred to as a ‘happy day’ scenario or the ‘primary path’.

Scenarios Scenario for the situation where the use case goal is not achieved Michael arrives at the shop at 12.00 on Friday He selects a man’s racer Annie see the number is 658 She enters this number into the system The system confirms that it is a man’s racer and displays the daily rate (£2) and the deposit (£55) Michael says this is too much and leaves the shop without hiring the bike.

The scenarios should document: a typical sequence of events leading to the achievement of the use case goal – e.g. a customer hires a bike obvious variations on the norm, e.g. a customer hires several bikes sequences of events where the use case goal is not achieved e.g. the customer cannot find the bike he wants

A Sequence Diagram Ch 10 John : Student registration form available courses schedule 1: enter id 2: validate id 3: enter current semester 4: create new schedule 5: display 6: get courses

Use Case Descriptions The use case description is a narrative document that describes in general terms the required functionality of the use case. The description is generic and should encompass every sequence of events, every scenario relating to the use case.

Use Case Descriptions – High Level Descriptions Use case: Issue bike Actors: Receptionist Goal: To hire out a bike Description: When a customer comes into the shop they choose a bike to hire. The Receptionist looks up the bike on the system and tells the customer how much it will cost to hire for a specified period. The customer pays, is issued with a receipt, then leaves with the bike.

Expanded Use Case Description More detailed and structured than the high level description and should document: what happens to initiate the use case which actors are involved what data has to be input the use case output what stored data is needed by the use case what happens to signal the completion of the use case minor variations in the sequences of events.

Use case : Issue bike Actors: Receptionist Goal: To hire out a bike Overview: When a customer comes into the shop they choose a bike to hire. The receptionist looks up the bike on the system and tells the customer how much it will cost to hire the bike for a specified period. The customer pays, is issued with a receipt, then leaves with the bike. Cross reference R3, R4, R5, R6,R7, R8, R9, R10 Typical course of events Actor action System response 1. The customer chooses a bike 2. The Receptionist keys in the bike number 3. Displays the bike details 4. Customer specifies length of hire 5. Receptionist keys this in 6. Displays total hire cost 7. Customer agrees the price 8. Receptionist keys in the customer details 9. Displays customer details 10. Customer pays the total cost 11. Receptionist records amount paid 12. Prints a receipt Alternative courses Steps 8 and 9. The customer details are already in the system so the Receptionist needs only to key in an identifier and the system will display the customer details. Steps 7 – 12. The customer may not be happy with the price and may terminate the transaction.

Actor descriptions An actor represents one particular way of using the system; an actor represents the role someone plays in the use case – e.g. the Receptionist issues the bike. It may be that several people can play this role.

Actor Descriptions - Examples from Wheels The Receptionist uses the system to answer queries about bike availability and cost, to issue a bike for hire and to register a bike return. The Receptionist can be the Shop Manager (Annie), any of the mechanics or the owner (Mike). The Administrator uses the system to maintain lists of customers and bikes. The administrator can be the head mechanic, shop manager or shop owner.

Use Case Diagram for Appointment System (Level of Information)

Use Case Diagram for Appointment System (Level of Information)

Extends or Uses Associations

Actor Relationships UML an Actor (even it is an external system). Bank Employee UML Uses A Triangle To Represent The Generalization Relationship Bank Teller Bank Manager This figure illustrates that a Bank Teller and a Bank Manager are both Bank Employees

Further Reading Bennett, S., McRobb, S. and Farmer, R. Object-Oriented Systems Analysis and Design Using UML, 2nd Ed, London: McGraw-Hill, 2002. Brown, D. Object-Oriented Analysis: objects in plain English, New York: John Wiley, 1997. Fowler, M. UML Distilled: a brief guide to the standard object modeling language, 2nd Ed, Reading Massachusetts: Addison-Wesley, 2000. Larman, C. Applying UML and patterns: an introduction to object-oriented analysis and design, New Jersey: Prentice Hall, 1998. Lunn, K. Software Development with UML, Hampshire: Palgrave Macmillan, 2003 Stevens, P., with Pooley, R. Using UML. Software Engineering with Objects and Components Updated edition, Harlow: Addison-Wesley, 2000.