Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.

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
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Karolina Muszyńska Based on:
Chapters 7 & 9 System Scope
Chapter 7 Structuring System Process Requirements
Use Case Model. C-S 5462 Use case model describes what the user expects the system to do –functional requirements may describe only the functionalities.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Appendix Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Object-Oriented Analysis and Design
CS3773 Software Engineering Lecture 03 UML Use Cases.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
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.
Use Case Analysis Chapter 6.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Use Cases.
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,
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter 7 Structuring System Process Requirements
Chapter 7: The Object-Oriented Approach to Requirements
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Chapter 7 Structuring System Process Requirements
ZEIT2301 Design of Information Systems Functional Design: Use Cases School of Engineering and Information Technology Dr Kathryn Merrick.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
Faculty of Computer & Information
7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Structuring Systems Requirements Use Case Description and Diagrams.
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Systems Analysis and Design in a Changing World, 6th Edition
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.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
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.
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Use Case Analysis Chapter 6.
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases
Using Use Case Diagrams
Business System Development
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Model.
Use Case Model Use case diagram.
Use Case Modeling - techniques for detailing use cases
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Object Oriented Analysis and Design
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer

Chapter Objectives Af ter studying this chapter you should be able to: – Understand how to structure requirements with use case diagrams. – Explain the basics of use case construction using UML standards. – Construct use case diagrams. – Write text-based use cases.

What Is Requirements Structuring? The process of analyzing, organizing, and modeling the requirements obtained via interviews, questionnaires, observation, and document analysis Relevant UML models include: – Use Cases – Class Diagrams – Interaction Diagrams, and – Activity or Statechart Diagrams

Use Case Deliverables Use case diagrams Use case descriptions (narratives)

What Is a Use Case? A depiction of a system’s functionality or behavior as a response to a user request It is a description of the actions that a system performs that yields an observable result to a particular user. A use case consists of a set of interactions between a user and a system relating to a single function (e.g. enter an order, determine price, withdraw cash) A use case may produce many outcomes. These are called scenarios (or sequences)

What Is a Scenario? A scenario (or a sequence) is a single outcome from the system as part of performing a larger use case. A scenario produces only one outcome. The customer browses the catalog and adds desired items to the shopping cart. When ready to check out, customer enters credit card information, and confirms the order. The system checks authorization, and confirms the sale. If instead, the customer decides to save the shopping cart for later use, or if the credit card information is invalid, those are two different scenarios Both of the above bullet points are the same use case, but the are 3 different scenarios

A Use Case Diagram

UML Use Case Diagram Symbols Use Case Actor Boundary Connection Include relationship Extend relationship Generalization >

What Is an Actor? An external entity that interacts with the system Most actors represent user roles, but actors can also be external systems. An actor is a role, not a specific user. As such, many users can play the same role. Alternatively, one user can play many roles.

What Is a Boundary? The dividing line between the system and its environment - Use cases are within the boundary. - Actors are outside of the boundary.

What Is a Connection? An association between an actor and a use case Depicts a usage relationship Connection does not indicate data flow

What Is an > Relationship? A connection between two use cases Indicates a use case that is used (invoked) by another use case Calls to general purpose functions UML uses a dashed arrow (pointing to the invoked use case) and the word >

An > Relationship

Another example of an > Relationship Both buying a house and selling a house require house valuation - You can make a single house valuation use case, and have both other use cases use (invoke) this use case using an > relationship

What Is an > Relationship? A connection between two use cases Extends a use case by adding new behavior or actions (a sub-class) A specialized use case extends a general use case UML uses a dashed arrow (pointing to the extended use case) and the word >

Examples of > Relationship Buying a product as a registered customer extends buying a product. - Buying a product as a registered customer adds functionality to buying a product Registering for a special class extends registering for a class use case. - Registering for special classes requires instructor permission plus all steps required for registering for a regular class

Example of > & Relationships A Use Case Diagram With both > relationships, and > relationship

Use Case Diagram in MS Visio

Include vs. Extend Use > if you want to factor a common behavior that two or more use cases can use Use > if you want to model an extension to a complete “more general” use case that exists in its own right, but you are looking to extend/improve the behavior

Generalization The act of grouping or categorizing objects into a more general or generic classes or types of objects UML uses a solid arrow pointing to the more general class

Actors may be grouped in generalized categories. Here as “Customer” Generalization

Generalized and Abstract Use Cases A generalized use case is a use case that is part of an > or > relationship. It is the use case that is on the arrow head side An abstract use case is a use case that does not have any actors. It is only used by other use cases. Example: track sales and inventory data. This use case is only used by other use cases.

Use Case Descriptions (Use Case Narratives) A written narrative and description of a use case Document containing detailed specifications for a use case Document can be written with no specific format, or using a use case template format

Sample Format for Use Case Narratives Title – name of use case, should match name in use case diagram Primary actor – the primary user role Other actors – other user roles Level – the level of the descriptive detail. summary, intermediate or detail level

Sample Format for Use Case narratives (Cont.) Stakeholders – any group or individual with an interest in the function of the use case Precondition – conditions that must be satisfied (must exist) before executing the use case Minimal guarantee – the least amount of processing that is promised by the use case Example: use case fails, roll back transaction. Success guarantee – outputs that is expected if the use case succeeds

Sample Format for Use Case narratives (Cont.) Trigger – an event that initiates the use case. Example: a deposited check, an executed sales order, a call from another use case Main success scenario – the step-by-step description of the sequence of interactions between the actor and the use case to bring the main scenario to success Extensions – detailed description of the else scenarios. Description of abnormal “what if” conditions. e.g. description of interaction if credit card is invalid

Use case description at summary level. High level bulleted items.

Use case description at intermediate level. More detail descriptive use case interactions

Use Case Advantages Every use case is a potential high level requirement A use case captures the detail of the interactions with the system that must be implemented A use case is a good starting point for the elaboration phase A use case represents the actor’s point of view A use case should only describe the external visible behavior of the interaction with the actor A use case should not focus on implementation

Recap Af ter studying this chapter we learned to: – Understand how to structure requirements with use case diagrams. – Explain the basics of use case construction using UML standards. – Construct use case diagrams. – Write use cases descriptions/narratives.