quiz

42
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

Upload: api-19990211

Post on 16-Nov-2014

7 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: QUIZ

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

Page 2: QUIZ

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.

Page 3: QUIZ

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

Page 4: QUIZ

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.

Page 5: QUIZ

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:  

Page 6: QUIZ

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

Page 7: QUIZ

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

Page 8: QUIZ

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.

Page 9: QUIZ

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:  

Page 10: QUIZ

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

Page 11: QUIZ

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.

Page 12: QUIZ

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>>

Page 13: QUIZ

Quiz System Reg No: 30306104081

ACTIVITY DIAGRAM:

1. LOGIN

start

login

Enter username,password

valid Logininvalid login

Login details entered

correctIncorrect

Page 14: QUIZ

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

Page 15: QUIZ

Quiz System Reg No: 30306104081

3. ANSWERING:

End

Start

start answering

answer within time slot

answers submitted

Invalid

details given to evaluator

Page 16: QUIZ

Quiz System Reg No: 30306104081

4. EVALUATING:

End

Start

Evaluate answer

Allocate marks

Negative mark

wrong answer

positive mark

correct answer

Total mark

Page 17: QUIZ

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

Page 18: QUIZ

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

Page 19: QUIZ

Quiz System Reg No: 30306104081

DEPLOYMENT DIAGRAM:

Database server

QUIZ SERVER

Student1

Student2

Student3

Analyzer

Page 20: QUIZ

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

Page 21: QUIZ

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

Page 22: QUIZ

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

Page 23: QUIZ

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

Page 24: QUIZ

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

Page 25: QUIZ

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

Page 26: QUIZ

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

+*

Page 27: QUIZ

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:

Page 28: QUIZ

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:

Page 29: QUIZ

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

Page 30: QUIZ

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;

Page 31: QUIZ

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);

Page 32: QUIZ

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){

Page 33: QUIZ

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)

Page 34: QUIZ

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;

Page 35: QUIZ

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;

Page 36: QUIZ

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

Page 37: QUIZ

Quiz System Reg No: 30306104081