Skip to content

Commit

Permalink
Merge pull request #289 from ForAeons/dg-use-cases
Browse files Browse the repository at this point in the history
docs: update dg use cases
  • Loading branch information
wxiaoyun authored Apr 13, 2024
2 parents b4e7faa + cbee596 commit 66b6f81
Showing 1 changed file with 170 additions and 14 deletions.
184 changes: 170 additions & 14 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,19 +403,71 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

<box no-icon type="success" light>

**Use case: Learn How to Use Available Commands in TAPro**

<span class="semi-bold">MSS</span>

1. User requests to view the list of available commands for TAPro.

2. TAPro displays the list of available commands and a guide on how to use each command.

Use case ends.

</box>

<box no-icon type="success" light>

**Use case: Add a Student**

<span class="semi-bold">MSS</span>

1. User requests to add a student, providing the name and NUSNet ID as compulsory information, with the phone number being optional.
1. User requests to add a student, providing the name and NUSNet ID as compulsory information, with the phone number, email, major and tags being optional.

2. TAPro adds the student to the list of students.

Use case ends.

<span class="semi-bold">Extensions</span>

* 2a. Format of the provided data is incorrect.

* 2a1. TAPro rejects the student addition and shows an error message.

* Use case ends.

</box>

<box no-icon type="success" light>

**TODO: Use case: Edit a Student**
**Use case: Editing a Student**

<span class="semi-bold">MSS</span>

1. User requests to edit an existing student, indicating the student the user wish to edit. The user provides the update details for the student and remaining details are unchanged.

2. TAPro updates the student with the new details.

Use case ends.

<span class="semi-bold">Extensions</span>

* 2a. No such student exists.

* 2a1. TAPro shows an error message.

* Use case ends.

* 2b. User provides no details to update.

* 2b1. TAPro shows an error message.

* Use case ends.

* 2c. Format of the provided data is incorrect.

* 2c1. TAPro rejects the student update and shows an error message.

* Use case ends.

</box>

Expand All @@ -427,13 +479,21 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

1. User requests to delete a specific student based on NUSNet ID.

2. TAPro deletes the student from the list of students.

Use case ends.

<span class="semi-bold">Extensions</span>

* 1a. No such student exists.
* 2a. No such student exists.

* 1a1. TAPro shows an error message.
* 2a1. TAPro shows an error message.

* Use case ends.

* 2b. Format of the provided data is incorrect.

* 2b1. TAPro shows an error message.

* Use case ends.

Expand All @@ -445,10 +505,20 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

<span class="semi-bold">MSS</span>

1. User requests to name or rename a CS course by specifying the course name and the new name if applicable.
1. User requests to name or rename a CS course by specifying the course code.

2. TAPro names or renames the CS course on the application window bar.

Use case ends.

<span class="semi-bold">Extensions</span>

* 2b. Format of the provided course code is incorrect.

* 2b1. TAPro shows an error message.

* Use case ends.

</box>

<box no-icon type="success" light>
Expand All @@ -459,13 +529,31 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

1. User requests to view a list of all students.

2. TAPro displays a list of all students.

Use case ends.

</box>

<box no-icon type="success" light>

**TODO: Use case: Find a Student by Name**
**Use case: Find a Student by Name**

<span class="semi-bold">MSS</span>

1. User requests to find all students by one or more keywords in the student's name.

2. TAPro displays a list of students whose names contain the keyword(s).

Use case ends.

<span class="semi-bold">Extensions</span>

* 2a. No student exists with the given keyword(s).

* 2a1. TAPro shows no students.

* Use case ends.

</box>

Expand All @@ -475,10 +563,26 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

<span class="semi-bold">MSS</span>

1. User requests to mark attendance for a student by providing the student's NUSNet ID.
1. User requests to mark attendance for a student by providing the student's NUSNet ID and week number to mark the attendance for.

2. TAPro marks the attendance for the student for the specified week.

Use case ends.

<span class="semi-bold">Extensions</span>

* 2a. No such student exists.

* 2a1. TAPro shows an error message.

* Use case ends.

* 2b. Week number is invalid.

* 2b1. TAPro shows an error message.

* Use case ends.

</box>

<box no-icon type="success" light>
Expand All @@ -487,25 +591,37 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

<span class="semi-bold">MSS</span>

1. User requests to unmark attendance for a student by providing the student's NUSNet ID.
1. User requests to unmark attendance for a student by providing the student's NUSNet ID and week number to unmark the attendance for.

2. TAPro unmarks the attendance for the student for the specified week.

Use case ends.

</box>
<span class="semi-bold">Extensions</span>

<box no-icon type="success" light>
* 2a. No such student exists.

* 2a1. TAPro shows an error message.

* Use case ends.

* 2b. Week number is invalid.

**TODO: Use case: Clear All Data**
* 2b1. TAPro shows an error message.

* Use case ends.

</box>

<box no-icon type="success" light>

**Use case: Know Available Commands in TAPro**
**Use case: Clear All Data**

<span class="semi-bold">MSS</span>

1. User requests to view the list of available commands for TAPro.
1. User requests to purge all data from TAPro.

2. TAPro successfully clears all data.

Use case ends.

Expand Down Expand Up @@ -536,7 +652,47 @@ For all use cases below, the **System** is TAPro and the **Actor** is the user,

<box no-icon type="success" light>

**TODO: Use case: Retrieve a previous successful command input**
**Use case: Retrieve a previous successful command input**

<span class="semi-bold">MSS</span>

1. User focuses on the command box.

2. User presses the retrieve previous command hotkey.

3. TAPro displays the successful command input in the command box.
Use case ends.

<span class="semi-bold">Extensions</span>

* 3a. No previous successful command input is available.

* 3a1. No action is taken.

* Use case ends.

</box>

<box no-icon type="success" light>

**Use case: Retrieve a more recent successful command input**

<span class="semi-bold">MSS</span>

1. User focuses on the command box.

2. User presses the retrieve next command hotkey.

3. TAPro displays a more recent successful command input in the command box.
Use case ends.

<span class="semi-bold">Extensions</span>

* 3a. No successful command input that is more recent is available.

* 3a1. The command box will be cleared

* Use case ends.

</box>

Expand Down

0 comments on commit 66b6f81

Please sign in to comment.