Lecture_06 Flashcards
Writing Requirements
What is the difference between a user and a stakeholder?
A user directly interacts with the system, while a stakeholder has an interest in the system’s success but may not use it directly.
What distinguishes a requirement from a design specification?
A requirement describes what the system must do, while a design specification details how it will be implemented.
What are functional and non-functional requirements?
Functional requirements define system behavior, while non-functional requirements (quality attributes) describe system performance, security, etc.
What is the typical format of a user story?
“As a [role], I want [feature] so that [benefit].”
Give an example of a user story.
“As a person who provides recipes, I want to see reviews of my recipes so I can improve them.”
What is an SRS document?
A formal document containing system requirements, often structured according to IEEE standards.
Why are SRS documents less common in Agile development?
Agile prefers backlogs of user stories over rigid, lengthy requirement documents.
What are the main sections of an SRS document?
Introduction, overall description, specific requirements, appendices, and index.
What do IEEE standards refer to in requirements engineering?
IEEE standards, such as IEEE 29148, provide guidelines for writing clear, structured, and verifiable software requirements to ensure consistency and quality in requirement specifications.
When writing requirements, what word should be used for mandatory provisions?
Shall
What are some words to avoid in requirements?
“Best”
“most”
“user-friendly”
“as appropriate”
What are the recommended types of requirements statements in IEEE guidelines?
Mandatory statements using “shall”
preference or goals statements using “should”
and Suggestions or allowances using “may”
What are the characteristics of a well-written requirement?
Necessary, Implementation Free, Unambiguous, Consistent, Complete, Singular, Feasible, Traceable, and Verifiable.
What does it mean for a requirement to be “traceable”?
It should be possible to track its origin and purpose throughout the project lifecycle.
Why is feasibility important in requirements?
If a requirement cannot be implemented due to technical, financial, or time constraints, it is not useful.
What does SMART stand for in requirements writing?
Specific, Measurable, Achievable, Relevant, Testable.
Why should requirements be testable?
So developers can verify if the requirement has been successfully met.
Give an example of a non-SMART requirement and how to improve it.
“The system should load quickly.” → “The system shall load within 2 seconds under normal network conditions.”
Give an example of a well-written SRS requirement.
“The system shall allow users to return a rented bike to any available slot in any bike rack.”
Why should a requirement avoid design details?
To give developers flexibility in implementation.
What is an example of a poorly written requirement?
“The system should be fast.” (It lacks specificity and testability.)
What is the difference between requirements quality and quality requirements?
Requirements quality assesses how well requirements are written.
While quality requirements define the system’s performance and characteristics.
Give an example of a quality requirement.
“The system shall process user requests within 0.5 seconds.”
What are common issues that make requirements weak?
Ambiguity, inconsistency, unverifiability, unnecessary constraints, missing details.