Skip to content

Commit

Permalink
Merge branch 'master' into branch-UD-DG-Finishing
Browse files Browse the repository at this point in the history
  • Loading branch information
marioalvaro authored Nov 13, 2023
2 parents 5c29144 + 573c0f6 commit a29a457
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 55 deletions.
18 changes: 9 additions & 9 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The *Sequence Diagram* below shows how the components interact with each other f
Each of the four main components (also shown in the diagram above),

* defines its *API* in an `interface` with the same name as the Component.
* implements its functionality using a concrete `{Component Name}Manager` class (which follows the corresponding API `interface` mentioned in the previous point.
* implements its functionality using a concrete `{Component Name}Manager` class (which follows the corresponding API `interface` mentioned in the previous point).

For example, the `Logic` component defines its API in the `Logic.java` interface and implements its functionality using the `LogicManager.java` class which follows the `Logic` interface. Other components interact with a given component through its interface rather than the concrete class (reason: to prevent outside component's being coupled to the implementation of a component), as illustrated in the (partial) class diagram below.

Expand Down Expand Up @@ -130,7 +130,7 @@ How the parsing works:
### Model component
**API** : [`Model.java`](https://github.com/se-edu/addressbook-level3/tree/master/src/main/java/seedu/address/model/Model.java)

<puml src="diagrams/ModelClassDiagram.puml" width="450" />
<puml src="diagrams/ModelClassDiagram.puml" width="600" />

Note that Student, StudentGrade and GradeComponent classes have similar structures and dependencies, thus, we use Ssc class to represent these three and their related classes in the class diagram above.

Expand Down Expand Up @@ -252,7 +252,7 @@ The following sequence diagram shows how the sort student scores operation works
<puml src="diagrams/SortScoreCommandSequenceDiagram.puml" alt="SortScoreCommandSequenceDiagram"></puml>

The following activity diagram summarizes what happens when a user executes a new `sortScore` command:<br>
<puml src="diagrams/SortScoreActivityDiagram.puml" alt="SortScoreActivityDiagram" />
<puml src="diagrams/SortScoreAcitivityDiagram.puml" alt="SortScoreActivityDiagram" />

### Stats Commands

Expand All @@ -276,17 +276,17 @@ Step 1. The user executes `compStats c/Midterm` command to calculate the statist
Step 2. `CompStatsCommandParser#parse()` invokes the creation of a `CompStatsCommand` object.
> **Note**: If a command fails its execution due to incorrect command format, it will not create a `CompStatsCommand` object, an error message will be displayed and user will retype their command.
Step 4. Upon creation and execution of `CompStatsCommand` object, `GradedComponentBook#hasGc(GcName gcName)`, `studentBook.getStudentList()` and `compStatsCommand.generateOverallStatsSummary(List<Student> students)` methods are called.
Step 3. Upon creation and execution of `CompStatsCommand` object, `GradedComponentBook#hasGc(GcName gcName)`, `studentBook.getStudentList()` and `compStatsCommand.generateOverallStatsSummary(List<Student> students)` methods are called.
> **Note**: If upon invoking `GradedComponentBook#hasGc(GcName gcName)` method and return value is false, it will throw an error and will not call the remaining two methods, so statistics will not be calculated and displayed.
Step 5. After successfully calculating the statistics, a `CommandResult` object will be created to show the calculated statistics.
Step 4. After successfully calculating the statistics, a `CommandResult` object will be created to show the calculated statistics.

The following sequence diagram shows how the `compStats` operation works:<br>

<puml src="diagrams/CompStatsCommandSequenceDiagram.puml" alt="SortScoreCommandSequenceDiagram"></puml>

The following activity diagram summarizes what happens when a user executes a new `compStats` command:<br>
<puml src="diagrams/CompStatsActivityDiagram.puml" alt="CompStatsActivityDiagram" />
<puml src="diagrams/CompStatsAcitivityDiagram.puml" alt="CompStatsActivityDiagram" />

### Auto-grading

Expand Down Expand Up @@ -481,7 +481,7 @@ NUS professors who:
* is reasonably comfortable using CLI apps

**Value proposition**:
* NUS professors need a convenient system to manage students and assessments. We propose a program to track students and their performance on graded components, utility functions to get statistics on the cohort and certain subgroups, ability to tag students (eg. dropped module, potential TA etc.), alongside general GUI improvements.
* NUS professors need a convenient system to manage students and assessments. We propose a program to track students and their performance on graded components, utility functions to get statistics on the cohort and certain subgroups, ability to tag students (e.g. dropped module, potential TA etc.), alongside general GUI improvements.



Expand Down Expand Up @@ -829,7 +829,7 @@ testers are expected to do more *exploratory* testing.
1. Sort student scores in ModuLight
1. Prerequisite: displayed student list and student score list are not empty and a graded component with name "Midterm" is created.
2. Test case: `sortScore c/Midterm`
Expected: Only Midterm student scores are shown and they are sorted in the ascending order.
Expected: Only Midterm student scores are shown, and they are sorted in the ascending order.
3. Test case: `sortScore c/Final` (Assuming there is no such graded component with name "Final")
Expected: An error message that states "This graded component is not created. Please check if the information is correct" is shown.

Expand All @@ -838,7 +838,7 @@ testers are expected to do more *exploratory* testing.
1. Calculate overall statistics of students' total scores
1. Prerequisite: student list and student score list are not empty and there is at least a valid score in Tut `T01`.
1. Test case: `stats`
Expected: A message that states all relevant statistical measures (The exhausitive list can be found in [UG](https://ay2324s1-cs2103t-w08-2.github.io/tp/UserGuide.html#calculating-overall-statistics-stats)) are shown.
Expected: A message that states all relevant statistical measures (The exhaustive list can be found in [UG](https://ay2324s1-cs2103t-w08-2.github.io/tp/UserGuide.html#calculating-overall-statistics-stats)) are shown.
2. Test case: `stats st/max st/min`
Expected: A message that states the max and min is shown.
3. Test case: `stats g/T01`
Expand Down
Loading

0 comments on commit a29a457

Please sign in to comment.