Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Case Study Online Assessment System (OAS)

OAS is an online platform for conducting online assessments. The platform is capable of hosting
online assessments. An assessment is essentially an exam for fixed duration in a specific subject
conducted on a specific date and time. The assessments question paper is comprised of several
questions (multiple-choice and fill-in-the-blank). For a multiple choice question, the system
captures the question text along with 4 choices with one of them being the right answer. For fillin-the-blank questions, only one blank is present. The system stores the right answer for the
blank. The questions can be drawn from question banks that are organized based on a specific
subject. The questions are frequently reused across different assessments. For writing specific
exams, candidates must register for the exam and must have a valid admit card available with
them. Once the exam is over, portal displays the result that includes the marks obtained by the
candidates in each of the exams they wrote.
(Note: All the following classes must appear in your UML class diagram. Attributes for these
classes must be drawn from the description given above and sample data.)
S. No.

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Class Name
Candidate
Assessment

Class Description
A registered user in the system who is permitted take online
assessments
An specific online exam (e.g., GATE 2014)

Subject

Subject of the exam (e.g., DBMS)

AdmitCard

Hall ticket for an exam

Result

Results of a specific assessment

QuestionBank

Collection of questions organized by different subjects

Question

Question from a specific question bank

MCQuestion

Multiple-choice question

FillBlankQuestion

Fill-in-the-blanks question

QuestionPaper

A question paper corresponding to a given Assessment made


up of questions drawn from the question banks

Page 1 of 10

Sample Data
(Note: All underlined data must appear somewhere in your database in some column)
Jawab-Do is an online quizzing portal that uses OAS for conducting periodic quiz
competitions in the form of online exams. An assessment was conducted on Monday Sept
15, 2014 at 10 AM on the subject of IIITB. About 137 candidates signed up for the quiz
and participated in it. One candidate with an interesting name and an interesting admit card
number was Such-IT with a binary admit card number 11010. He ends up topping the exam
by scoring 23 out of 25 marks. He just missed answering two questions from the question
paper: Who was the first director of IIITB (a) Mr. N R Narayana Murthy (b) Prof.
Sadagopan (c) Prof. S S Prabhu (d) Prof. Debabrata Das. Of course, the right answer is Prof.
Sadagopan. Another simple one he missed was The first PhD degree was awarded by
IIITB in the year ______. He was surprised it was as recent as 2008.

Answer the following


A) (20 marks) Draw the complete object-oriented schema for given problem statement
using the UML class diagram notation.
Note: All the classes mentioned above must (mandatory) appear in the final UML schema.
You may add additional association classes where needed. Add ONLY natural attributes to
classes based on the given description for the classes and the sample data.

B) (20 marks) Map the UML schema to a relational schema. The relational schema should
strictly follow the mapping guidelines discussed in the class. After doing OR mapping,
every table in the relational schema should be shown in the following example format:

Table name = EMPLOYEE


Name of column

Data type

EMP_ID
Emp_Name
Dept_ID

Number
String
Number

Constraints
(PK, FK, Surrogate, UNIQUE, NOT NULL, etc.)
PK, Surrogate
NOT NULL
FK references Department.Dept_ID, NOT NULL

Note: DDL statements are NOT needed.

C) (20 marks) Convert the sample narrative data given in Sample Data into actual
table data as per the relational schema designed in (B) above. For every table, show the
sample data in simple tabular form as shown in the following example:
Employee
Employee_Id
394873
353636

Name
John Doe
Jane Doe

Age
34
35

Dept_Id
D01
D01

PS: INSERT / UPDATE statements are NOT needed

Page 2 of 10

UML Class Diagram

Page 3 of 10

Grading Guidelines
1. UML class diagram grading will be done on a negative marking scheme starting from 20
marks. The given class diagram solution will be considered as the correct solution for the
grading. A penalty of 1 mark will be imposed for each of the following:

Missing classes

Missing associations

Missing aggregations (showing it as association is okay)

Missing composition (showing it as aggregation or association is okay)

Missing inheritance (okay to show as partitioning or non-partitioning)

Missing or incorrect cardinality

Showing non-natural attributes not allowed (e.g., surrogate key should not be shown)
2. Relational schema grading will be done on a negative marking scheme starting from 20 marks.
The given relational schema solution will NOT be used as the correct solution. Instead, your
own UML schema will considered as the correct input. Based on this input, all OR rules must
applied correctly. A penalty of 1 mark will be imposted for each of the following:

Missing tables (with reference to YOUR UML schema)

Missing PK, FK and NOT NULL constraints

Missing surrogate key for PK in each table

(Semantic constraints are optional)


3. Sample data grading will be done on a negative marking scheme starting from 20 marks. For
every piece of missing data, a penalty of 2 marks will be imposed. The tables used for sample
data must be same as YOUR relational schema.

Page 4 of 10

Relational Schema for Case Study


1. Table name = Assessment
Name of column

Data type

Constraints
(PK, FK, Surrogate, UNIQUE,
NOT NULL, etc.)

AssessmentID
AssessmentDateTime
Duration
SubjectID
QuestionPaperID

Number
DateTime
Number
Number
Number

PK, Surrogate
NOT NULL
NOT NULL
FK refers Subject
FK refers QuestionPaper

2. Table name = QuestionPaper


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)

QuestionPaperID
CreationDateTime
AssessmentID
MaxMarks

Number
DateTime
Number
Number

PK, Surrogate
NOT NULL
FK refers Assessment

3. Table name = Question


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)

QuestionID
QuestionType
QuestionText
QuestionBankID

Number
Enum
DateTime
Number

PK, Surrogate
{MCQ, FILL-IN}
NOT NULL
FK refers QuestionBank

4. Table name = QPQuestion


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)

QPQuestionID
QuestionPaperID
QuestionID

Number
Number
Number

PK, Surrogate
FK refers QuestionPaper
FK refers Question

Page 5 of 10

5. Table name = QuestionBank


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE, NOT


NULL, etc.)

QuestionBankID
SubjectID

Number
Number

PK, Surrogate
FK refers Subject

Name of column

Data type

Constraints
(PK, FK, Surrogate, UNIQUE, NOT
NULL, etc.)

SubjectID
SubjectName

Number
String

6. Table name = Subject

PK, Surrogate

7. Table name = MCQuestion


Constraints
Name of column

Data type

MCQuestionID

Number

Choice1
Choice2
Choice3
Choice4
RightChoice

String
String
String
String
Char

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)
PK, Surrogate
FK Refers Question

{A,B,C,D}

8. Table name = FillBlankQuestion


Constraints
Name of column

Data type

FillBlankQuestionID

Number

RightAnswer

String

Page 6 of 10

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)
PK, Surrogate
FK Refers Question

9. Table name = Candidate


Constraints
Name of column

Data type

CandidateID

Number

CandidateName

String

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)
PK, Surrogate
FK Refers Question
{A,B,C,D}

10. Table name = AdmitCard


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)

AdmitCardID
AssessmentID
CandidateID
AdmitCardNumber

Number
Number
Number
String

PK, Surrogate
FK refers QuestionPaper
FK refers Question

11. Table name = Result


Constraints
Name of column

Data type

(PK, FK, Surrogate, UNIQUE,


NOT NULL, etc.)

ResultID
AdmitCardID
TotalMarks

Number
Number
Number

PK, Surrogate
FK refers AdmitCard
NOT NULL

Page 7 of 10

Sample Data for Case Study


1. Table name = Assessment

AssessmentID

AssessmentDateTime

Duration

SubjectID

QuestionPaperID

2014-09-15 10:00

120

2. Table name = QuestionPaper

QuestionPaperID

CreationDateTime

AssessmentID

MaxMarks

2014-09-15 9:00

25

3. Table name = Question

QuestionID

QuestionType

QuestionText

QuestionBankID

MCQ

FILL-IN

Who was the first director of IIITB


The first PHD degree was awarded by
IIITB in the year

1
1

4. Table name = QPQuestion

QPQuestionID

QuestionPaperID

QuestionID

1
2

1
1

1
2

Page 8 of 10

5. Table name = QuestionBank

QuestionBank

SubjectID

6. Table name = Subject

SubjectID

SubjectName

IIITB

7. Table name = MCQuestion

MCQuestionID Choice1

Mr. NR
Narayana
Murthy

Choice2

Prof.
Sadagopan

8. Table name = FillBlankQuestion

FillBlankQuestionID

RightAnswer

2008

Page 9 of 10

Choice3

Choice4

RightChoice

Prof. Prabhu

Prof.
Debabrata
Das

9. Table name = Candidate

Candidate ID

CandidateName

Such-IT

10. Table name =


AdmitCard

AdmitCardID

AssessmentID

CandidateID

AdmitCardNumber

11010

11. Table name = Result

ResultID

AdmitCardID

TotalMarks

23

Page 10 of 10

You might also like