Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Functional Requirements through Use Cases Patrick Bailey Keith Vander Linden Calvin College.

Slides:



Advertisements
Similar presentations
Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Robert B. Jackson Brigham Young University John W. Satzinger
Behavioral Modeling II Developing Use Cases
Use cases.
Information System Engineering
CS3773 Software Engineering Lecture 03 UML Use Cases.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Use-case Modeling.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Documenting Requirements using Use Case Diagrams
Use Cases and Scenarios
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
SE 555 Software Requirements & Specification Requirements Analysis.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
Chapter 7: The Object-Oriented Approach to Requirements
Copyright © Craig Larman All Rights Reserved Requirements.
RUP Requirements RUP Artifacts and Deliverables
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
Object-Oriented Analysis - Instructor Notes
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
© 2005 course technology1 1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Originated by K.Ingram, J.Westlake.Edited by N.A.Shulver Use Case Scripts What is a Use Case Script? The text to describe a particular Use Case interaction.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
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.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
Staffordshire UNIVERSITY School of Computing Version Jan 08 original by K.Ingram & J.Westlake1 Use Case Scripts The text to describe a particular Use Case.
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.
Use cases Week Use‐case diagram 2 – Depicts the interactions between the system and external systems and users. – Graphically describes who will.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Understanding Requirements
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Systems Analysis and Design in a Changing World, Fourth Edition
Use Cases and Scenarios
Recall The Team Skills Analyzing the Problem (with 5 steps)
Creating Use Cases.
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Use Case Model Use case description.
Use Case Model Use case diagram – Part 2.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Use Case Definition: A use case describes in narrative prose
Engineering Quality Software
Use Case Modeling Part of the unified modeling language (U M L)
Use cases Dr. X.
Presentation transcript:

Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Functional Requirements through Use Cases Patrick Bailey Keith Vander Linden Calvin College

Smith’s Aerospace © P. Bailey & K. Vander Linden, Imagine several dozen pages of this… 1. The system shall allow entry of a patron’s library card number. 2. The system shall flag patron records as non-useable if there is an overdue book associated with the account. 3. The system shall flag patron records as non-useable if there is an overdue book associated with the account. 4. The system shall allow entry of a book identification number for checkout. 5. The system shall maintain the status of a book. Statuses include available, checked-out, reserved and destroyed. 6. The system shall maintain the status of a video. Statuses include available, checked-out, reserved, being-viewed, on-order and destroyed. 7. The system shall mark a book as checked out for a patron provided the patron ID is entered, the patron record is not flagged and the book status is available. 8. The system shall mark a video as checked out for a patron provided the patron ID is entered, the patron record is not flagged and the video status is available. 9. The system shall apply a date two weeks from the current date as the due date for a book. 10. The system shall apply a date one week from the current date as the due date for a video.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Compared to … When a patron brings books or videos to the checkout desk, the clerk will do the following: Request the library card from the patron and enter the number into the system. The system will let the clerk know if the patron may check out materials. The clerk will enter the identification number of each book and video into the system. The system will create a receipt listing material checked out and each due date. Books are allowed to be checked out for two weeks and videos are allowed to be checked out for one week.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Basic Definition “The use case view captures the behavior of a system… as it appears to an outside user.“ It is done through partitioning the system into stories of usage by an actor. “The term actor includes humans, as well as other computer systems and processes.” The actor: “I think (or maybe I’m programmed to), therefore I am…human, machine, whatever…”

Smith’s Aerospace © P. Bailey & K. Vander Linden, General Industry Observations ● Enhances customer ability to verify system description. Easier to comprehend. ● Story telling is a natural tool to create understanding “The job boils down to two things: paying attention … and then telling the truth about what you see.” Stephen King, “On Writing”

Smith’s Aerospace © P. Bailey & K. Vander Linden, Use Case Relationships Association – Communication path between actor and use-case Extend – Insertion of additional behavior into a base use case not explicitly documented > Include – Additional behavior that is explicitly described. Often a shareable use case > Generalization – Relation to a specific use case that shares features

Smith’s Aerospace © P. Bailey & K. Vander Linden, Diagram Sample video checkout book checkout item checkout verify user > check in item pay fine > Boundary Note: Video and book checkout have common steps identified in item checkout. Note: “pay fine” is not always a required process at check in where as “verify user” is always done at checkout, highlighting the use of > and >, respectively.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Example with text view…

Smith’s Aerospace © P. Bailey & K. Vander Linden, The Text Elements (or the real work) Use Case Name Name of the use case Unique ID ID for requirements management Primary Actor Role/title/description of actor Supporting Actor Sometimes called stakeholders – define their goal or contribution Brief Description High level overview of purpose Pre conditions What must be true before hand. Main Scenario Typical or “basic” flow Post Conditions Success condition – “guarantee” Alternate Scenarios “Exceptions” to the basic flow Other Other considerations of importance

Smith’s Aerospace © P. Bailey & K. Vander Linden, Other Considerations ● Non-behavioral requirements (ie constraints, “non-functional” requirement) ● Assumptions ● Issues ● Risk ● Priority ● Noted meeting information ● Other (there can always be more)

Smith’s Aerospace © P. Bailey & K. Vander Linden, Considerations ● Larman recommends avoiding specifics about the user interface design layout. ● Styles of writing suggested for scenarios: – prose – Free flowing text style. – step - Events are described in ordered steps. – state – Specific description of state. Almost like steps but with description of how states change. (Note: States are typically underlined in the use cases because they may cross over)

Smith’s Aerospace © P. Bailey & K. Vander Linden, Example – Library Check Out Use Case Name Material Check Out Use Case ID UC Lib 1.1 Primary Actor Library Desk Clerk – must be able to quickly check out books with no errors. Stakeholders Inventory Manager – Wants to ensure accuracy Library Manager – Responsible for quality and speed of service

Smith’s Aerospace © P. Bailey & K. Vander Linden, Example Continued Pre- conditions Material is registered in system Patron is registered on system Main Scenario The patron arrives at the library checkout station and presents a library card and materials to check out. The clerk verifies the card ID is for a legitimate patron and that the patron is allowed to check out material. The clerk then records the ID number from each item being checked out and records their loan and their duration (books are two weeks and videos are one.) The patron is provided a receipt listing the materials and their due dates. Success Library has record of patron and checkout information.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Example with Steps Pre- conditions Material is registered in system Patron is registered on system Main Scenario 1. Patron library card and materials to check out. 2. Clerk verifies the card ID is for a legitimate patron and that the patron is allowed to check out material 3. Clerk records the ID number from each item being checked out 4. The due date for the material is determined 1. Each book is given two weeks 2. Each video is given one week 5. The patron is provided a receipt listing the materials and their due dates. Success Library has record of patron and checkout information.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Alternative Scenario Pre- conditions Material is registered in system Patron is registered on system Alternative Scenarios 1.1 Patron does not have library card. 1.2 Clerk requests some form of identification 1.3 Clerk verifies patron and issues temporary card (UC LIB 3) 2.1 Patron has overdue bill 2.2 Patron offers to pay bill 2.3 Clerk collects payment (UC LIB 4) 2.1a Patron does not pay bill 2.1b Clerk does not proceed

Smith’s Aerospace © P. Bailey & K. Vander Linden, As A Process Use Case Modeling Prepare for use case modeling Perform initial use case modeling Expand on use case model Create test cases and documentation Organize the Use Cases Ongoing use case management Major Use Case Activity Groups Armour & Miller, Advanced Use Case Modeling, Addison-Wesley, 2000

Smith’s Aerospace © P. Bailey & K. Vander Linden, Implications for SE Discipline ● Scope management based on stories and well defined system boundary. ● Natural inclination to strong cohesion with well developed stories. ● Better equipped to validate high level architectures with tools such as ATAM which focuses on scenario analysis ● AND…

Smith’s Aerospace © P. Bailey & K. Vander Linden, Aligns Well With Iterative Development Alternate scenariosMain Scenario

Smith’s Aerospace © P. Bailey & K. Vander Linden, Multiplicity Notation Multiplicity Lower Bounds Upper Bounds 1There is one and only one There can be up to one01 0..*Optionally many0Infinite 1..*As few as one1Infinite

Smith’s Aerospace © P. Bailey & K. Vander Linden, Multiplicity Example. Ref:

Smith’s Aerospace © P. Bailey & K. Vander Linden, Detail on condition of extends > now highlights conditions

Smith’s Aerospace © P. Bailey & K. Vander Linden, General Comment At one time, analysts produced process narratives. These were descriptions of system usage from an operational perspective. However, these were the documents that led up to “shall” scripting requirements.

Smith’s Aerospace © P. Bailey & K. Vander Linden, Reverse Engineering – Existing Documents ● Reverse engineering is not appropriate since use cases discuss behavior and not implementation. ● It can be used, though, as a framework to understand existing systems that have changed ownership. ● Use cases can help set a context or a grouping for existing shall script documents.

Smith’s Aerospace © P. Bailey & K. Vander Linden, References Frank Armour and Granville Miller, Advanced Use Case Modeling, Addison Wesley 2000 Craig Larman, Applying UML and Patterns – Second Edition, Prentice Hall, 2002 Jong Kook Lee, Seung Jae Jung and Soo Dong Kim, Component Identification Method with Coupling and Cohesion, APSEC’01, IEEE Paper /01, 2001