# Domain model # Описание на измисления ми модел - `<attr>...</attr> са атрибуите на класа` - `<assocications>...</associations> са асоциациите между класовете, като:` - `${associationName} е името на асоциата, последвана от връзка и множественост` - `{{OtherClassName}} е класът, към който е тази асоциация` - `Пример: ${enrolledIn} -> * {{Course}} означава, че в текущия клас има асоциация към класа Course, която се казва enrolledIn и множествеността към класа Course e *` ## Classes that are needed - ## UnregisteredUser - `<attr>` - `</attr>` - `<associations>` - `${register} -> 1 {{RegistrationDetails}}` - `</associations>` - ## RegistrationDetails - `<attr>` - username - email - password - gender - dateOfBirth - `</attr>` - `<associations>` - `</associations>` - ## Student - `<attr>` - name - email - points - `</attr>` - `<associations>` - `${enrolledIn} -> * {{Course}}` - `${paysFor} -> * {{Payment}} -> * {{Course}}` - `</associations>` - ## Course - `<attr>` - name - description - `</attr>` - `<associations>` - `${hasTests} -> 1..* {{Test}}` - `${hasTeacher} -> 1..* {{Teacher}}` - `</associations>` - ## Teacher - `<attr>` - name - email - `</attr>` - `<associations>` - `${hasCourses} -> * {{Course}}` - `${requestsCourse} -> 1 {{CourseDetails}} -> 1 {{ContentManager}}` - `</associations>` - ## ContentManager - `<attr>` - name - `</attr>` - `<associations>` - `${approvesCourse} -> * {{CourseDetails}}` - `${publishesCourse} -> * {{Course}}` - `</associations>` - ## CourseDetails - `<attr>` - name - overallLength - dateRequested - `</attr>` - `<associations>` - `${hasVideos} -> 1..* {{Video}}` - `${hasTests} -> 1..* {{Test}}` - `${hasTeachers} -> 1..* {{Teachers}}` - `${hasExam} -> 1 {{Exam}}` - `</associations>` - ## Administrator - `<attr>` - name - id - `</attr>` - `<associations>` - `#{providesTechnicalSupport} -> * {{User}}` - `</associations>` - ## Payment - `<attr>` - paymentId - dateRequested - dateCompleted - `</attr>` - `<associations>` - `${fromUser} -> 1 {{User}}` - `${forCourse} -> 1 {{Course}}` - `</associations>`