Question
#Please_answer_all_3_questions. You are required to design a system that will be used to take online exams. There are three main groups of actors: teachers, students,
#Please_answer_all_3_questions.
You are required to design a system that will be used to take online exams. There are three main groups of actors: teachers, students, and evaluators. Teachers and students are human actors. Evaluators are more interesting as they can be human users, third-party service providers, or paid third-party AI-based applications.
When teachers schedule exams, they can select/set marking criteria on a per-question basis. Questions can be of different types. Currently, there are MCQ questions, multi-part questions, reasoning questions, descriptive questions. In the future new types of questions should be easy to add. For each question, the teacher can assign one or more evaluators. If more than one evaluator is chosen, the teacher must also select a mark-decision strategy. Current strategies include average-mark, highest-mark, median-mark, gaussian-weighted-summation, etc. New markdecision strategies should be easy to add in the future.
As this is an educational tool, it is required that the system integrates with the identity and email services of different educational institutes. This can be done on an ongoing basis, but your design should easily support such integration.
All Questions are worth 10 marks
Q1. Identify the Design Pattern(s) you will use to design the solution to the problem(s) mentioned in lines 6-13.
Q2. Using the pattern(s) you mentioned in your answer to Q1, design a solution to the problem(s) mentioned in lines 6-13 of the case study. Express your solution as a UML Class diagram. You only need to show attributes and methods when necessary to express your solution clearly.
Q3. Consider the method isValidMark( givenMark, maxMark) which is required to return true if givenMark is valid. It will be valid if it is greater than or equal to zero and less than or equal to maxMark.
bool isValidMark( givenMark, maxMark)
{
if ( givenMark <= maxMark)
{
return true;
}
return false;
}
Identify test cases to thoroughly test the method. For each test case, you must provide the expected output and actual output.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started