QUIZ
QUIZ
QUIZ
QUIZ SYSTEM
AIM
To develop a software for quiz system with various functional and non functional part of
design namely
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.
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.
Access to database can be setup on username / password basis with multiple users and
privileges
FUNCTIONAL REQUIREMENTS
Actors: Students
Description: The students can login to the Quiz system to enroll in the quiz.
Includes: None
Priority: High
Special Requirements: Students are free to select their area of interest after the login.
Assumptions: None
Actors: Students
Description: The students select the area of interest and based on the topic selected, students will get
the questions
Includes: None
Priority: High
Special Students shall be able to view the question details, which he had selected.
Requirements:
Assumptions: None
Actors: Students
Description: The students can start answering the questions based on the questions being
displayed.
Includes: None
Priority: High
Frequency of Use: Approximately 100 student, average of one usage per day
Assumptions: None
Actors: Evaluator
Description: The evaluator evaluates the answers and awards negative marks for the incorrect
answers.
Preconditions: The students should answer the questions with in the specified time.
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
Special None
Requirements:
Assumptions: None
Description: . The analyzer analyses the results and ranks the students according to the
Quiz System Reg No: 30306104081
evaluated marks.
Includes: None
Priority: High
Frequency of Use: Approximately 100 student, average of one usage per day
Special None
Requirements:
Assumptions: None
Description: The administrator stores the results in the database and displays the
results to the students.
Post conditions: The administrator stores the student information in the database.
Includes: None
Priority: High
Frequency of use Approximately 100 student, average of one usage per day
Assumptions: None
TEST PLAN
Overview
Quiz System Reg No: 30306104081
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
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
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
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
2.verifies password
3.login is stored
4.successfully logged in
2. AREA OF INTEREST
Quiz System Reg No: 30306104081
1.logs in
2.view details
3. ANSWERING QUESTIONS
Quiz System Reg No: 30306104081
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
1:answering questions
2:sending questions
3:analysing answers
4:sending results
5:display result
Quiz System Reg No: 30306104081
5. RECORD MAINTENANCE
3.send details
4.result calculation
5.sending result
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
:Dbadmi
n
2. AREA OF INTEREST:
1: 1.logs in
2: 2.view details
3: 3.choose area of interest
:student :server
: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
3: 3.send details
6: 6.updating student results
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
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;
}
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
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