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.

Slides:



Advertisements
Similar presentations
Use cases Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself A set.
Advertisements

UML an overview.
Systems Analysis and Design in a Changing World, 6th Edition
Karolina Muszyńska Based on:
Chapter 7 Structuring System Process Requirements
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
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.
Documenting Requirements using Use Case Diagrams
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Software Engineering Case Study Slide 1 Introductory case study.
Unified Modeling Language
Object-Oriented Analysis and Design
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
Chapter 7: The Object-Oriented Approach to Requirements
Software Development Process
UML - Development Process 1 Software Development Process Using UML (2)
Use Cases Yonglei Tao.
1 Requirements Modeling using UML 2.0 Use Cases. 2 Requirements Engineering Software Lifecycle Activities System Engineering Requirements Analysis Software.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Chapter 7 Structuring System Process Requirements
Chapter 10: Applying Responsibility Assignment Patterns
Chapter 8: Actor-System Interaction Modeling
Use Case Modeling 中国科学技术大学软件学院 孟宁 2011年9月.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Chapter 4: Software Requirements Elicitation
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Chapter 14. Activity Modeling for Transformational Systems
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 9: Interaction.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 18: Implementation Considerations
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Chapter 1. Introduction.
Systems Analysis and Design in a Changing World, 3rd Edition
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.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Chapter 12: User Interface Design
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Example: object diagram for Scheduler, v What is wrong with this diagram? Seems like a lot of similarity between Task and UnplannedTask Can use.
Part VII: Design Continuous
1 CMPT 275 High Level Design Phase Modularization.
Systems Analysis and Design in a Changing World, Fourth Edition
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
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.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Basic Characteristics of Object-Oriented Systems
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 20 Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Chapter 6: Architectural Design
Chapter 14. Activity Modeling for Transformational Systems
Software Development Process Using UML Recap
Chapter 11: Deriving a Design Class Diagram
Chapter 18: Implementation Considerations
Chapter 8: Actor-System Interaction Modeling
Presentation transcript:

Chapter 7: Deriving Use Cases from Requirements part 1 - UML Use Case Diagram

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 cases are derived from requirements and satisfy the requirements. Planning the development and deployment of use cases and subsystems to meet the customer’s business needs and priorities.

Deriving Use Cases in the Methodology Context Use case-iteration allocation matrix Business goals & needs Current situation Accommodating Requirements Change Customer feedback Acquiring Requirements Iteration use cases Domain Modeling Preliminary requirements Domain model Domain model Deriving Use Cases from Requirements Actor-System Interaction Modeling Abstract & high level use cases, use case diagrams Expanded use cases & UI design Allocating Use Cases & Subsystems to Iterations Behavior Modeling & Responsibility Assignment Behavior models Use case-iteration allocation matrix Deriving Design Class Diagram Producing an Architecture Design Design class diagram Software architecture Test Driven Development, Integration, & Deployment (a) Planning Phase (b) Iterative Phase – activities during each iteration control flow data flow control flow & data flow

What Is a Use Case? A use case is a business process. A use case must be initiated by an actor. A use case must end with the actor. The actor explicitly or implicitly acknowledges the accomplishment of the business task. A use case must accomplish a business task (for the actor).

What Is an Actor? An actor denotes a business role played by (and on behalf of) a set of business entities or stakeholders. Actors are not part of the system. Actors interact with the system. Actors are often human beings but can also be a piece of hardware, a system, or another component of the system. Actors initiate use cases, which accomplish business tasks for the respective actors.

Use Case Diagram: Notion and Notation A use case is a business process that begins with an actor, ends with the actor, and accomplishes a business task useful for the actor. Use case It indicates that the actor uses the use case. Association between actors and use cases It encloses the use cases and shows the capabilities of the system. System Boundary An actor is a role played by and on behalf of a set of business entities or stakeholders that are external to the system and interact with the system. Actor Notation Meaning Notion use case name system name

Advanced Notions and Notations Pointing from including use case to included use case. It indicates that one use case includes another use case as part of its business process. Inclusion Pointing from extension use case to extended use case. It indicates that one use case can optionally continue the process of another use case. Extension Pointing from specialized use case to generalized use case. It indicates that one use case is more general/ specialized than the other. Inheritance Notation Meaning Notion <<extend>> <<include>>

Use Case Diagram: Library Example system name use case actor Library System Checkout Document Return Document Patron association Search for Document system boundary

Simplify with Use of Inheritance An admin can also checkout and return a document. But a patron cannot start or shutdown the system. Library System Checkout a Document Patron Return a Inheritance: It states that an Admin IS-A Patron. Startup Shutdown Admin

Simplify with Use of Inheritance Login Logout SAMS/Search Program SAMS End User Admin Staff This is OK. Login Logout SAMS/Search Program SAMS End User Admin Staff Better

Are the followings use cases? Why? Check authorization / check authentication Enter a password Process data Open a file Click on a menu item Traverse a linked list. Start a system

Guidelines for Use Case Diagram Avoid showing many use cases in one diagram (see next slide) many use case diagrams each containing only one use case overly complex use case diagrams unnecessary relationships between use cases Use several diagrams to show groups of closely related use cases: show only use cases and actors that are relevant provide a meaningful name for the system/subsystem that implements group of use cases

Guidelines for Use Case Diagram Use inheritance to simplify the diagram by reducing the number of actor-use case links. Give a meaningful name for the system/subsystem that contains the use cases. The name may serve as the package or module name in design/implementation. Actor-use case relationships are always association relationships. Only use cases and their relationships can be shown within the system boundary.

Overly Complex! Use Case Diagram Log In Log Out Start Up SAMS End User Staff User Admin Add Program Delete Program Edit Program Create User Delete User Update User Search for Programs Display Program Detail Apply Online Shutdown

SAMS/User Mgmt Add Program SAMS Delete Program Admin SAMS Staff Edit Program SAMS/Program Mgmt SAMS Staff SAMS/User Mgmt Create User Delete User SAMS Admin Update User Start Up Software engineering principle applied: separation of concerns divide and conquer Shutdown Search for Programs Display Program Detail Apply Online SAMS/End User SAMS End User SAMS/Authentication Login Logout SAMS End User SAMS Admin SAMS Staff

Do Not Make It Unnecessarily Complex Add Program Delete Program Edit Program SAMS/Program Mgmt Login <<extend>> Add Program Delete Program Edit Program SAMS/Program Mgmt SAMS Staff Login Much better SAMS Staff This diagram is made unnecessarily complex by adding the extend relationships.

What Should Be In and Out? Add Program Delete Program Edit Program SAMS/Program Mgmt SAMS Staff Login Add Program Delete Program Edit Program SAMS/Program Mgmt SAMS Staff Login Only use cases and their relationships are allowed in the boundary. Add Program Delete Program Edit Program SAMS/Program Mgmt SAMS Staff Login DB Add Program Delete Program Edit Program SAMS/Program Mgmt SAMS Staff Login Hacker

Applying Agile Principles Work closely with customer and users to understand their business processes and priorities, and help them identify their real needs. The team members should work together to identify use cases, actors and subsystems, and specify the use case scopes. Requirements evolve but the timescale is fixed. Focus on frequent delivery of small increments, each deploys only a couple of use cases. Do not attempt to derive an optimal set of use cases. Good enough is enough.

Use Case Derivation Steps Use case derivation steps could be left to an OO Analysis and Design course if there is one in the degree program.