Lecture_07 Flashcards
Requirements Scenarios & Templates
What are the main ways to capture/document requirements?
1) Natural language:
-User stories
-Traditional SRS (Software Requirements Specifications) form.
-Templates
-Structured text
2) Using models
What are scenarios in requirements engineering?
They describe interactions between users and the system considering: Time, Ordering, and pre- and post conditions.
Can be represented as text or models
Examples: Use Case templates (text) and Customer Journey maps (models)
Why are scenarios important?
1) Help identify missing requirements
2) Provide a different view of the system
3) Consider the temporal flow of interactions
What are the key methods for representing scenarios?
- Text: Use Case Templates (e.g., Cockburn’s Use Case Template)
- Models: Customer Journey Maps
What are the key elements of Cockburn’s Use Case Template (Part 1)?
Use Case: Number and name
Goal in Context: Longer statement of the goal
Scope: System under design
Level: Summary, Primary task, Subfunction
Preconditions: Required initial state
Success End Condition: Desired outcome
Failed End Condition: What happens if it fails
Primary Actor: Who initiates
Trigger: What starts the use case
What are the key elements of Cockburn’s Use Case Template (Part 2)?
- Main Success Scenario: Step-by-step flow from trigger to goal
-Extensions: Alternative flows for specific steps
-Sub-variations: Variations in the scenario
What are the key elements of Cockburn’s Use Case Template (Part 3)?
- Priority: Importance of the use case
-Performance Target: Expected execution time
-Frequency: How often it occurs
-Superordinate Use Case: Related higher-level use case
-Subordinate Use Cases: Linked sub-use cases
-Channel to Primary/Secondary Actors: How actors interact with the system
-Open Issues: Outstanding questions
-Schedule: Timeline for implementation
What is an example of a use case using Cockburn’s template?
Use Case: #2 Pay for Bike
Goal in Context: To give payment to rent a bike
Scope: Bike rental system
Preconditions: User selected bike, logged in if registered
Success End Condition: Payment successful
Failed End Condition: Payment failed or aborted
Primary Actor: User (bike renter)
Trigger: User tries to rent a bike
Main Success Scenario:
1) User is prompted to pay
2) User confirms amount
3) User selects payment method
4) User completes payment
5) System confirms payment
What are some structured requirements templates?
- Volere Template
- List of attributes from IEEE
- Cockburn’s Use Case Template
What is the Volere Template used for?
-Structured form for capturing requirements
-Helps analysts collect complete information
-Encourages consistency and completeness
What are some attributes in the IEEE template for requirements?
- Identification
- Version Number
- Owner
- Stakeholder Priority
- Risk
- Rationale
- Difficulty
- Type (Functional, Quality)
What is EARS (Easy Approach to Requirements Syntax)?
A structured natural language approach to writing requirements. Uses specific patterns to ensure clarity.
Patterns include:
- Ubiquitous: “The system shall <action> <object>."
- Event-driven: "When <trigger>, the system shall <action> <object>."
- State-driven: "While <state>, the system shall <action> <object>."
- Unwanted behavior: "If <condition>, then the system shall <action>."
- Optional feature: "Where <feature>, the system shall <action>."</action></feature></action></condition></object></action></state></object></action></trigger></object></action>
What are some examples of EARS syntax?
- Ubiquitous: “The mobile phone shall have a mass of less than 200g.”
- Event-driven: “When ‘mute’ is selected, the laptop shall suppress all audio.”
- State-driven: “While there is no card in the ATM, the ATM shall display ‘Insert card’.”
- Unwanted behavior: “If an invalid credit card number is entered, the website shall display an error message.”
- Optional feature: “Where the car has a sunroof, it shall include a sunroof control panel.”
What are the three types of requirements in Rupp’s Template?
- Independent system action: “The system shall <process>."</process>
- User interaction: “The system provides the user with the ability to <process>."</process>
- Interface requirement: “The system is able to <process>."</process>
What is Planguage in requirements engineering?
A method using structured keywords to define requirements.
Examples of keywords:
GIST: Short description
SCALE: Measurement scale
METER: How to measure it
MUST: Minimum requirement
STRETCH: Ideal target
WISH: Desirable outcome
PAST: Previous benchmark
TREND: Historical trend
Give an example of a requirement using Planguage.
Example: Bike Return
GIST: The system shall allow the user to return their bike to any available slot.
TAG: bike.return
STAKEHOLDER: Bike rental user
MUST: Allow bike return
PAST: Bikes could only be returned to the original rack
STRETCH: Allow return to any rack or slot
DEFINED [slot]: A space in the rack where a bike can be returned
PLAN: Full product release by 01-Sep-2025
What is the purpose of structured requirements templates?
Provide a systematic way to capture requirements
Ensure completeness and uniformity
Help identify missing information
Facilitate better communication among stakeholders
What is the main advantage of using structured language for requirements?
Reduces ambiguity
Improves readability
Enforces completeness and uniformity
Makes requirements easier to validate and verify
What are the benefits of using Cockburn’s Use Case Template?
Emphasizes time and flow of interactions
Provides a structured way to document use cases
Helps identify missing steps or alternative paths
Facilitates better communication among stakeholders
What are preconditions and postconditions in a use case?
Preconditions: The required state of the system before the use case starts
Postconditions: The expected state of the system after the use case completes successfully
What is a “Main Success Scenario” in a use case?
- A step-by-step sequence of actions from trigger to successful goal completion
Describes the ideal flow of interaction
Does not include errors or alternate flows
What are “Extensions” in a use case?
- Describe alternative flows or variations of the main scenario
Often occur when an expected step has a different outcome
Example: “User enters incorrect PIN → Payment fails”
What is a “Sub-variation” in a use case?
- A variation of a step in the main success scenario
Can lead to different paths in the scenario
Example: “User chooses to pay with credit card vs. debit card”
What are the key components of a requirements template?
Requirement ID
Description
Preconditions
Postconditions
Priority
Stakeholders
Related requirements