Explanation of Submissions Backend
Explanation of the Submissions Backend
Classes and Attributes
AssignmentSubmission- Represents a submission of an assignment by a student.
- Attributes:
content: The submission content (likely a string).assignment: The associated assignment.students: A list of students who submitted the assignment.
Assignment- Represents an assignment given to students.
- Attributes:
name: The assignment’s name.dueDate: The deadline for submission.points: The maximum points the assignment is worth.
Person- A general class representing a person (probably a base class for
Student). - Attributes:
grades: A list of grades associated with the person.submissions: A list of assignments submitted by the person.
- A general class representing a person (probably a base class for
SynergyGrade- Represents a grade assigned for a specific assignment.
- Attributes:
grade: The numerical grade.assignment: The assignment being graded.student: The student receiving the grade.
Student- Represents an individual student.
- Attributes:
studentId: A unique identifier for the student.name: The student’s name.
Relationships Between Classes
AssignmentSubmission -> Assignment- A submission belongs to an assignment.
AssignmentSubmission -> Person- A submission belongs to a person (i.e., the submitter).
SynergyGrade -> AssignmentSubmission- A grade is assigned to a specific submission.
Assignment -> Person- An assignment has assigned graders (presumably teachers).
Assignment -> SynergyGrade- An assignment is graded, producing grades.
Student -> Person- The
Studentclass inherits fromPerson(i.e., a student is a type of person).
- The
SynergyGrade -> Assignment- A grade belongs to a specific assignment.
SynergyGrade -> Person- A grade belongs to a specific student.
Summary
This feature allows:
- Assignments to be created and assigned.
- Students to submit assignments.
- Grades to be linked to assignments and submissions.