Online Examination System - High Level Design
Student: Sambhav Mahajan | Subject: System Design (SRP & OCP Applied)
[User Management Module]
UserAuthenticationService
User / Student / Admin
Responsibility: Auth & Profile
[Exam Management Module]
ExamScheduler
Exam / QuestionBank
Responsibility: Scheduling & Content
[Question Types (OCP Applied)]
<<Interface>>
Question
+ evaluateAnswer()
MCQQuestion
TrueFalseQuestion
DescriptiveQuestion
[Evaluation Module (SRP + OCP)]
EvaluationStrategy
+ evaluate()
AutoEvaluation
ManualEvaluation
[Result Module (SRP)]
ResultGenerator
Result / ResultPublisher
Responsibility: Calc & Publish
[Notification Module (OCP Applied)]
NotificationService
+ notify(User)
EmailNotification
SMSNotification
PushNotification
by beep beep