Requirements Analysis and User Stories
Requirements Analysis (Continued)
This session focuses on continuing the discussion on requirements analysis, with an emphasis on nonfunctional requirements and a specific technique for capturing requirements: user stories.
Agenda Overview
The session's agenda includes a concept review, a discussion of several cases related to nonfunctional requirements, an exploration of the user stories requirement technique, and a group exercise centered around the MCL website.
Nonfunctional Requirements
Nonfunctional requirements specify criteria that can be used to judge the operation of a system, rather than specific behaviors. They describe how the system performs a certain function. Key categories discussed include:
Operational: Concerns how the system operates in its environment.
Security: Pertains to protecting the system from unauthorized access or misuse.
Performance: Relates to system speed, efficiency, and resource usage.
Cultural & Political: Involves local laws, customs, and organizational policies that the system must adhere to.
Requirement Technique: User Stories
User stories are a popular requirement elicitation and representation technique commonly employed in agile software development methodologies. They describe a software feature from an end-user perspective.
Core Components of User Stories
Story Cards: Physical or digital cards used to record user stories.
Task List (Product Backlog): A prioritized list of user stories and tasks that need to be completed by the development team.
User Story Template
The standard template for writing a user story is:
"As a , I want to so that "
Examples:
General User Story Example:
As a professor, I want to communicate with my students so that I can support their learning and help them improve.
Functional Requirement-based User Story:
Functional requirements describe what the system does. These stories focus on features and behaviors.
Example: As a professor, I want to share course information with students so that I can support their learning and help them improve.
Non-functional Requirement-based User Story:
Non-functional requirements describe how the system performs its functions. These stories often focus on qualities like security, performance, usability, etc.
Example: As a professor, I want to share course information with registered students so that I can establish effective access and security controls for the course materials.