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.