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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!