Académique Documents
Professionnel Documents
Culture Documents
Reg.No.: 30306104311
PROBLEM DEFINITION
The student mark analyzing system is a system used for conducting the exam, analyzing the answers, calculating the grade and displaying the result. In this system the student details were present already in the database. The student appears for the exam and enters the answers as required. During the course of the exam, the supervisor monitors the student who writes the exam. The analyzer checks the paper and assigns the marks. Then the system is used for analyzing the percentage and the grade of the student. The administrator and students can view their results by logging into the system.
Reg.No.: 30306104311
database. student.
Access to database can be setup on username / password basis with multiple users and privileges
FUNCTIONAL REQUIREMENTS:
Verifying details Answering Evaluation Calculating grade Store the results Display the results
Supervisor verifies the student details before the exam. The students should answer the questions within the given time limit. The analyzer evaluates the answers and awards marks for the correct answers. The system generates the grade for the students based on the percentage they have scored. The administrator stores the results in the database The students view their result by logging into the system.
Reg.No.: 30306104311
USECASE DOCUMENTATION:
Use Case ID: Use Case Name: Created By: Date Created: Actors: Description: Trigger Preconditions: Post conditions: 1 Conducting exam Kumarasamy.K September 21, 2009 Last Updated By: Date Last Updated: Kumarasamy.K September 21, 2009
Supervisor, Student, Database Admin This usecase describes how an examination is conducted. Student wants to write the exam. For a student to write the exam, he must have valid details. If the usecase was successful, then the system,. Allows the student to write exam. Stores the student answers into the database.
Normal Flow
None
The student gives the details. The System verifies the details and supervisor gives the questions. Student writes the exam and submits the answers. Admin stores it into the database.
If the student gives invalid details, the system will display an error to the supervisor. Then the student will not be allowed to attend the exam. None High Approximately 300 Students at one usage per day. None This usecase requires a valid database. Student details were already present in the database. None
Includes: Priority: Frequency of Use: Business Rules: Special Requirements: Assumptions: Notes and Issues:
Reg.No.: 30306104311
Date Created:
Date Updated:
Last
Analyzer, Database Admin This usecase describes how the analyzer calculates the grade for a student Analyzer has to calculate the grade. In this case there is no precondition. Based on the percentage secured by the student, the grade will be awarded. Analyzer first logs into the system. The analyzer then corrects the papers and awards marks. Then he calculates the total and percentage. System determines the grade based on the percentage. Admin stores the details along with the student information.
Alternative Flows: Exceptions: Includes: Priority: Frequency of Use: Business Rules: Special Requirements: Assumptions: Notes and Issues:
None Invalid login detail provided by the analyzer. None High Analyzer can use anytime. None Requires valid authentication from the analyzer. None None
Reg.No.: 30306104311
Date Created:
Date Updated:
Last
Student, Database Admin The student can view his examination result by providing his details to the system. To display result Check whether the student detail is valid or not. If the usecase was successful then the result of the student is displayed.
Alternative Flows: Exceptions: Includes: Priority: Frequency of Use: Business Rules: Special Requirements: Assumptions: Notes and Issues: None
Student provides his reg.no. to the system. The system searches the database for the reg.no. given. System displays the result of the student.
Invalid reg.no. provided by the student. None High Approximately 300 users, more than one usage per day None Requires the student database to be ready to display the result. None None
Reg.No.: 30306104311
superviser
conduct exam
write exam
evaluation
<<extend>> student
analyzer
calculates mark
display result
database administrator
maintains database
Reg.No.: 30306104311
login
give quest
evaluatet
add to db
store it in db
view
Reg.No.: 30306104311
S u pe rv is o r
S tud e nt
D a ta b a s e a d m in
S tart
Login
V alid
S ubm it
S tore details
E x it
Update dB
N ew S tate
Reg.No.: 30306104311
2.EVALUATION:
Analyser
Database admin
Start
Login
Correcting answers
Award marks
Per>=80
Per>=60
Grade A
Per>=40
Grade B
Grade C
Grade D
Storing details
Update dB
NewState2
Reg.No.: 30306104311
3.DISPLAY RESULT:
Student
Database admin
Start
Login
Enter reg.no
Search dB
Print result
Update dB
Reg.No.: 30306104311
:Supervisor
:Student
:Database admin
5:Submit
6:Store details
Reg.No.: 30306104311
2.EVALUATION:
:Analyzer
Reg.No.: 30306104311
3.DISPLAY RESULT:
:Student 1:Login
:Database admin
:Database system
Reg.No.: 30306104311
:Supervi sor
:Student
:Database admin
2.EVALUATION:
4: 4:Check the percentage 1: 1:Login 2: 2:Correct the answers 3: 3:Calculates the total and percentage
:Analyze r
5: 5:Determines the grade 6: 6:Evaluation completed successfully
:Database admin
Reg.No.: 30306104311
3.DISPLAY RESULT:
:Student
:Database admin
:Database system
Reg.No.: 30306104311
CLASS DIAGRAM:
Conducting exam Preparing question Syllabus Books Find questions() Print in paper()
Tim e Place Date Provide papers () Provide ques tions () Collect papers ()
Reg.No.: 30306104311
COMPONENT DIAGRAM:
Student.h
Student.java
Exam.h
Exam.java
Markanalyzer.exe
Analysis.h
Analysis.java
Database.h
Dataase.java
Display.h
Display.java
Reg.No.: 30306104311
DEPLOYMENT DIAGRAM:
Main server
Regional server
Interface
Mark analyzer
Supervisor
Printer
Db Manager Student1
Student 2
Analyzer
Reg.No.: 30306104311
APPENDIX:
ADMIN.H: #ifndef Admin_h #define Admin_h 1 #include "Student.h" class Admin { public: Admin(); Admin(const Admin &right); ~Admin(); Admin & operator=(const Admin &right); int operator==(const Admin &right) const; int operator!=(const Admin &right) const; void Enter_percentage (); void Prepare_report (); const UnboundedSetByReference<Student> get_the_Student () const; void set_the_Student (UnboundedSetByReference<Student> value); public: protected: private: const void get_User_id () const; void set_User_id (void value); const void get_Password () const; void set_Password (void value); private: void User_id; void Password; UnboundedSetByReference<Student> the_Student; }; inline const void Admin::get_User_id () const { return User_id; } inline void Admin::set_User_id (void value) { User_id = value; } inline const void Admin::get_Password () const { return Password; }
Reg.No.: 30306104311
inline const UnboundedSetByReference<Student> Admin::get_the_Student () const { return the_Student; } inline void Admin::set_the_Student (UnboundedSetByReference<Student> value) { the_Student = value; } #endif
Reg.No.: 30306104311
STUDENT.H
#ifndef Student_h #define Student_h 1 #include "Analyser.h" class 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 Write_exam (); void Get_result (); const Analyser * get_the_Analyser () const; void set_the_Analyser (Analyser * value); protected: private: const void get_RegXno () const; void set_RegXno (void value); private: void RegXno; Analyser *the_Analyser; }; inline const void Student::get_RegXno () const { return RegXno; } inline void Student::set_RegXno (void value) { RegXno = value; } inline const Analyser * Student::get_the_Analyser () const { return the_Analyser; inline void Student::set_the_Analyser (Analyser * value) { the_Analyser = value; } #endif
Reg.No.: 30306104311
ANALYSER.H #ifndef Analyser_h #define Analyser_h 1 #include "Admin.h" class Analyser { public: Analyser(); Analyser(const Analyser &right); ~Analyser(); Analyser & operator=(const Analyser &right); int operator==(const Analyser &right) const; int operator!=(const Analyser &right) const; void Correct_paper (); void Calculate_percentage (); const Admin * get_the_Admin () const; void set_the_Admin (Admin * value); protected: private: const void get_IdXno () const; void set_IdXno (void value); private: void IdXno; Admin *the_Admin; }; inline const void Analyser::get_IdXno () const { return IdXno; } inline void Analyser::set_IdXno (void value) { IdXno = value; } inline const Admin * Analyser::get_the_Admin () const { return the_Admin; } inline void Analyser::set_the_Admin (Admin * value) { the_Admin = value; }#endif
Reg.No.: 30306104311
SUPERVISOR.H #ifndef Supervisor_h #define Supervisor_h 1 #include "Student.h" class Supervisor { public: Supervisor(); Supervisor(const Supervisor &right); ~Supervisor(); Supervisor & operator=(const Supervisor &right); int operator==(const Supervisor &right) const; int operator!=(const Supervisor &right) const; void Supervising (); const UnboundedSetByReference<Student> get_the_Student () const; void set_the_Student (UnboundedSetByReference<Student> value); protected: private: const void get_Id_no () const; void set_Id_no (void value); private: void Id_no; Student {1 -> 1..nRHN} UnboundedSetByReference<Student> the_Student; }; inline const void Supervisor::get_Id_no () const { return Id_no; } inline void Supervisor::set_Id_no (void value) { Id_no = value; } inline const UnboundedSetByReference<Student> Supervisor::get_the_Student () const { return the_Student; } inline void Supervisor::set_the_Student (UnboundedSetByReference<Student> value) { the_Student = value; } #endif
Reg.No.: 30306104311
CONDUCTING EXAM.H #ifndef Conducting_exam_h #define Conducting_exam_h 1 #include "Supervisor.h" class Conducting_exam : public Supervisor //## Inherits: <unnamed>%4AB9E79501F4 { public: Conducting_exam(); Conducting_exam(const Conducting_exam &right); ~Conducting_exam(); Conducting_exam & operator=(const Conducting_exam &right); int operator==(const Conducting_exam &right) const; int operator!=(const Conducting_exam &right) const; void Provide_papers (); void Provide_questions (); void Collect_papers (); const void get_Time () const; void set_Time (void value); const void get_Place () const; void set_Place (void value); const void get_Date () const; void set_Date (void value); protected: private: private: void Time; void Place; void Date; }; inline const void Conducting_exam::get_Time () const { return Time; } inline void Conducting_exam::set_Time (void value) { Time = value; } inline const void Conducting_exam::get_Place () const { return Place; } inline void Conducting_exam::set_Place (void value) { Place = value; } #endif
Reg.No.: 30306104311
PREPARING QUESTION.H #ifndef Preparing_question_h #define Preparing_question_h 1 #include "Supervisor.h" class Preparing_question : public Supervisor //## Inherits: <unnamed>%4AB9E76C0000 { public: Preparing_question(); Preparing_question(const Preparing_question &right); ~Preparing_question(); Preparing_question & operator=(const Preparing_question &right); int operator==(const Preparing_question &right) const; int operator!=(const Preparing_question &right) const; void Find_questions (); void Print_in_paper (); const void get_Syllabus () const; void set_Syllabus (void value); const void get_Books () const; void set_Books (void value); protected: private: private: void Syllabus; void Books; }; inline const void Preparing_question::get_Syllabus () const { return Syllabus; } inline void Preparing_question::set_Syllabus (void value) { Syllabus = value; } inline const void Preparing_question::get_Books () const { return Books; } inline void Preparing_question::set_Books (void value) { Books = value; } #endif
Reg.No.: 30306104311
TEST PLAN
Overview Test plan objectives
To ensure that the Student mark analyzing 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 - The student details which have to be verified were already present in the database. - It is assumed that student can view the results using the system which is already tested. Risks & Contingencies The following risks apply to the testing process and may impact either the proposed date of readiness for the deployment of online reservation system, or the comprehensive level of testing that can be performed in each of the Functional Units: - The actual deployment of student mark analyzing system may take longer to perform than anticipated, as the conventional mark analyzing system is also using the same database.
Reg.No.: 30306104311
RESULT:
Thus the Problem analysis & Requirement Analysis and various Use case scenarios ,UML diagrams, Test plans has been studied successfully.