QUIZ

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 34

Quiz System Reg No: 30306104081

QUIZ SYSTEM
AIM

To develop a software for quiz system with various functional and non functional part of
design namely

• Problem analysis and requirement analysis


• Use case documentation
• UML diagram
• Test plan

PROBLEM DEFINITION

The Quiz System has a homepage using which the students can login, select the area
of interest, get the questions from quiz manager, make them ready to answer the
questions being displayed. The Quiz system is allotted with the particular period of
time till which students can answer. Negative marks are awarded for the wrong
answers. The evaluator has the only authorization to evaluate the answers. After the
evaluation, the answers are sent to analyzer. The Analyzer calculates the rank
corresponding to the answers being evaluated. The Administrator maintains the
database of the corrected answers and displays the results to the students.

OBJECTIVE OF THE APPLICATION

The ultimate goal of this project is to develop database software that enables students to
enroll in the Quiz and know their ranking in their interested area.

SIGNIFICANCE OF THE APPLICATION

The significance of the project includes the following key features

• The students can select their area of interest to enroll.


Quiz System Reg No: 30306104081

• The students can know their ranking.

Access to database can be setup on username / password basis with multiple users and
privileges

FUNCTIONAL REQUIREMENTS

The student can have his/her own field of


Selecting the area of interest interest.

The students should answer the questions


within the given time limit.
Answering

The evaluator evaluates the answers and


Evaluation awards negative marks for the incorrect
answers.

The analyser analyses the results and ranks


Ranking the students according to the evaluated
marks.

The administrator stores the results in the


Store the results database

The administrator displays the results to the


Display the results students.
Quiz System Reg No: 30306104081

USE CASE TEMPLATE

Use Case ID: 1

Use Case Name: Login

Created By: Sajeetharan S Last Updated By:

Date Created: September 30 Date Last Updated:

Actors: Students

Description: The students can login to the Quiz system to enroll in the quiz.

Trigger Students can take part in tha quiz.

Preconditions: Register the students.

Post conditions: • The Quiz system menu will be displayed.


• The options will be displayed.

Normal Flow • The student seek the login to the system.


• The system prompts the username and password.
• The student enters the username and password.
• Administrator matches the username and password ,and gives the login.

Alternative Flows: None

Exceptions: 1.0 Invalid search


If the username and password does not match,the displays an error.

Includes: None

Priority: High

Frequency of Use: Students.

Business Rules: None

Special Requirements: Students are free to select their area of interest after the login.

Assumptions: None

Notes and Issues: None


Quiz System Reg No: 30306104081

Use Case ID: 2

Use Case Name: Choose area of interest

Created By: Sajeetharan S Last Updated By:

Date Created: September 30 Date Last Updated:

Actors: Students

Description: The students select the area of interest and based on the topic selected, students will get
the questions

Trigger To select the area

Preconditions: Check whether The area of interest is available or not available

Post conditions: • The questions will be displayed.

• The students start answering.

Normal Flow • Students asks to view the area of interest.


• Students selects the area of interest.
• Students view the appropriate questions.

Alternative Flows: None

Exceptions: 2.0 Invalid search


If the area selected is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Students

Business Rules: None

Special Students shall be able to view the question details, which he had selected.
Requirements:

Assumptions: None

Notes and Issues: None

Use Case ID: 3

Use Case Name: Start answering


Quiz System Reg No: 30306104081

Created By: Sajeetharan S Last Updated By:

Date Created: September 30 Date Last Updated:

Actors: Students

Description: The students can start answering the questions based on the questions being
displayed.

Trigger To answer the questions.

Preconditions: Check whether The area of interest is valid or not.

Post conditions: • Completed the process of answering.

• Answers are transfer to the evaluator through Quiz manager.

Normal Flow • Students start answering the question.


• Select the answer for each questions.
• Finish answering the question with in the specified time.

Alternative Flows: None

Exceptions: 3.0 Invalid search


If the student does not complete answering within the specified time, system
displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 100 student, average of one usage per day

Business Rules: None

Special Requirements: None

Assumptions: None

Notes and Issues: None

Use Case ID: 4

Use Case Name: Evaluating the answers.

Created By: Sajeetharan S Last Updated By:

Date Created: September 30 Date Last Updated:


Quiz System Reg No: 30306104081

Actors: Evaluator

Description: The evaluator evaluates the answers and awards negative marks for the incorrect
answers.

Trigger To evaluate the answers.

Preconditions: The students should answer the questions with in the specified time.

Post conditions: • The answers are corrected.


• The corrected answers are given to the analyser.

Normal Flow • The answers are given to the evaluater.


• Start correcting the answers.
• Allocate the marks for each answers.
• Award the negative marks for wrong answers.
• Submit the corrected answers to the analyzer.

Alternative Flows: None

Exceptions: Invalid search: if the answer key is not present then system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 100 student, average of one usage per day

Business Rules: None

Special None
Requirements:

Assumptions: None

Notes and Issues: None

Use Case ID: 5

Use Case Name: Analysis

Created By: Sajeetharan S Last Updated By:

Date Created: September 30 Date Last Updated:

Actors: Analyzer, Quiz manager.

Description: . The analyzer analyses the results and ranks the students according to the
Quiz System Reg No: 30306104081

evaluated marks.

Trigger To analyze the evaluated answers.

Preconditions: • The answers should be evaluated

• Evaluated answers are given to the quiz manager.

Post conditions: • Ranks are awarded based on the analysis.

• The manager is able to view the ranks of the students.

Normal Flow • The analyzer get the evaluated answers.


• Start analyzing the results.
• Ranking the results based on the analysis.
• Ranks are submitted to the manager.

Alternative Flows: None

Exceptions: 4.0 Invalid search


If the analyzer awarded the ranks wrongly.

Includes: None

Priority: High

Frequency of Use: Approximately 100 student, average of one usage per day

Business Rules: None

Special None
Requirements:

Assumptions: None

Notes and Issues: None

Use Case ID: 6

Use Case Name: Display the results and maintain.

Created By: Sajeetharan S Last Updated By:


Quiz System Reg No: 30306104081

Date Created: September 30 Date Last Updated:

Actors: Dbmaintainer, Manager.

Description: The administrator stores the results in the database and displays the
results to the students.

Trigger Store and display the results.

Preconditions: • The answers should be analyzed.

• And submitted to the manager

Post conditions: The administrator stores the student information in the database.

Normal Flow 1. The administrator adds all the student information.


2. The administrator Update the student information.
3. The administrator will then store student information

Alternative Flows: None

Exceptions: 5.0 Invalid search

Includes: None

Priority: High

Frequency of use Approximately 100 student, average of one usage per day

Business Rules: None

Special Requirements: The continuous parallel assessment

Assumptions: None

Notes and Issues: None

TEST PLAN

Overview
Quiz System Reg No: 30306104081

To ensure that the Quiz system will:


- Function consistently and reliably in accordance with
current business operations.
Test plan objectives - Meet or exceed user requirements and technical
specifications.
- Not adversely impact other systems or the existing
technology environment.
- Quiz manager system which is used to manage the student
details are already implemented and tested and there is no
direct interaction between Online Quiz System and
Conventional Quiz system.
Testing Assumptions - It is assumed that User can choose the area of interest
using online Quiz system which is already tested.
- The questions are asked from this area of interest only.

The following risks apply to the testing process and may impact
either the proposed date of readiness for the deployment of online
Quiz system, or the comprehensive level of testing that can be
Risks & performed in each of the Functional Units:
Contingencies
- The actual deployment of online Quiz system may take
longer to perform than anticipated, as the conventional Quiz
system is also using the same database.

USECASE DIAGRAM:
Quiz System Reg No: 30306104081

login

Enter details

<<extend>>
Student

choose area of interest Get question

answering
Evaluator

performance

<<extend>>

<<extend>>

Display score
Quiz mgr

analyzing marks

Db maintainer

Analyzer
Database

ACTIVITY DIAGRAM:

1. LOGIN
Quiz System Reg No: 30306104081

start

login

Enter
username,password

Incorrect correct

valid Login
invalid login

Login details
entered

2. AREA OF INTEREST:
Quiz System Reg No: 30306104081

Start

View the area


of interest

Select a
particular area

Correct Incorrect

valid area
Invalid area

Give
Appropriate questions

End

3. ANSWERING:
Quiz System Reg No: 30306104081

Start

start
answering

answer within
timeslot

Invalid answers
submitted

details givento
evaluator

End

4. EVALUATING:
Quiz System Reg No: 30306104081

Start

Evaluate
answer

Allocate
marks

wrong answer correct answer

Negative mark positive mark

Total mark

End

5. DISPLAYING RESULT:
Quiz System Reg No: 30306104081

Start

Get evaluated
answers

Analyze
marks

Ranking based
on analysis

Transfer it to
quiz mgr

Display Rank

NewState

STATECHART DIAGRAM:
Quiz System Reg No: 30306104081

S ta rt

E n te r u s e rn a m e a n d p a s s w o r d u s e r c h o ic e Ap p ro p ri a te q u e s ti o n
G ive th e a n s w e r E va lu a te th e a n s w e r
L o g in A d m in is t ra to r c h o o s e a re a G e t ti n g q u e s t io n s ta rt S ta rt
c h e c k in g o f in t e re s t paper a n s w e rin g c o rre c tin g

In va li d p a s s w o rd B o th -ve a n d + ve m a rk

S u b m it a ll t h e S to re th e C o m p a re A llo c a t e
E nd d e ta ils t o s e rve r n e w re c o rd t h e re s u lt s t h e m a rk s
D is p la y re s u lt
s to re th e d e ta ils a ll o w to s to re n e w re c o rd G e t th e p r e vio u s re c o rd

N o n e e d to
s a ve

DEPLOYMENT DIAGRAM:
Quiz System Reg No: 30306104081

Database Analyze
server r

QUIZ
SERVER

Student Student
1 2

Student
3

COMPONENT DIAGRAM:
Quiz System Reg No: 30306104081

login.h login.java

Getquestion.h Getquestion.real
Quizserver.exe

Give answer.h
Giveanswer.java

Quizserver.h Quizserver.dll

checkanswer.h checkanswer.java

SEQUENCE DIAGRAM:
Quiz System Reg No: 30306104081

1. LOGIN

:student :server :Dbadmin

1.enters name and password

2.verifies password

3.login is stored

4.successfully logged in

2. AREA OF INTEREST
Quiz System Reg No: 30306104081

:student :server :DbAdmin

1.logs in

2.view details

3.choose area of interest

4.chosen area stored

5.area of interest successfully chosen

3. ANSWERING QUESTIONS
Quiz System Reg No: 30306104081

:student :server :Dbadmin

1.Login

2.view details

3.entering options

4.sending questions

5.answering questions

6.sending answers

7.process completed

4. RESULT CALCULATION:
Quiz System Reg No: 30306104081

:student :server :analyzer :database


administrator

1:answering questions

2:sending questions

3:analysing answers

4:sending results

5:display result
Quiz System Reg No: 30306104081

5. RECORD MAINTENANCE

:student :server :analyser :DbAdmin

1.send login and answer question

2.ask for details

3.send details

4.result calculation

5.sending result

6.updating student results

CLASS DIAGRAM:
Quiz System Reg No: 30306104081

+1 +1

Student

Area of interest:string
Name : string

+* Get question()
submit answer()
+1

+*
Get question
+*
Multiple choice:string Submit answer
Fill up:string
select option:string
write answer:string

+1 +1

+1
+1

Quiz m anager

Name:string +1
Id:string
+1
Obtain ques tion()
Answer to analyzer()
Display score() DB admin
Analyzer
Provide question()
Name:string
Maintain record()
Id:string

Validate answer()
Provide score()
Validate answer

Correct answer
Wrong answer
unanswered
Provide s core

Add credit:int

COLLABORATION DIAGRAM:
Quiz System Reg No: 30306104081

1. LOGIN:
2: 2.verifies password

1: 1.enters name and pass word


:student :server

4: 4.successfully logged in 3: 3.login is s tored

:Dbadmi
n

2. AREA OF INTEREST:

1: 1.logs in
2: 2.view details
3: 3.choose area of interest
:student :server

5: 5.area of interest successfully chosen 4: 4.chosen area stored

:DbAdmi
n

3. ANSWERING:
Quiz System Reg No: 30306104081

1: 1.Login
2: 2.view details
3: 3.entering options
5: 5.answering questions
:student :server

4: 4.sending questions

6: 6.sending answers

7: 7.process completed

:Dbadmi
n

4. RESULT CALCULATION:

1 : 1 :a n s w e rin g q u e s tio n s
:s tudent : s e rver

5 : 5 :d is p la y re s u lt
3 : 3 :a n a lys in g a n s w e rs 2 : 2 :s e n d in g q u e s ti o n s

4 : 4 :s e n d in g r e s u l ts
: da t a b a s e
: an a ly z e a d m in is tra to r
r

5. RECORD MAINTENANCE
Quiz System Reg No: 30306104081

1: 1.send login and answer question


:student :server

2: 2.ask for details


4: 4.result calculation

3: 3.send details
6: 6.updating student results

:analyse 5: 5.sending result


r
:DbAdmi
n

APPENDIX
Quiz System Reg No: 30306104081

SUBMIT.H

#ifndef Submit_answer_h
#define Submit_answer_h 1
class Submit_answer : public Student
{
public:
Submit_answer();
Submit_answer(const Submit_answer &right);
~Submit_answer();
Submit_answer & operator=(const Submit_answer &right);
int operator==(const Submit_answer &right) const;
int operator!=(const Submit_answer &right) const;
const Quiz_manager * get_N1 () const;
void set_N1 (Quiz_manager * value);
protected:
private:
const void get_select_optionXstring () const;
void set_select_optionXstring (void value);
const void get_write_answerXstring () const;
void set_write_answerXstring (void value);
private:
void select_optionXstring;
void write_answerXstring;
Quiz_manager *N1;
};
inline const void Submit_answer::get_select_optionXstring () const
{
return select_optionXstring;
}
inline void Submit_answer::set_select_optionXstring (void value)
{
select_optionXstring = value;
}
inline const void Submit_answer::get_write_answerXstring () const
{
return write_answerXstring;
}
inline void Submit_answer::set_write_answerXstring (void value)
{
Submit_answer::set_write_answerXstring%4A828B6B01E4.set preserve=no
write_answerXstring = value;
}
inline const Quiz_manager * Submit_answer::get_N1 () const
{
return N1;
Quiz System Reg No: 30306104081

}
inline void Submit_answer::set_N1 (Quiz_manager * value)
{
N1 = value;
}
#endif

DB ADMIN.H

#ifndef DB_admin_h
#define DB_admin_h 1
class DB_admin
{
public:
DB_admin();
DB_admin(const DB_admin &right);
~DB_admin();
DB_admin & operator=(const DB_admin &right);
int operator==(const DB_admin &right) const;
int operator!=(const DB_admin &right) const;
void Provide_question ();
void Maintain_record ();
const Quiz_manager * get_N1 () const;
void set_N1 (Quiz_manager * value);
protected:
private:
Quiz_manager *N1;
};
inline const Quiz_manager * DB_admin::get_N1 () const
{
return N1;
}
inline void DB_admin::set_N1 (Quiz_manager * value)
{
N1 = value;
}
#endif

QUIZ MANAGER.H

#ifndef Quiz_manager_h
#define Quiz_manager_h 1
class Quiz_manager
{
public:
Quiz_manager();
Quiz System Reg No: 30306104081

Quiz_manager(const Quiz_manager &right);


~Quiz_manager();
Quiz_manager & operator=(const Quiz_manager &right);
int operator==(const Quiz_manager &right) const;
int operator!=(const Quiz_manager &right) const;
void Obtain_question ();
void Answer_to_analyzer ();
void Display_score ();
protected:
private:
const void get_IdXstring () const;
void set_IdXstring (void value);
private:
const void get_NameXstring () const;
void set_NameXstring (void value);
void NameXstring;
void IdXstring;
};
inline const void Quiz_manager::get_NameXstring () const
{
return NameXstring;
}
inline void Quiz_manager::set_NameXstring (void value)
{
NameXstring = value;
}
inline const void Quiz_manager::get_IdXstring () const
{
return IdXstring;
}
inline void Quiz_manager::set_IdXstring (void value)
{
IdXstring = value;
}
#endif

ANALYSER.H

#ifndef Analyzer_h
#define Analyzer_h 1
#include "Quiz manager.h"
class Analyzer
{
public:
Analyzer();
Analyzer(const Analyzer &right);
Quiz System Reg No: 30306104081

~Analyzer();
Analyzer & operator=(const Analyzer &right);
int operator==(const Analyzer &right) const;
int operator!=(const Analyzer &right) const;
void Validate_answer ();
void Provide_score ();
const Quiz_manager * get_N1 () const;
void set_N1 (Quiz_manager * value);
protected:
private:
const void get_IdXstring () const;
void set_IdXstring (void value);
private:
const void get_NameXstring () const;
void set_NameXstring (void value);
void NameXstring;
void IdXstring;
Quiz_manager *N1;
};
inline const void Analyzer::get_NameXstring () const
{
return NameXstring;
}
inline void Analyzer::set_NameXstring (void value)
{
NameXstring = value;
}
inline const void Analyzer::get_IdXstring () const
{
return IdXstring;
}
inline void Analyzer::set_IdXstring (void value)
{
IdXstring = value;
}

inline const Quiz_manager * Analyzer::get_N1 () const


{
return N1;
}
inline void Analyzer::set_N1 (Quiz_manager * value)
{
N1 = value;
}
#endif
Quiz System Reg No: 30306104081

VALIDATEANSWER.H

#ifndef Validate_answer_h
#define Validate_answer_h 1
class Validate_answer : public Analyzer
{
public:
Validate_answer();
Validate_answer(const Validate_answer &right);
~Validate_answer();
Validate_answer & operator=(const Validate_answer &right);
int operator==(const Validate_answer &right) const;
int operator!=(const Validate_answer &right) const;
protected:
private:
const void get_Correct_answer () const;
void set_Correct_answer (void value);
const void get_Wrong_answer () const;
void set_Wrong_answer (void value);
const void get_unanswered () const;
void set_unanswered (void value);
private:
void Correct_answer;
void Wrong_answer;
void unanswered;
};
inline const void Validate_answer::get_Correct_answer () const
{
return Correct_answer;
}
inline void Validate_answer::set_Correct_answer (void value)
{
Correct_answer = value;
}
inline const void Validate_answer::get_Wrong_answer () const
{
return Wrong_answer;
}
inline void Validate_answer::set_Wrong_answer (void value)
{
Wrong_answer = value;
}
inline const void Validate_answer::get_unanswered () const
{
return unanswered;
}
Quiz System Reg No: 30306104081

inline void Validate_answer::set_unanswered (void value)


{
unanswered = value;
}
#endif

PROVIDESCORE.H

#ifndef Provide_score_h
#define Provide_score_h 1
class Provide_score : public Analyzer
{ public:
Provide_score();
Provide_score(const Provide_score &right);
~Provide_score();
Provide_score & operator=(const Provide_score &right);
int operator==(const Provide_score &right) const;
int operator!=(const Provide_score &right) const;
protected:
private:
const void get_Add_creditXint () const;
void set_Add_creditXint (void value);
private:
void Add_creditXint;
};
inline const void Provide_score::get_Add_creditXint () const
{
return Add_creditXint;
}
inline void Provide_score::set_Add_creditXint (void value)
{
Add_creditXint = value;
}
#endif

STUDENT.H

#ifndef Student_h
#define Student_h 1
class Student
{
public:
Student();
Student(const Student &right);
~Student();
Student & operator=(const Student &right);
Quiz System Reg No: 30306104081

int operator==(const Student &right) const;


int operator!=(const Student &right) const;
void Login ();
void Choose_Areaofinterest ();
const Quiz_manager * get_N1 () const;
void set_N1 (Quiz_manager * value);
protected:
private:
Quiz_manager *N1;
};
inline const Quiz_manager * Student::get_N1 () const
{
return N1;
}
inline void Student::set_N1 (Quiz_manager * value)
{
N1 = value;
}
#endif

You might also like