09 Requirements
09 Requirements
SDLC Framework
Don't:
▪ Be too specific or detailed.
▪ Describe complex business logic or rules of the system.
▪ Describe the exact user interface used to implement a feature.
▪ Try to think of everything ahead of time. (You will fail!)
▪ Add unnecessary features not wanted by the customers.
Requirements: Goals and Roles
Goals when eliciting Roles when eliciting
requirements: requirements:
▪ Understand precisely what is ▪ Customers: what should be
required of the software. delivered (contractual base).
▪ Communicate this understanding ▪ Managers: scheduling and
precisely to all involved parties. monitoring (progress indicator).
▪ Control production to ensure that ▪ Designers: a spec to design the
system meets specification system.
▪ Coders: a range of acceptable
implementations.
▪ QA / Testers: a basis for testing,
verification, and validation.
Requirements Engineering
Definition. The process of eliciting, analyzing, documenting, and maintaining
requirements.
Requirements Classifications
❑ Functional requirements: Statements of services the system should provide, how
the system should react to particular inputs and how the system should behave in
particular situations.
▪ Example: input-output behavior
▪ Example (more concrete): Every order shall be allocated a unique identifier (ORDER_ID)
which the user shall be able to copy to the account’s permanent storage area.
❑ Non-functional requirements: constraints on the services or functions offered by
the system such as timing constraints, constraints on the development process,
standards, etc.
▪ Examples: security, privacy, scalability
▪ Example (more concrete): Any display of student data shall adhere to FERPA regulations.
❑ Additional constraints
▪ Examples: programming language, frameworks, testing infrastructure
Requirements Classifications
Examples
Example:
❑ Functional: A hardhat shall protect the wearer’s head from hanging equipment and
construction pieces.
❑ Non-Functional: Hardhat should must not break under 10000 PSI.
Example:
❑ Functional: A milk carton must contain a fluid.
❑ Non-Functional: The milk carton must be a cylinder and hold 32 oz of fluid.
Security REQ-1 As a user, I can be sure that the doors by default will be locked. 4 points
REQ-2 As a user, I will be able to unlock the doors using a valid key. 7 points
An intruder will not be able to unlock the doors by guessing a valid key;
REQ-3 7 points
the system will block when it detects a “dictionary attack.”
❑ Note no priorities for user stories
As a user, I can be sure that the doors will be automatically locked at all
▪ Story priority is given by its order of REQ-4
times.
6 pts
appearance on the to-do list
REQ-5 The door keypad will be backlit when dark for visibility. 3 pts
❑ Estimated size points are used for REQ-6 Anyone will be able to lock the doors on demand. 3 pts
calculating project velocity (i.e.
REQ-7 As a user, I will be able to manage additional user accounts. 10 pts
size/time)
❑ Compare to IEEE-830 style REQ-8 As a user, I will be able to view the history of accesses to my home. 6 pts
requirements As a user, I will be able to configure the preferences for how my household
REQ-9 6 pts
devices will be activated on my arrival.
Identifier User Story Size
As a host, I can take a seating request including customer party information,
Example: REQ-1 place into the seating queue, and have a table assigned or waiting time
estimated.
10
points
REQ-3
Automation As a waiter, I can add special instructions to an order at the customer’s request. 2 points
REQ-4 As a waiter, I can notify the chef of the order without walking to the kitchen. 2 pts
REQ-5 As a waiter, I can view customer’s bill and enter their payment information. 7 pts
After REQ-6 As a waiter, I will be notified when an order has been completed. 2 pts
requirements REQ-7 As a chef, I can see the queue of orders waiting to be prepared. 3 pts
analysis REQ-8 As a chef, I can mark orders as “In Preparation” and “Complete”. 2 pts
Solution
▪ DIY smart fridge.
▪ Realtime data. To the activity….
▪ Mobile app.