From e60c922a08e4b81d4eecd5571a99316ac179e33f Mon Sep 17 00:00:00 2001 From: Originalidk Date: Fri, 10 Nov 2023 02:36:49 +0800 Subject: [PATCH 1/4] Update PPP --- docs/team/originalidk.md | 45 +++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/docs/team/originalidk.md b/docs/team/originalidk.md index 2e07415e64c..1e440574c7c 100644 --- a/docs/team/originalidk.md +++ b/docs/team/originalidk.md @@ -8,23 +8,58 @@ F.A.K.E.J.A.R.V.I.S. is a project to help CS1101S Avengers manage their time and Below are my contributions to the project: -* **New Features**: To be added +* **New Features**: Added the ability to grade assignments + * What it does: enables users to grade student assignments, allowing for easy management of the Avenger's students' grades. + * Justification: This feature is important to our product as it helps Avengers to better keep track of their student's assignment scores. This fulfills F.A.K.E.J.A.R.V.I.S. purpose of being an all-in-one application as Avengers no longer need to go onto Source Academy to assess how their students are performing for missions or quests. + * Credits: No reuse of code or third-party libraries. + + +* **New Features**: Added the ability to delete assignment grades + * What it does: enables users to delete a grade from student assignments, allowing Avengers to delete assignment grades that were added accidentally. + * Justification: This feature is important to our product as it helps Avengers to delete the grade of students they might have accidentally graded. + * Credits: No reuse of code or third-party libraries. + + +* **New Features**: Added the ability to comment on assignments + * What it does: enables users to comment on student assignments, allowing Avengers to comment on their students' assignments + * Justification: This feature is important to our product as it helps Avengers to keep track of mistakes that their student's make. This enables them to better keep track of their students' strengths and weaknesses. + * Credits: No reuse of code or third-party libraries. + + +* **New Features**: Added the ability to delete comments from assignments + * What it does: enables users to delete comments from student assignments, allowing Avengers to delete comments that were added accidentally. + * Justification: This feature is important to our product as it helps Avengers to delete comments they might have accidentally made when commenting on their student's assignments. + * Credits: No reuse of code or third-party libraries. + + +* **New Features**: Added the ability to view a student's assignments + * What it does: enables users to view a student's assignment details, enabling Avengers to better keep track of each student's performance. + * Justification: This feature is important to our product as it helps Avengers to more easily assess each student's results for their missions and quests. + * Credits: No reuse of code or third-party libraries. * **Code contributed**: [RepoSense](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=Originalidk&breakdown=true) * **Project management**: To be added + * Managed release `v1.3b` + * Reviewed and approved pull requests + * Created some GitHub issues -* **Enhancements to existing features**: To be added +* **Enhancements to existing features**: + * Initialised a list of all Source Academy assignments for each newly created student so that Avengers do not have to manually add them. * **Documentation**: - * User Guide: To be added + * User Guide: + * Added documentation for the Assignment Management Section - * Developer Guide: To be added + * Developer Guide: + * Added implementation details of the `editgrade`, `deletegrade`, `editcomment`, `deletecomment` and `viewassignments` features. + * Designed the class diagram for `Grade`, `Comment` and `AssignmentMap`. -* **Review/mentoring contributions**: To be added +* **Review/mentoring contributions**: + * Found 15 bugs during the PE-D which helped to improve another team's product. * **Tools**: To be added From f6db9294f48df82daedff7e4371e2022e20a607e Mon Sep 17 00:00:00 2001 From: Originalidk Date: Fri, 10 Nov 2023 15:10:56 +0800 Subject: [PATCH 2/4] Update DG assignment features --- docs/DeveloperGuide.md | 50 ++++++++-------------------- docs/diagrams/AssignmentClass.puml | 52 ++++++++++++++++++++++++++++++ docs/diagrams/CommentClass.puml | 20 ------------ docs/diagrams/GradeClass.puml | 23 ------------- 4 files changed, 65 insertions(+), 80 deletions(-) create mode 100644 docs/diagrams/AssignmentClass.puml delete mode 100644 docs/diagrams/CommentClass.puml delete mode 100644 docs/diagrams/GradeClass.puml diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index d7f98915fe0..040ccda057e 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -206,53 +206,29 @@ Below is a class diagram describing the implementation of `Task` and its respect **Alternative 2:** `isDone` Boolean for Task Completion. - Cons: Only allows for a binary state, i.e., either the task is done or not. -### Grades -The Grade component consists of the following set of features: Edit Grade, Delete Grade and View Grade. +### Assignments +The Assignment component consists of the following set of features: View Assignments, Edit Grade, Delete Grade, Edit Comment and Delete Comment. -#### The Grade class -The Grade Class is made up of an `actualGrade`, `maxGrade`, `isGraded`, and a set of getter methods that corresponds to most of these fields. +#### The Assignment class +The Assignment Class is made up of an `assignmentName`, `grade`, `comment`, and a set of getter methods that corresponds to most of these fields. -Below is a class diagram describing the implementation of `Grade` and its respective fields. +Below is a class diagram describing the implementation of `Assignment` and its respective fields. -![Grade Class UML](images/GradeClass.png) +![Assignment Class UML](images/AssignmentClass.png) #### Design Considerations: -**Aspect: How the assignment a grade is being given to is determined:** +**Aspect: How an assignment in being assigned to a person:** -**Alternative 1 (current choice):** `Grade` is a field in the `Assignment` it is being graded to. -- Pros: This choice makes it easier to ensure that each assignment only has one grade, and also makes it easier to manage multiple features related to an assignment. -- Cons: It requires additional time to add a grade to an assignment since the assignment needs to be obtained first. +**Alternative 1 (current choice):** `AssignmentMap` is a field in `Person` that contains `Assignment` instances which are assigned to that person. +- Pros: This choice makes it easier to ensure that each assignment is only being assigned to one person, and also makes it easier to manage multiple features related to an assignment. +- Cons: It requires additional time to access an assignment since the assignment needs to be obtained from the correct person first. -**Alternative 2:** `Assignment` is a field in the `Grade` being given to it. -- Cons: It requires more checks to be done to ensure that each assignment only has one Grade. +**Alternative 2:** Create a `PersonList` field in every `Assignment`, which contains `Person` instances. +- Cons: Every person related command will have to update `PersonList` in every `Assignment` instance. -**Alternative 3:** `Assignment` is a field in the `Grade` being given to it and vice versa. +**Alternative 3:** Create a `PersonList` field in every `Assignment`, and an `AssignmentMap` field in every `Person`. - Cons: It increases coupling which increases the dependency of the classes. -### Comments -The Comment component consists of the following set of features: Edit Comment, Delete Comment and View Comment. - -#### The Comment class -The Comment Class is made up of a `commentBody`, `isCommented`, and a set of getter methods that corresponds to most of these fields. - -Below is a class diagram describing the implementation of `Comment` and its respective fields. - -![Grade Class UML](images/CommentClass.png) - -#### Design Considerations: -**Aspect: How the comment a grade is being given to is determined:** - -**Alternative 1 (current choice):** `Comment` is a field in the `Assignment` it is being graded to. -- Pros: This choice makes it easier to ensure that each assignment only has one comment, and also makes it easier to manage multiple features related to an assignment. -- Cons: It requires additional time to add a comment to an assignment since the assignment needs to be obtained first. - -**Alternative 2:** `Assignment` is a field in the `Comment` being given to it. -- Cons: It requires more checks to be done to ensure that each assignment only has one Comment. - -**Alternative 3:** `Assignment` is a field in the `Comment` being given to it and vice versa. -- Cons: It increases coupling which increases the dependency of the classes. - - ### GradedTest The GradedTest component is responsible for tracking and managing graded test scores of individuals. It includes features such as creating and updating graded test scores. diff --git a/docs/diagrams/AssignmentClass.puml b/docs/diagrams/AssignmentClass.puml new file mode 100644 index 00000000000..6191bf0f241 --- /dev/null +++ b/docs/diagrams/AssignmentClass.puml @@ -0,0 +1,52 @@ +@startuml +skinparam arrowThickness 1.1 +skinparam classBackgroundColor LOGIC_COLOR +skinparam classAttributeIconSize 0 + +class AssignmentMap { +-assignments: ObservableMap ++setAssignmentMap(): void ++createUpdatedMap(): AssignmentMap ++contains(): boolean ++get(): Assignment +} + +class Assignment { +-assignmentName: AssignmentName +-grade: Grade +-comment: Comment ++getName(): AssignmentName ++getGrade(): Grade ++maxGrade(): String ++gradingStatus(): boolean ++getComment(): Comment ++commentStatus(): boolean ++copyAssignment(): Assignment +} + +class AssignmentName { +-assignmentName: String ++toString(): String +} + +class Grade { +-actualGrade: String +-maxGrade: String +-isGraded: boolean ++getMax(): String ++getIsGraded(): boolean ++ungrade(): Grade +} + +class Comment { +-commentBody: String +-isCommented: boolean ++getIsCommented(): boolean ++toString(): String +} + +AssignmentMap o-- "*" Assignment: assignment +Assignment o-- "1" AssignmentName: assignmentName +Assignment o-- "1" Grade: grade +Assignment o-- "1" Comment: comment +@enduml diff --git a/docs/diagrams/CommentClass.puml b/docs/diagrams/CommentClass.puml deleted file mode 100644 index f7f31987b60..00000000000 --- a/docs/diagrams/CommentClass.puml +++ /dev/null @@ -1,20 +0,0 @@ -@startuml -skinparam arrowThickness 1.1 -skinparam classBackgroundColor LOGIC_COLOR -skinparam classAttributeIconSize 0 - -class Assignment { --comment: Comment -+getComment(): Comment -+commentStatus(): boolean -} - -class Comment { --commentBody: String --isCommented: boolean -+getIsCommented(): boolean -+toString(): String -} - -Assignment o-- "1" Comment: comment -@enduml diff --git a/docs/diagrams/GradeClass.puml b/docs/diagrams/GradeClass.puml deleted file mode 100644 index ccbb93914c9..00000000000 --- a/docs/diagrams/GradeClass.puml +++ /dev/null @@ -1,23 +0,0 @@ -@startuml -skinparam arrowThickness 1.1 -skinparam classBackgroundColor LOGIC_COLOR -skinparam classAttributeIconSize 0 - -class Assignment { --grade: Grade -+getGrade(): Grade -+maxGrade(): String -+gradingStatus(): boolean -} - -class Grade { --actualGrade: String --maxGrade: String --isGraded: boolean -+getMax(): String -+getIsGraded(): boolean -+ungrade(): Grade -} - -Assignment o-- "1" Grade: grade -@enduml From 81edf201c3c34c00b9f5db031c857dfa71496418 Mon Sep 17 00:00:00 2001 From: Originalidk Date: Fri, 10 Nov 2023 15:18:48 +0800 Subject: [PATCH 3/4] Update PPP Ryan --- docs/team/originalidk.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/team/originalidk.md b/docs/team/originalidk.md index 1e440574c7c..ae6e2517b1e 100644 --- a/docs/team/originalidk.md +++ b/docs/team/originalidk.md @@ -39,9 +39,8 @@ Below are my contributions to the project: * **Code contributed**: [RepoSense](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=Originalidk&breakdown=true) -* **Project management**: To be added +* **Project management**: * Managed release `v1.3b` - * Reviewed and approved pull requests * Created some GitHub issues @@ -59,9 +58,15 @@ Below are my contributions to the project: * **Review/mentoring contributions**: - * Found 15 bugs during the PE-D which helped to improve another team's product. + * Reviewed and approved pull requests -* **Tools**: To be added +* **Tools**: + * Java + * IntelliJ + * Git + * FXML + * PlantUML -* **Contributions beyond the project team**: To be added +* **Contributions beyond the project team**: + * Found 15 bugs during the PE-D which helped to improve another team's product. From 7b88588a8226fa26e40d886f6a044048587f088c Mon Sep 17 00:00:00 2001 From: Originalidk Date: Fri, 10 Nov 2023 15:19:29 +0800 Subject: [PATCH 4/4] Update PPP DG contributions --- docs/team/originalidk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/team/originalidk.md b/docs/team/originalidk.md index ae6e2517b1e..4b5e1f0c69a 100644 --- a/docs/team/originalidk.md +++ b/docs/team/originalidk.md @@ -54,7 +54,7 @@ Below are my contributions to the project: * Developer Guide: * Added implementation details of the `editgrade`, `deletegrade`, `editcomment`, `deletecomment` and `viewassignments` features. - * Designed the class diagram for `Grade`, `Comment` and `AssignmentMap`. + * Designed the class diagram for `Grade`, `Comment` and `Assignment`. * **Review/mentoring contributions**: