diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8e46c8da45d..a561bf3e014 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -28,6 +28,8 @@ Refer to the guide [_Setting up and getting started_](SettingUp.md). -------------------------------------------------------------------------------------------------------------------- +
+ ## **Design** ### Architecture @@ -79,6 +81,8 @@ The sections below give more details of each component. -------------------------------------------------------------------------------------------------------------------- +
+ ### UI component The **API** of this component is specified in [`Ui.java`](https://github.com/AY2324S1-CS2103T-T13-0/tp/blob/master/src/main/java/seedu/address/ui/Ui.java) @@ -100,6 +104,8 @@ The `UI` component, -------------------------------------------------------------------------------------------------------------------- +
+ ### Logic component **API** : [`Logic.java`](https://github.com/AY2324S1-CS2103T-T13-0/tp/blob/master/src/main/java/seedu/address/logic/Logic.java) @@ -145,6 +151,8 @@ How the parsing works: -------------------------------------------------------------------------------------------------------------------- +
+ ### Model component **API** : [`Model.java`](https://github.com/AY2324S1-CS2103T-T13-0/tp/blob/master/src/main/java/seedu/address/model/Model.java) @@ -188,6 +196,8 @@ The `Storage` component, -------------------------------------------------------------------------------------------------------------------- +
+ ### Database component **API** : [`Database.java`](https://github.com/AY2324S1-CS2103T-T13-0/tp/blob/master/src/main/java/seedu/address/database/Database.java) @@ -219,6 +229,8 @@ Classes used by multiple components are in the [`seedu.address.commons`](https:/ -------------------------------------------------------------------------------------------------------------------- +
+ ## **Implementation** This section describes some noteworthy details on how certain features and commands are implemented. @@ -236,9 +248,10 @@ This section describes some noteworthy details on how certain features and comma
- -------------------------------------------------------------------------------------------------------------------- +
+ ### Module Plan #### Overview @@ -323,6 +336,8 @@ Alternative 1 is ultimately chosen as it helps abstracts out the logic for diffe -------------------------------------------------------------------------------------------------------------------- +
+ ### Module Storage #### Overview @@ -376,9 +391,9 @@ execution. This can be seen in the sequence diagram below - - - + + + @@ -387,6 +402,8 @@ This can be seen in the sequence diagram below -------------------------------------------------------------------------------------------------------------------- +
+ ### Module Data #### Overview @@ -442,6 +459,8 @@ In such cases where the data cannot be read successfully, a `RuntimeException` i -------------------------------------------------------------------------------------------------------------------- +
+ ### Add Module Command #### Overview @@ -493,6 +512,8 @@ And here is the *Sequence Diagram* showing the command being executed: -------------------------------------------------------------------------------------------------------------------- +
+ ### Edit Module Command #### Overview @@ -521,6 +542,8 @@ As can be seen, this is a helpful class to store fields that need to be edited. -------------------------------------------------------------------------------------------------------------------- +
+ ### Delete Module Command #### Overview @@ -568,6 +591,8 @@ The following sequence diagram shows how the `delete` command works: -------------------------------------------------------------------------------------------------------------------- +
+ ### Info Module Command #### Overview @@ -596,6 +621,8 @@ During command execution, the `info` command calls `Module#toInfoString`, as sho -------------------------------------------------------------------------------------------------------------------- +
+ ### Calculate CAP Command #### Overview @@ -626,6 +653,8 @@ The following sequence diagram shows how the `calculateCAP` command works: -------------------------------------------------------------------------------------------------------------------- +
+ ### Calculate MC Command #### Overview @@ -656,6 +685,8 @@ The following sequence diagram shows how the `calculateMC` command works: -------------------------------------------------------------------------------------------------------------------- +
+ ### \[Proposed\] Pre-requisite checking feature #### Proposed Implementation @@ -701,6 +732,8 @@ The following activity diagram summarizes what happens when a user executes a co -------------------------------------------------------------------------------------------------------------------- +
+ ## **Future enhancements** For our next steps, we plan to add the following features: @@ -728,6 +761,8 @@ For our next steps, we plan to add the following features: -------------------------------------------------------------------------------------------------------------------- +
+ ## **Appendix: Requirements** ### Product scope @@ -796,6 +831,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
-------------------------------------------------------------------------------------------------------------------- +
+ ### Use cases (For all use cases below, the **System** is `ModCraft` and the **Actor** is the `user`, unless specified otherwise) @@ -998,6 +1035,8 @@ Steps 1b1 and 1b2 are repeated until the user inputs the correct module code. Use case resumes from step 2. -------------------------------------------------------------------------------------------------------------------- +
+ ### Non-Functional Requirements 1. Should work on any mainstream OS as long as it has Java 11 or above installed. @@ -1022,6 +1061,8 @@ Where pre-requisites are specified, equivalent courses will also be accepted. Fo -------------------------------------------------------------------------------------------------------------------- +
+ ## **Appendix: Instructions for manual testing** Given below are instructions to test the app manually.