quiz
TRANSCRIPT
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
Quiz System Reg No: 30306104081
The students can select their area of interest to enroll.
The students can know their ranking.
Access to database can be setup on username / password basis with multiple users and privileges
FUNCTIONAL REQUIREMENTS
Selecting the area of interestThe student can have his/her own field of interest.
Answering
The students should answer the questions within the given time limit.
Evaluation
The evaluator evaluates the answers and awards negative marks for the incorrect answers.
Ranking
The analyser analyses the results and ranks the students according to the evaluated marks.
Store the results
The administrator stores the results in the database
Display the results
The administrator displays the results to the 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
Quiz System Reg No: 30306104081
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
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.
Quiz System Reg No: 30306104081
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 Requirements:
Students shall be able to view the question details, which he had selected.
Assumptions: None
Notes and Issues:
None
Use Case ID: 3
Use Case Name: Start answering
Created By: Sajeetharan S Last Updated By:
Date Created: September 30 Date Last Updated:
Quiz System Reg No: 30306104081
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
Quiz System Reg No: 30306104081
Use Case ID: 4
Use Case Name: Evaluating the answers.
Created By: Sajeetharan S Last Updated By:
Date Created: September 30 Date Last Updated:
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
Quiz System Reg No: 30306104081
Business Rules:
None
Special Requirements:
None
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 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.
Quiz System Reg No: 30306104081
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 Requirements:
None
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:
Date Created: September 30 Date Last Updated:
Quiz System Reg No: 30306104081
Actors: Dbmaintainer, Manager.
Description:The administrator stores the results in the database and displays the results to the students.
TriggerStore 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
Quiz System Reg No: 30306104081
TEST PLAN
Overview
Test plan objectives
To ensure that the Quiz system will:- Function consistently and reliably in accordance with current
business operations.- Meet or exceed user requirements and technical
specifications.- Not adversely impact other systems or the existing
technology environment.
Testing Assumptions
- 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.
- 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.
Risks & Contingencies
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 performed in each of the Functional Units:
- 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.
Quiz System Reg No: 30306104081
USECASE DIAGRAM:
Evaluator
Analyzer
login
Enter details
Student
Db maintainer
Quiz mgr
Database
answering
choose area of interest Get question
<<extend>>
Display score
analyzing marks
<<extend>>
performance
<<extend>>
Quiz System Reg No: 30306104081
ACTIVITY DIAGRAM:
1. LOGIN
start
login
Enter username,password
valid Logininvalid login
Login details entered
correctIncorrect
Quiz System Reg No: 30306104081
2. AREA OF INTEREST:
Start
View the area of interest
Select a particular area
Invalid areavalid area
Give Appropriate questions
End
IncorrectCorrect
Quiz System Reg No: 30306104081
3. ANSWERING:
End
Start
start answering
answer within time slot
answers submitted
Invalid
details given to evaluator
Quiz System Reg No: 30306104081
4. EVALUATING:
End
Start
Evaluate answer
Allocate marks
Negative mark
wrong answer
positive mark
correct answer
Total mark
Quiz System Reg No: 30306104081
5. DISPLAYING RESULT:
Start
Get evaluated answers
Analyze marks
Ranking based on analysis
Transfer it to quiz mgr
Display Rank
NewState
Quiz System Reg No: 30306104081
STATECHART DIAGRAM:
End
Start
Login Administrator checking
Getting question paper
start answering
Start correcting
Allocate the marks
Compare the results
Store the new record
Submit all the details to server
No need to save
Give the answer Evaluate the answer
Both -ve and +ve mark
Get the previous recordallow to store new recordstore the details
Enter username and password
Invalid password
Display result
choose area of interest
Appropriate questionuser choice
Quiz System Reg No: 30306104081
DEPLOYMENT DIAGRAM:
Database server
QUIZ SERVER
Student1
Student2
Student3
Analyzer
Quiz System Reg No: 30306104081
COMPONENT DIAGRAM:
Getquestion.h Getquestion.realQuizserver.exe
Give answer.hGiveanswer.java
checkanswer.h checkanswer.java
Quizserver.h Quizserver.dll
login.javalogin.h
Quiz System Reg No: 30306104081
SEQUENCE DIAGRAM:
1. LOGIN
:student :server :Dbadmin
1.enters name and password
2.verifies password
3.login is stored
4.successfully logged in
Quiz System Reg No: 30306104081
2. AREA OF INTEREST
:student :server :DbAdmin
1.logs in
2.view details
3.choose area of interest
4.chosen area stored
5.area of interest successfully chosen
Quiz System Reg No: 30306104081
3. ANSWERING QUESTIONS
:student :server :Dbadmin
1.Login
2.view details
3.entering options
4.sending questions
5.answering questions
6.sending answers
7.process completed
Quiz System Reg No: 30306104081
4. RESULT CALCULATION:
: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
Quiz System Reg No: 30306104081
CLASS DIAGRAM:
Validate answer
Correct answerWrong answerunanswered
Provide score
Add credit:int
Analyzer
Name:stringId:string
Validate answer()Provide score()
Quiz manager
Name:stringId:string
Obtain question()Answer to analyzer()
Display score()
+1
+1
DB admin
Provide question()Maintain record()
+1
+1
Submit answer
select option:stringwrite answer:string
+1
+*Get question
Multiple choice:stringFill up:string
+1
+*
Student
Area of interest:stringName : string
Get question()submit answer()
+1
+1+1
+*
Quiz System Reg No: 30306104081
COLLABORATION DIAGRAM:
1. LOGIN:
:server:student
:Dbadmin
1: 1.enters name and password
2: 2.verifies password
3: 3.login is stored4: 4.successfully logged in
2. AREA OF INTEREST:
Quiz System Reg No: 30306104081
:DbAdmin
:student :server
1: 1.logs in2: 2.view details
3: 3.choose area of interest
4: 4.chosen area stored5: 5.area of interest successfully chosen
3. ANSWERING:
:server:student
:Dbadmin
1: 1.Login2: 2.view details
3: 3.entering options
4: 4.sending questions
5: 5.answering questions
6: 6.sending answers
7: 7.process completed
4. RESULT CALCULATION:
Quiz System Reg No: 30306104081
:analyzer
:student :server
:database administrator
1: 1:answering questions
2: 2:sending questions3: 3:analysing answers
4: 4:sending results
5: 5:display result
5. RECORD MAINTENANCE
:DbAdmin
:student :server
:analyser
1: 1.send login and answer question
2: 2.ask for details
3: 3.send details
4: 4.result calculation
5: 5.sending result
6: 6.updating student results
Quiz System Reg No: 30306104081
APPENDIX
SUBMIT.H
#ifndef Submit_answer_h#define Submit_answer_h 1class 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 System Reg No: 30306104081
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;}inline void Submit_answer::set_N1 (Quiz_manager * value){ N1 = value;}#endif
DB ADMIN.H
#ifndef DB_admin_h#define DB_admin_h 1class 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);
Quiz System Reg No: 30306104081
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 1class Quiz_manager { public: Quiz_manager(); 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){
Quiz System Reg No: 30306104081
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); ~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)
Quiz System Reg No: 30306104081
{ 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
VALIDATEANSWER.H
#ifndef Validate_answer_h#define Validate_answer_h 1class 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;
Quiz System Reg No: 30306104081
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;}inline void Validate_answer::set_unanswered (void value){ unanswered = value;}#endif
PROVIDESCORE.H
#ifndef Provide_score_h#define Provide_score_h 1class 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;
Quiz System Reg No: 30306104081
};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 1class Student { public: Student(); Student(const Student &right); ~Student(); Student & operator=(const Student &right); 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
Quiz System Reg No: 30306104081