Requirements Spec Revisited Dan Fleck. Responsibility - if you don’t do well in class, who’s problem is it?

Slides:



Advertisements
Similar presentations
What Are the Functions of ATM Machines?
Advertisements

Chapter 4: Requirements Engineering
A business makes payments for what it buys, In return it receives payments for goods it sells or services it provides.
Use-Cases.
GALVESTON COUNTY, TX P-CARD TRAINING GALVESTON COUNTY.
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.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
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.
DEPARTMENT OF COMMUNICATION STUDIES RESEARCH PARTICIPATION SYSTEM.
Information System Engineering
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 5 Requirements Engineering Modified to include some Agile Concepts copyright © 1996, 2001,
Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
SwE 313 Case Study Registration System.
PHP Implementation. Requirements Must run on all platforms (Windows, Mac, Linux). Must be compatible with all common browsers. Must be user friendly.
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
CitiManager Cardholder Self- Registration
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
McGraw-Hill/Irwin Introduction to QuickBooks Pro, 2004 © 2005 The McGraw-Hill Companies, Inc., All Rights Reserved. Chapter 4 Bank Reconciliation.
Upay User Guide
Upay User Guide WELCOME TO UPAY This guide aims to help you use the upay website. You will receive a welcome from Wolfson College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Turn on Your iPad and then…
E-Learning Material Web Application Design 2. Web Application Design Use cases Guidelines Exceptions Interaction Sequence diagrams Finding objects.
Rational Unified Process (Part 1) CS3300 Fall 2015.
1 © 2005 course technology University Of Palestine Chapter 6 Storyboarding the User’s Experience.
Getting Started with Moodle Getting Started Logging In Entering Your Address Viewing a Course Navigating Your Course’s Homepage Personalizing Your.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
Team ELL System Requirements Ladakeysha Thomas Elizabeth Waldo LaWanda Warren Brandon Williams.
Use Case Modeling. Watch the video on use cases Review at minute 2:41-3:37.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
© 2005 course technology1 1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard.
Coming up: What is a requirement? 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Modified to include some Agile.
1. To start the process, Warehouse Stationery (WSL) will invite you to use The Warehouse Group Supplier Electronic Portal and will send you the link to.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Payroll System Bank System Any bank(s) to which direct deposit transactions are sent. Employee A person that works for the company that owns and operates.
Faculty of Computer & Information
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Use Case Modeling Reference: RUP Doc. Use Case Example 2.
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.
Bonanza Health Card -How to Buy Online??. Download “Bonanza Health” App from Google Play Store. Search for Bonanza Health Care and Click on it. Install.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
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.
Coming up: What is a requirement? 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 5 Requirements Engineering Modified to include some Agile.
Coming up: What is a requirement? 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 5 Requirements Engineering Modified to include some Agile.
Upay User Guide WELCOME TO UPAY This guide is aimed to help you to use the Upay website. To launch Upay you will need to navigate to
Bank Reconciliation Chapter 4. PAGE REF #CHAPTER 4: Bank Reconciliation SLIDE # 2 Objectives Reconcile your checking Create bank reconciliation reports.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Coming up: What is a requirement? 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Modified to include some Agile.
1 Logging into the new PCard (PaymentNet) System: PAYMENTNET * Introduction * May use IE 8.0 or greater or Firefox * Do not.
PCard Training Logging into the new PCard (PaymentNet) System: * Introduction * May use IE 8.0 or greater or Firefox * Do not.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
OPS Requirements Specification and Analysis Dustin Larson Bryan Campbell Charles Sears.
SYSTEM ANALYSIS & DESIGN SYED MD MARUF HASAN TP030777
Using Use Case Diagrams
Requirements Spec Revisited
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
Working with Users and User Groups
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Using Use Case Diagrams
Use Case Document Example
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Quick Guide for Online Ordering
Presentation transcript:

Requirements Spec Revisited Dan Fleck

Responsibility - if you don’t do well in class, who’s problem is it?

Who is leading this class? Responsibility - if you don’t do well in class, who’s problem is it? Student’s Fault Teacher’s Fault # of student’s who do well Never 0%… it’s ALWAYS the leader’s fault! 100% 95%

SRS Section 3: Functional Requirements Student’s Fault Teacher’s Fault # of student’s who do well 100% 95% Oops!

Functional Requirements: Take 2 A functional requirement is something the system must do. A functional requirement is testable A general rule is a functional requirement is a “shall statement” –The system shall require users to login to access all functions. A functional requirement is something the system must do. A functional requirement is testable A general rule is a functional requirement is a “shall statement” –The system shall require users to login to access all functions.

Functional Requirements These can be high level or low level (generally we’re at high level in this class) –High level: The system shall charge users credit cards for purchases –Low level: The system shall validate all passwords contain upper and lowercase characters and one number These can be high level or low level (generally we’re at high level in this class) –High level: The system shall charge users credit cards for purchases –Low level: The system shall validate all passwords contain upper and lowercase characters and one number

Functional Requirements Are testable Are things the system you are developing must do Should be one thing (not multiple). (Because a requirement is a single entity… it passes or fails as one piece) Should have a source (who/what decided this was required) Are testable Are things the system you are developing must do Should be one thing (not multiple). (Because a requirement is a single entity… it passes or fails as one piece) Should have a source (who/what decided this was required)

Functional Requirements Should not be a design choice (this is hard to get right). –The system shall store user information including name, DOB, address and SSN. <-- Good! –The system shall store user information in an Oracle database including name, DOB, address, SSN. <-- bad Is Oracle really REQUIRED? Hard to say… maybe, but probably not. This is a decision you would make at implementation design time. Question: Does the customer care that you use Oracle? MySQL? Etc.. Maybe someone found some other MUCH BETTER approach storing the data on moon rocks. Again: This is hard to avoid… and I’m not to concerned with it on the SRS, but I want you to be very aware of when you are making design choices instead of required features. Should not be a design choice (this is hard to get right). –The system shall store user information including name, DOB, address and SSN. <-- Good! –The system shall store user information in an Oracle database including name, DOB, address, SSN. <-- bad Is Oracle really REQUIRED? Hard to say… maybe, but probably not. This is a decision you would make at implementation design time. Question: Does the customer care that you use Oracle? MySQL? Etc.. Maybe someone found some other MUCH BETTER approach storing the data on moon rocks. Again: This is hard to avoid… and I’m not to concerned with it on the SRS, but I want you to be very aware of when you are making design choices instead of required features.

Functional Requirements Must have a unique ID. –When testing you need to reference REQ-1 or REQ-287. Multiple things cannot be labeled REQ-1. –Later our test cases will say: This test case validates requirements REQ-1, REQ-27, and REQ-56. Must have a unique ID. –When testing you need to reference REQ-1 or REQ-287. Multiple things cannot be labeled REQ-1. –Later our test cases will say: This test case validates requirements REQ-1, REQ-27, and REQ-56.

Functional Requirements Bad requirements examples: –The system shall validate and accept credit cards and cashier’s checks. High priority. –The system shall process all mouse clicks very fast to ensure user’s do not have to wait. –The user must have Adobe Acrobat installed. Bad requirements examples: –The system shall validate and accept credit cards and cashier’s checks. High priority. –The system shall process all mouse clicks very fast to ensure user’s do not have to wait. –The user must have Adobe Acrobat installed.

Functional Requirements Bad requirements examples: –The system shall validate and accept credit cards and cashier’s checks. High priority. Problem: two requirements instead of one. If the credit card processing works, but the cashier’s check validation does not… is this requirement pass or fail? Has to be fail, but that is misleading. Maybe only credit cards are high priority and cashier’s checks are low priority. –The system shall process all mouse clicks very fast to ensure user’s do not have to wait. Problem: This is not testable. Quantify how fast is acceptable? –The user must have Adobe Acrobat installed. Problem: This is not something our system must do. It could be in the constraints/assumptions or maybe operating environment sections, but is not a functional requirement of our system Bad requirements examples: –The system shall validate and accept credit cards and cashier’s checks. High priority. Problem: two requirements instead of one. If the credit card processing works, but the cashier’s check validation does not… is this requirement pass or fail? Has to be fail, but that is misleading. Maybe only credit cards are high priority and cashier’s checks are low priority. –The system shall process all mouse clicks very fast to ensure user’s do not have to wait. Problem: This is not testable. Quantify how fast is acceptable? –The user must have Adobe Acrobat installed. Problem: This is not something our system must do. It could be in the constraints/assumptions or maybe operating environment sections, but is not a functional requirement of our system

What I want in the SRS A reference to the Use Case this requirement is from (for a very small number they may not have a use case.. But most will). The source of the use case. Make it up - end users, marketing, sys admins, internal… think about who may care most about this use-case) The event that starts the use case (if it’s in the use/case that is fine) Priority of the requirement A unique number for the more detailed requirement A short description of the more detailed requirement A reference to the Use Case this requirement is from (for a very small number they may not have a use case.. But most will). The source of the use case. Make it up - end users, marketing, sys admins, internal… think about who may care most about this use-case) The event that starts the use case (if it’s in the use/case that is fine) Priority of the requirement A unique number for the more detailed requirement A short description of the more detailed requirement

Template 3.1 Withdraw money from ATM – Description and priority –Customer is withdrawing money from the ATM. The system issues the money and debits their account. This feature is high priority. – Stimulus/Response Sequence [[Usually similar or the same as basic flow from the Use Case]] 1.Customer chooses the checking option on the ATM 2.Customer chooses the amount of money needed 3.Customer confirms the choice 4.System validates the amount 5.System debits the customer’s account 6.System issues money to the user – Functional Requirements –See Section 7, System Requirements Chart – Derived from Use Case U Withdraw money from ATM – Description and priority –Customer is withdrawing money from the ATM. The system issues the money and debits their account. This feature is high priority. – Stimulus/Response Sequence [[Usually similar or the same as basic flow from the Use Case]] 1.Customer chooses the checking option on the ATM 2.Customer chooses the amount of money needed 3.Customer confirms the choice 4.System validates the amount 5.System debits the customer’s account 6.System issues money to the user – Functional Requirements –See Section 7, System Requirements Chart – Derived from Use Case U9.

Use Case Use case name and identifier: U3 - Withdraw money from ATM Objective: The customer is withdrawing money from the ATM and the system will debit the customer ’ s account. Priority: High Source: Customer Actors: Customer Flow of Events 1.Basic Flow 1.Customer chooses the checking option on the ATM 2.Customer chooses the amount of money needed 3.Customer confirms the choice 4.System validates the amount 5.System debits the customer ’ s account 6.System issues money to the user 2.Alternative Flow 1: At step 4 amount is not a multiple of $20 1.An error message is displayed telling customer they must use multiples of $20 2.Return to step Alternative Flow 2: At any step user presses “ cancel ”. 1.System returns to the main menu 4.Exception Flows: 1.Database is locked due to backup in progress. See U5 for details. Includes (other use case IDs): U5 - Exception occurs Special Requirements: None Preconditions: User is logged in. Post conditions: Money has been returned to the user and their account balance has been updated. Notes/Issues - None Use case name and identifier: U3 - Withdraw money from ATM Objective: The customer is withdrawing money from the ATM and the system will debit the customer ’ s account. Priority: High Source: Customer Actors: Customer Flow of Events 1.Basic Flow 1.Customer chooses the checking option on the ATM 2.Customer chooses the amount of money needed 3.Customer confirms the choice 4.System validates the amount 5.System debits the customer ’ s account 6.System issues money to the user 2.Alternative Flow 1: At step 4 amount is not a multiple of $20 1.An error message is displayed telling customer they must use multiples of $20 2.Return to step Alternative Flow 2: At any step user presses “ cancel ”. 1.System returns to the main menu 4.Exception Flows: 1.Database is locked due to backup in progress. See U5 for details. Includes (other use case IDs): U5 - Exception occurs Special Requirements: None Preconditions: User is logged in. Post conditions: Money has been returned to the user and their account balance has been updated. Notes/Issues - None I prefer outline numbering, just can’t do in PPT. Make yours 2.1, 2.2, etc…

Requirements derived from this Use-Case Derived Functional Requirements: –Req U.3.1 The system shall provide an option to withdraw money –Req U.3.2 The system shall query the user for the amount of money –Req U.3.3 The system shall query the user for the account type –Req U3.4 The system shall validate the amount is available in the user’s account before releasing funds to the user –Req U.3.5 The system shall validate the amount is a multiple of $20. –Req U.3.6 The system shall debit the user’s account upon withdrawal of funds –Req U.3.7 The system shall be able to issue a specific amount of money to the user. Derived Functional Requirements: –Req U.3.1 The system shall provide an option to withdraw money –Req U.3.2 The system shall query the user for the amount of money –Req U.3.3 The system shall query the user for the account type –Req U3.4 The system shall validate the amount is available in the user’s account before releasing funds to the user –Req U.3.5 The system shall validate the amount is a multiple of $20. –Req U.3.6 The system shall debit the user’s account upon withdrawal of funds –Req U.3.7 The system shall be able to issue a specific amount of money to the user.

Requirements Chart IDPriorityType F = Functional NF = Non- Functional SourceContained in Use Case(s) Description 3HighFCustomer - John Smith U3, U8The system shall provide an option to withdraw money 3.1MediumFCustomer - John Smith U3, U8, U10The system shall query the user for the amount of money 1HighFInternal TeamU1The system shall require user login before any operation 1.1MediumFInternal Team U1The system shall lock users out who have failed the maximum number of password attempts

Use Cases When to use includes: –If the use-case has a step that you say “see Login Use Case U4”, then include it. –If the use case has a precondition that the user must be logged in, then it does not “include” that use-case. A screen is not a use-case (user goal) –Main screen is not a use case –Login, add product, play game, etc… could be use-cases. When to use includes: –If the use-case has a step that you say “see Login Use Case U4”, then include it. –If the use case has a precondition that the user must be logged in, then it does not “include” that use-case. A screen is not a use-case (user goal) –Main screen is not a use case –Login, add product, play game, etc… could be use-cases.

FONTS! Please check to make sure your fonts are the same font face and size consistently! Headings can be bigger, etc… just be consistent.