From e06148a1e935a6cfd2145556e9ed8a793c263eeb Mon Sep 17 00:00:00 2001 From: GabrielWLM Date: Fri, 1 Oct 2021 12:05:27 +0800 Subject: [PATCH] Add use case, glossary, NFR --- docs/DeveloperGuide.md | 49 ++++++++++++++++++++++++++++++----------- docs/team/gabrielwlm.md | 5 +++-- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3a2d084a8b7..80554e38145 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -357,27 +357,50 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. -*{More to be added}* +**Use case: Find and view a tutorial class** -### Non-Functional Requirements +**MSS** -1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. -2. Should be able to hold up to 1000 students without a noticeable sluggishness in performance for typical usage. -3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. -4. Readable font, at least size 12. -5. Lightweight program. -6. Light Mode. -7. Able to function in the background. -8. Able to respond to user actions within three seconds. +1. User requests to find a tutorial class +2. ClassMATE shows a list of classes with the given keyword +3. User requests to view a specific class in the list +4. ClassMATE shows the class details -*{More to be added}* + Use case ends. + +**Extensions** + +* 2a. The list is empty. + + Use case ends. + +* 3a. The given index is invalid. + + * 3a1. ClassMATE shows an error message. + + Use case resumes at step 2. + +### Non-Functional Requirements + +1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. +2. Should be able to hold at least 1000 students, 400 groups and 100 classes without a noticeable sluggishness in performance for typical usage. +3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. +4. Readable font, at least size 12. +5. Should not cause noticeable lag for other applications when running. +6. Light Mode. +7. Able to function in the background. +8. Able to respond to user actions within three seconds. +9. A tutorial class should be able to hold up to 20 students. +10. A group should be able to hold up to 5 students. +11. Each action should not take more than 3 commands. ### Glossary -* **Mainstream OS**: Windows, Linux, Unix, OS-X +* **Mainstream OS**: Windows, Linux, Unix, (MAC) OS-X * **Private student detail**: A student detail that is not meant to be shared with others * **Tutorial class**: A CS2101 tutorial class. Each student can only have up to one tutorial class -* **Student**: An NUS student taking the CS2101 module. +* **Student**: An NUS student taking the CS2101(T) module +* **Group**: A group is a subsection of the class and contains a few students for the purpose of small activities or group project -------------------------------------------------------------------------------------------------------------------- diff --git a/docs/team/gabrielwlm.md b/docs/team/gabrielwlm.md index 2d73724f89a..955b25b5d39 100644 --- a/docs/team/gabrielwlm.md +++ b/docs/team/gabrielwlm.md @@ -18,5 +18,6 @@ Given below are my contributions to the project. * Rearranged order of the features to improve readability [\#76]() * Updated command summary [\#76]() * Developer Guide: - * Added glossary [\#79]() - * Added use cases [\#79]() + * Added glossary terms [\#81]() + * Added use cases [\#81]() + * Added non-functional requirements [\#81]()