Module: Use Case Scenarios
Assignment Type: Semester Group Project (Series Assignment)
Estimated Student Effort: 2–4 hours of coordinated group work
AI Use Policy: Generative AI tools are permitted on this assignment. If you use AI assistance, document how it was used in your submission (e.g., "We used AI to draft initial step sequences, which we then reviewed and revised against our stakeholder notes"). AI-generated content must be reviewed, verified, and owned by your team.
By the end of this assignment, you will be able to:
In real software development, teams that skip structured requirements gathering build systems that miss what users actually need. This assignment puts you in the role of a requirements analyst responsible for capturing exactly what your software must do — from every relevant user's perspective — before any design or coding begins.
The documents you create here will be the authoritative reference for your team for the rest of the semester. Every interface design decision, every feature built, and every test written will trace back to the use cases and task analyses you produce now. Getting this right saves your team significant rework later and reflects genuine industry practice in software engineering.
This assignment directly builds on the project context, stakeholder identification, and initial problem framing established in your previous assignment.
You are producing a Requirements Specification Package for your semester software project. This package contains:
Full step-by-step instructions are provided in the Task Description section below.
See the Grading Rubric section at the end of this document.
This assignment is Part 2 of your semester-long group project series. In your previous assignment, you defined your software project concept and identified the problem your system will solve. You should have that work available as a reference.
In this assignment, you are moving from what problem we are solving to how every type of user will interact with the system. You will document every action the software supports — not just the interesting or unique ones — and you will do so using the structured Use Case Scenario format and Task Analysis methods covered in this module.
Key terms used throughout this assignment:
| Term | Definition |
|---|---|
| Stakeholder | Any individual, group, or organization with an interest in or affected by the software system — not limited to direct users |
| Actor | A role that interacts directly with the system interface; represented in use cases as a named role, not a specific person |
| Use Case Scenario | A narrative description of how an actor interacts with the system to achieve a specific goal, including all possible paths |
| Main Success Scenario | The ideal interaction path where everything goes as expected and the actor achieves their goal |
| Alternative Flow | A valid variation from the main path that still results in a defined outcome |
| Exception Flow | What happens when an error, invalid input, or system failure interrupts the interaction |
| Precondition | The state the system and actor must be in before the use case begins |
| Postcondition | The guaranteed state of the system after the scenario completes |
| HTA (Hierarchical Task Analysis) | A structured breakdown of a user goal into sub-tasks and individual actions, arranged as a hierarchy |
| Edge Case | A valid but infrequent scenario occurring at the boundary of normal operating conditions |
| Coverage Matrix | A table mapping actors to use cases to verify that no actor or goal is left without a scenario |
Work through the following steps in order. Each step builds on the previous one.
Before writing use cases, you need a complete list of every action a user can perform in your system.
What to do:
Tip: Think about your software from multiple users' perspectives. An action available to an administrator is still an action that needs to be documented, even if a regular user never sees it.
What to do:
Format this as a registry (a structured list or table).
For standard/common actions (e.g., login, logout, registration, password reset), your team does not need to write out the full standard interaction in detail. Instead, for each standard action:
What to do:
Example: If your application requires admin approval before a new account is activated, that approval step is a distinct requirement and must be documented.
For every core or unique action in your inventory, write a complete Use Case Scenario using the template below. Every field is required.
Use the following template for each use case:
USE CASE: [UC-###]
| Field | Content |
|---|---|
| Title | A short, active-verb phrase describing the goal (e.g., "Submit Project Proposal") |
| Actor(s) | List all roles involved |
| Priority | High / Medium / Low |
| Frequency | Estimated how often this occurs (e.g., daily, occasionally, rarely) |
| Preconditions | What must be true before this use case begins |
| Trigger | What event or action initiates this use case |
Main Success Scenario:
Write a numbered sequence of steps. Each step is either an actor action or a system response. Steps should alternate. Do not describe technical implementation — describe what happens, not how the system achieves it internally.
1. Actor does X.
2. System responds with Y.
3. Actor does Z.
4. System confirms W.
...
Alternative Flows:
For each valid variation from the main path, document:
Exception Flows:
For each error, invalid input, or failure condition, document:
Postconditions:
Edge Cases to Consider:
List any boundary or infrequent but valid scenarios the team identified for this use case.
Writing quality expectations for use case steps:
For each core or unique action, produce a Hierarchical Task Analysis alongside its use case. Standard/common actions do not require an HTA unless your team identified something non-standard about them.
What to do:
HTA can be represented as an indented outline or a table — your choice:
Indented outline format example:
0. Goal: [Top-Level Goal Name]
Plan 0: Do 1, then 2, then 3.
1. Sub-task 1
Plan 1: Do 1.1 then 1.2.
1.1 Individual action
1.2 Individual action
2. Sub-task 2
Plan 2: Do 2.1. If condition, do 2.2.
2.1 Individual action
2.2 Individual action (conditional)
3. Sub-task 3
...
After each HTA, write 2–3 sentences explaining how the HTA output informed your use case — specifically how the sub-task steps map to steps in the main success scenario and where decision points became alternative or exception flows.
Create a table that maps every actor to every use case to confirm that:
Format:
| Use Case | Actor 1 | Actor 2 | Actor 3 | Actor N |
|---|---|---|---|---|
| UC-001: [Title] | ✓ | ✓ | ||
| UC-002: [Title] | ✓ | ✓ | ||
| ... |
Below the matrix, add a short Coverage Confirmation paragraph (3–5 sentences) stating:
As a group, write a short reflection (approximately one paragraph per question, 3–5 sentences each) responding to the following:
The items below are what your team must submit. Review this checklist before submitting.
### 📋 Required Submission Item 1: Action Inventory
A complete numbered list of all actions your software supports, organized into:
- Standard/Common Actions
- Core/Unique Actions
### 📋 Required Submission Item 2: Stakeholder & Actor Registry
A structured registry including:
- All stakeholders with their interest/concern described
- All actors with role name, description, permissions summary, and list of actions they can perform
### 📋 Required Submission Item 3: Use Case Scenarios — Standard/Common Actions
For each standard/common action:
- Title and actor(s)
- Documentation of any distinctions, unique requirements, or constraints specific to your application
- "Standard implementation — no unique requirements" notation where applicable
### 📋 Required Submission Item 4: Use Case Scenarios — Core/Unique Actions
For each core/unique action, a complete Use Case Scenario including:
- UC number, title, actor(s), priority, frequency
- Preconditions and trigger
- Numbered main success scenario
- Alternative flows
- Exception flows
- Postconditions
- Edge cases
### 📋 Required Submission Item 5: Hierarchical Task Analysis (HTA)
For each core/unique action:
- Full HTA in outline or table format (minimum two levels of decomposition)
- Plan statements at each sub-task level
- A 2–3 sentence explanation of how the HTA informed the use case
### 📋 Required Submission Item 6: Coverage Matrix
- Table mapping all actors to all use cases
- Coverage Confirmation paragraph (3–5 sentences)
### 📋 Required Submission Item 7: Group Reflection
Three reflection responses, one paragraph each (3–5 sentences per question), addressing