Generating Use Cases from User Stories#
In software engineering, translating user stories into use cases is a crucial step in the requirements engineering process. This transformation helps bridge the gap between user needs and the functional design of the system. Use cases provide a detailed description of how users interact with the system to achieve their goals, offering a clearer, step-by-step narrative that developers and stakeholders can follow.
Official Statements from The University of Melbourne
Always make sure you’re following the official University of Melbourne statements and resources relating to AI, academic integrity, and assessment
Official Statements from The University of Melbourne: https://melbourne-cshe.unimelb.edu.au/ai-aai/home/ai-integrity/official-statements-from-the-university-of-melbourne/
Please confirm with your subject coordinators if generative AI tools are permitted in your coursework and understand the guidelines for their use.
The Importance of Use Cases#
Use cases extend user stories by adding context and specificity, making them invaluable for:
Design and Implementation: Guiding the development team in building the system’s functionality.
Testing and Validation: Serving as a basis for creating test cases and ensuring the system meets user expectations.
Communication: Facilitating a common understanding among all project stakeholders.
Generating Use Cases: A Guided Approach#
To generate use cases from user stories, we can use the following structured prompt with generative AI:
Given the user story: [Insert User Story Here],
Generate a detailed use case, including:
- Title: A concise title for the use case.
- Actor: The user or system initiating the use case.
- Preconditions: Conditions that must be true before the use case begins.
- Main Flow: A step-by-step description of the interaction between the actor and the system to achieve the goal.
- Alternate Flows: Any variations in the interaction sequence.
- Postconditions: The state of the system after the use case completes.
Example: From User Stories to Use Cases#
User Story 1#
As Alex, I want to easily create a professional profile highlighting my teaching philosophy and preferred subjects so that potential employers can understand my unique approach to education.
Generated Use Case#
Use Case Name: Creating a Professional Profile
Actor: Alex
Precondition: Alex is registered and logged into the system.
Main Flow:
Alex selects the option to create a new professional profile.
Alex is prompted to enter details about their teaching philosophy and preferred subjects.
The system validates the entered information and saves the profile.
The system displays a confirmation message that the profile is successfully created.
Postconditions: Alex’s professional profile is visible to potential employers.
Exceptions:
If any required information is missing, Alex is prompted to complete all fields.
User Story 2#
As Alex, I want to filter job opportunities by location and accessibility features so that I can find schools that match my needs and values.
Generated Use Case#
Use Case Name: Filtering Job Opportunities
Actor: Alex
Precondition: Alex has accessed the job opportunities section.
Main Flow:
Alex inputs preferred location and accessibility features into the filter criteria.
The system retrieves and displays a list of job opportunities matching the criteria.
Alex reviews the filtered job opportunities.
Postconditions: Alex can identify and select job opportunities that match their preferences.
Exceptions:
If no matches are found, the system informs Alex and suggests adjusting the filter criteria.