diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e89a9409997..e2228e0644e 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -316,7 +316,9 @@ The individual modules are then displayed in `ModuleCard`.
However, as changes in the `UniqueModuleList` will not propagate to the `ObservableList` in `ModulePlanSemesterList`, there is a need for the function `refreshList` to update the `ObservableList` in `ModulePlanSemesterList` whenever changes in the `UniqueModuleList` occurs.
-#### Design Consideration +
+ +#### Design Considerations **Aspect: Data Structure to Store `Module`** @@ -496,6 +498,8 @@ the module if it exists from the database. 6. `AddCommand` then attempts to add the module into the Model via `Model#addModule`. 7. If `ModuleCode`, the user inputs are valid, and the Model does not contain the module, `AddCommand` will successfully add the new `Module` into the module plan. + +
The following two *Sequence Diagrams* shows how the `add` command works: @@ -723,6 +727,8 @@ Step 3. ModCraft lets the user know if the prerequisites have not been fulfilled +
+ Step 4. The user now decides to move the module to an earlier semester, and decides to make the appropriate changes by executing the command `edit CS2103T y/1 s/2`. The `edit` command calls `Module#checkPrerequisitesFulfilled(List list)` again to check if the prerequisites have been fulfilled in previous semesters. In this case, they are the Advanced Placement and Year 1 Semester 1 semesters, and the `Module`s in these semesters populate `list`. Step 5. ModCraft lets the user know if the prerequisites have not been fulfilled, and which prerequisites. Otherwise, it moves the module `CS2103T` to Year 1 Semester 2.