Skip to the content.

User Stories

Project Description

The existing Status Reporting System of the Shelby website is out-of-date and requires an update to modern standards. Currently, the website can function but is becoming more unmanageable as it starts to show its age. The current user interface is complex and unclear, making it difficult for students to submit weekly reports. Our standalone solution will entirely replace the Status Reporting System component of the website using modern frameworks and features, enabling more effective error messages and an intuitive design for students to complete their status reports. The solution will also give instructors and Admins a more effortless way to create and manage active courses.

What is user story?

A user story is an informal, general explanation of a software feature written from the perspective of the end user. Its purpose is to articulate how a software feature will provide value to the customer.

TLDR: Min Required User Stories

Glossary

Student #1, NEED

diagram

Use Case Title: Individual report
Actors: Student
Purpose: Submitting individual report as student
Description: Used for submitting a required weekly individual report as student
Pre-conditions: Student should exist, student should be enrolled in a class, and student should be in a team, student should be assigned a report assignment
Task Sequence: 1. Student opens Shelby in browser
2.R1: Student logs in
3.R2: Student gets sent to student page
4.R3: get page request
5.R4: generate page
6.R5: query database
7. Student enters the Individual report
8.R6: receive the generated page for individual report
9. R7: check validation.
10. R8: submit the Individual report
11.R7: check validation
12. R9: submit request to MySQL
13.R8: Individual report submitted
14. confirmation report was submitted correctly
Alternate Flow: 1. Student does not complete the form entirely, and returns later to finish
2. Student does not click on submit
3. Student clicks on cancel
Post-conditions: 1. The form needs to be verified for completion
2. Client-side error should be displayed on any incomplete fields
3. The report will be submitted and saved

Student #2, NEED

diagram

Use Case Title: Team report
Actors: Student
Purpose: Submitting team report as student
Description: Submitting a required team report as single student for entire team
Pre-conditions: Student should exist, student should be enrolled in a class, student should be in a team, student should be assigned a report assignment
Task Sequence: 1. Student opens Shelby in browser
2.R1: Student logs in
3.R2: Student gets sent to student page
4.R3: get page request
5.R4: generate page
6.R5: query database
7. Student enters the Team report
8.R6: receive the generated page for individual report
9. R7: check validation.
10. R10: Team submit the report
11.R7: check validation
12. R9: submit request to MySQL
13.R10: Team report submitted
14. confirmation report was submitted correctly
Alternate Flow: 1. Student does not complete the form entirely, and returns later to finish
2. Student does not click on submit
3. Student clicks on cancel
Post-conditions: 1. The form needs to be verified for completion
2. Client-side error needs to be displayed on any incomplete fields
3. The report needs to be submitted and saved 4. The report needs to be updated and be viewable for all team members

Student #3, NEED

diagram

Use Case Title: Receiving emails about reports
Actors: Student
Purpose: Creating a record of submissions
Description: Student receives an email for all individual and team report submissions
Pre-conditions: Student should exist, student should be enrolled in class, student should be in a team, student’s email should be attached to SRS account
Task Sequence: 1. Student submits report
2. R5: database query
3. R11: deadline reached
4. R12: gen email
5. R13 send email
6. you got mail!
Alternate Flow: N/A
Post-conditions: N/A

Student #4, NEED

diagram

Use Case Title: Viewing prior submissions
Actors: Student
Purpose: Making it possible to view prior submissions
Description: Student can view prior submissions via weekly report schedule
Pre-conditions: Student exists, student is enrolled in class, student is in a team, and student has completed a report
Task Sequence: 1. Student opens Shelby in browser
2.R1: Student logs in
3.R2: Student gets sent to student page
4.R3: get page request
5.R4: generate page
6.R5: query database
7. Student enters the old Team report
Alternate Flow: N/A
Post-conditions: N/A

Instructor #1, NEED

diagram

Use Case Title: updating rooster
Actors: Instructor
Purpose: To update the class rooster
Description: updating the list of students in the class
Pre-conditions: Instructor should exist, admin should give instructor required permissions
Task Sequence: R1: Instructor logs in
R14: Instructor gets sent to Admin page
R15: get page request
R16: generate page
R5: query database
R17. upload csv of the student rooster and converts it
R18. submit the update student rooster to the server
R19. submit the student rooster to the Database
Alternate Flow: 1. Instructor hits cancel
2. Instructor does not correctly complete form and has to retry
Post-conditions: 1. The form needs to be parsed and class needs to be created
2. The class needs to be displayed to the instructor in organized fashion

Instructor #2, NEED

diagram

Use Case Title: adding teams
Actors: Instructor
Purpose: To add student to teams
Description: Using a CSV file to add Teams and students to teams
Pre-conditions: Instructor should exist, admin should give instructor required permissions, instructor should have CSV file of team list
Task Sequence: R1: Instructor logs in
R14: Instructor gets sent to Admin page
R15: get page request
R16: generate page
R5: query database
R17. upload csv of teams and converts it
R20. submit the update teams to the server
R21. submit the teams to the Database
Alternate Flow: Instructor hits cancel button
Post-conditions: 1. CSV file needs to be parsed
2. Class creation form should decide relevant details about a class such as class name, class duration, etc

Instructor #3, NEED

diagram

Use Case Title: email
Actors: Instructor
Purpose: get email of report
Description: getting email of the report
Pre-conditions: Instructor should have an email setup to receive emails
Task Sequence: R11: the deadline set on the server passes
R5: the server queries the database for the individual and team reports
R12: the server generates the emails with that individual and team reports
R13: sends email to an email servers
Alternate Flow: Instructor hits cancel button
Post-conditions: Instructor gets reports

ADMIN #1, NEED

diagram

Use Case Title: deploying product
Actors: ADMIN
Purpose: to setup the website
Description: setup for the website
Pre-conditions: needs an environment to setup the server
Task Sequence: R1. Admin needs to login.
R24. makes the release build
R25. setup
R26. docs for software use
Alternate Flow: n/a
Post-conditions: 1: web server is setup

Admin #2, NEED

diagram

Use Case Title: updating courses
Actors: ADMIN
Purpose: Be able to manage courses
Description: The ADMIN will setup the courses
Pre-conditions: The ADMIN need a csv file of courses
Task Sequence: R1: authorized user login.
R14: view authorized users page.
R15: get the users page from the server.
R16: Generates the users page at the server.
R5: queries the database
R17: uploads and converts a CSV file for the course
R22: submits the courses updates to the server
R23: server submits changes to the database.
Alternate Flow: N/A
Post-conditions: 1: the course is now ready to be filled by the teacher with students and teams.

ADMIN #3, NEED

diagram

Use Case Title: Emails
Actors: ADMIN
Purpose: To receive error log emails
Description: To be able to change the reports and even answers to the report
Pre-conditions: The ADMIN should be able to edit reports
Task Sequence: R27: An error is registered/detected on the server.
R28: A log of the error is created and stored within the log
R29: an e-mail is generated by the server detailing the error
R30: an error query is sent to the database.
Alternate Flow: 1: ADMIN edits the report but doesn’t click save
2: If they leave, ask ADMIN if they want to save.
Post-conditions: ADMIN changed the report