2013
Online Exam System
Madhura Pradhan Dream Solutions 7/8/2013
Acknowledgement
I am thankful to Mr. Jayaram Bhatt , CEO , Dream Solutions for giving me the opportunity to work in Dream Solutions Solutions which helped me gain knowledge and experience in Software Software development field. I appreciate all the personal and professional advice given by Mr. Amol Soman during my working tenure. I take this opportunity to express a deep sense of gratitude to Mr. Devashish Pradhan, for his exemplary guidance, monitoring and constant encouragement throughout which helped me in completing this task through various stages. I am obliged to my colleagues of (Dream Solutions), for the valuable information provided by them in their respective fields. I am grateful for their cooperation during the period of my assignment.
Thanking you, Madhura Pradhan.
1|Page
Table of Contents Introduction ......................................................................................................................................4
1.1 Purpose ............................................................................................................................................... 5 Software Development and Methodology ..........................................................................................6
2.1 System Development Life-Cycle .......................................................................................................... 6 Preliminary Analysis: ............................................................................................................................. 7 Systems analysis, requirements definition: .......................................................................................... 7 Systems design: ..................................................................................................................................... 7 Development ......................................................................................................................................... 7 Integration and testing: ........................................................................................................................ 7 Planning & Analysis ............................................. .................................................... ...........................8
3.1 Project Planning .................................................................................................................................. 8 3.2 Feasibility Study .................................................................................................................................. 9 Requirement analysis and specification ............................................................ ................................ 11
4.1 User Characteristics .......................................................................................................................... 11 4.2 Features: ........................................................................................................................................... 12 4.3 Constraints: ....................................................................................................................................... 14 4.4 Benefits: ............................................................................................................................................ 14 4.5 External Interface Requirements: ................... ............................ .................. .................. .................. .................. .................. .................. .................. ................... ..........14 System Design ................................................................................................................................. 16
5.1 Design Strategy ................................................................................................................................. 16 Three-tier architecture........................................................................................................................ 16 Presentation tier ................................................................................................................................. 17 Application tier (business logic, logic tier, data access tier, or o r middle tier) ................. .......................... ................... ............. ... 17 Data tier .............................................................................................................................................. 17 5.2 Data-flow Diagram ............................................................................................................................ 18 st
1 Level DFD ........................................................................................................................................ 18 nd
2 Level DFD ....................................................................................................................................... 19 3rd Level DFD ....................................................................................................................................... 20 5.3 Entity – Relationship Diagram ........................................................................................................... 21 Coding ............................................................................................ ................................................. 22
6.1 Introduction Introdu ction to MySql ................................... .................. ................................... ................................... ................................... ................................... .............................. ............. 22 PHP + MySql ........................................................................................................................................ 22 2|Page
Queries ................................................................................................................................................ 22 Open a Connection to the MySQL Server .................. ........................... .................. .................. .................. .................. ................... ................... .................. ......... 22 Syntax: ................................................................................................................................................. 22 6.2 Database Design ................................................................................................................................ 23 Tables in MySql: .................................................................................................................................. 23 Testing............................................................................................................................................. 27
UNIT TESTING .......................................................................................................................................... 28 MODULE LEVEL TESTING ......................................................................................................................... 28 INTEGRATION & SYSTEM TESTING .......................................................................................................... 28 REGRESSION TESTING ............................................................................................................................. 28 Screen Shots ....................................................... ...................................................... ....................... 29 Project Links .................................................................................................................................... 38 Conclusion ............................................................................................... ........................................ 39 References................................................. ...................................................... ................................ 39
3|Page
Introduction
Online Exam System is a full-fledged system which is beneficial for both teachers and students. With this site, Administrator can allow authorized entry of users which includes faculties and students. Faculties are the one who register on the site and conduct timed exams in their respective courses. They can add questions in the test by selecting the available settings. The tests added by faculties are available to students who can attempt the test and get score then and there. Thus the purpose of the site is to provide a system that saves the efforts and time of both the teachers and the students. Online Exam System is a web application that establishes a network between the faculties and the students. Faculties enter on the site the questions they want in the exam. These questions are displayed as a test to the eligible students. The answers enter by the students are then evaluated and their score is calculated and saved. This score then can be accessed by the faculties and administrator to evaluate their performance. Online Exam System provides the platform but does not directly participate in, nor is it involved in any tests conducted. Questions are posted not by the site, but users of the site. The administrator keeps an eye on the overall functioning of the system which includes how many users are using the site, how many tests are added by which faculty, how many students have given those tests and view the score of any student. The system entitled “Online Exams System” is application software, which aims at providing
services to the institutes and providing them with an option of sele cting the eligible students by themselves.
4|Page
1.1 Purpose
The purpose of on-line test system is to take online test in an efficient manner and no time wasting for checking the paper. paper. It provides online facility to Institutes to conduct conduct online exams and to Students to give online exams. Institutes (i.e the faculties in institute) can enter and edit the questions in test. Students can login and give their respective exams and view their score then and there. The main objective of on-line test simulator is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results
1.2 Scope
This website provides facility to institutes to conduct online exams and maintaining the records of users by providing authorized entry. Users can register as Faculty / Student and wait for the admin to send a notification email. User can then login with the valid username and password and can carry out their respective tasks.
Maintaining records of users(Faculties and Students) Admin can add/ delete a particular user who registers on site and can view the activities of users i.e. how many tests are added by a particular faculty, how many tests are given by particular student and view their respective scores.
Add test in particular course (Faculty) Faculty can add time limited tests in a particular course by adding questions in the same, can view which student has attempted the tests and view their respective scores.
Attempt test ( Student) Student can attempt test added by faculty and get their score then and there. They can also get the test review i.e. i .e. answer explanation of each question in test.
5|Page
Software Development and Methodology A software development process, also known as a software development life-cycle (SDLC), is a structure imposed on the development of a software product. It is often considered a subset of systems of systems development life cycle. There are several models for such processes, each describing approaches to a variety of tasks of tasks or activities that take place during the process. Some people consider a life-cycle model a more general term and a software development process a more specific term. It aims to be the standard that defines all the tasks required for developing and maintaining software. The System Development Life Cycle framework provides a sequence of activities for system designers and developers to follow. It consists of a set of steps or phases in which each phase of the SDLC uses the results of the previous one. A Systems Development Life Cycle (SDLC) adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation, and are explained in the section below. It includes evaluation of present system, information gathering, and feasibility study and request approval. A number of system development life cycle (SDLC) models have been created: waterfall, fountain, spiral build and fix, rapid prototyping, incremental, and synchronize and stabilize. The oldest of these, and the best known, is the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next. These stages can be characterized and divided up in different ways, including the following:
2.1 System Development Life-Cycle
6|Page
Preliminary Analysis:
The objective of phase 1 is to conduct a preliminary analysis, propose alternative solutions, describe costs and benefits and submit a preliminary plan with recommendations. Conduct the preliminary analysis: in this step, you need to find out the organization's objectives and the nature and scope of the problem under study. Even if a problem refers only to a small segment of the organization itself then you need to find out what the objectives of the organization itself are. Then you need to see how the problem being studied fits in with them. Propose alternative solutions: In digging into the organization's objectives and specific problems, you may have already covered some solutions. Alternate proposals may come from interviewing employees, clients, suppliers, and/or consultants. You can also study what competitors are doing. With this data, you will have three choices: leave the system as is, improve it, or develop a new system. Describe the costs and benefits.
Systems analysis, requirements definition:
Defines project goals into defined functions and operation of the intended application and analyzes end-user information needs.
Systems design:
Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo-code and other documentation. Development: The real code is written here.
Integration and testing:
Brings all the pieces together into a special testing environment, then checks for errors, bugs and inter-operability.
7|Page
Planning & Analysis
3.1 Project Planning Planning
Planning is an objective of each and every activity, where we want to discover things that belong to the project. An important task in creating a software program is extracting the requirements or requirements analysis. Once the general requirements are gathered from the client, an analysis of the scope of the development should be determined and clearly stated. Customers typically have an abstract idea of what they want as an end result, but do not know what software should do. Skilled and experienced software engineers recognize incomplete, ambiguous, or even contradictory requirements at this point. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect. Certain functionality may be out of scope of the project as a function of cost or as a result of unclear requirements at the start of development. If the development is done externally, this document can be considered a legal document so that if there are ever disputes, any ambiguity of what was promised to the client can be clarified. In the planning phase of online exam system, it was decided that the system should be able to conduct online tests which can be added by the authorized user. The system will have admin which allows authorized entry of users who register on site and can view the activities of added users. The admin can add / delete user at any given time. After deleting any user, all the activities related to the user get deleted from database Faculty can add practice test which the student can give more than once and actual test where the final score is recorded and can be given only once. Students will be able to give the test at the available time of the test and view score immediately after submitting the test. Students will be able to view the number of questions answered / unanswered and their respective answer explanation. Faculty will be able to send result certificate to the student i.e. grade the student depending his / her test score.
8|Page
3.2 Feasibility Study Once scope has been identified (with the concurrence of the customer), it is reasonable to ask: “Can we build software to meet this scope? Is the project feasible?” All too often, software
engineers rush past this questions (or are pushed past them by impatient managers or customers), only to become mired in a project that is doomed from the onset. When we are developing the system (software), we must know the proposed system will be feasible i.e. practically implemented or not. It may be possible that the proposed system may not be implemented due to many reasons like it may take long time in development than the specified time limit, cost may increase than proposed one etc. Therefore we must analyze the feasibility of the system. Feasibility is the analysis of risks, costs & benefits relating to economics, technology & user operation. There are several types of feasibility depending on the aspect they covers. Some important feasibilities is as follows:-
Technical Feasibility
Time-schedule Feasibility
Operational Feasibility
Economical Feasibility
Technical Feasibility:-
The technical feasibility assessment is focused on gaining an understanding of the present technical resources of the organization and their applicability to the expected needs of the proposed system. It is an evaluation of the hardware and software and how it meets the need of the proposed system
This project on Online Exam System will be platform independent since it is being coded in PHP scripting language.
HTML is used to create web pages.
MySql database will be used for storing data.
Hardware requirements used are compatible with all O.S.
Only authorized person would be able to use the website so it would be secure.
Time-schedule Feasibility:-
A project will fail if it takes too long to be completed before it is useful. Typically this means estimating how long the system will take to develop, and if it can be completed in a given time period using some methods like payback period. Schedule feasibility is a measure of how reasonable the project timetable
9|Page
is. Given our technical expertise, are the project deadlines reasonable? Some projects are initiated with specific deadlines. You need to determine whether the deadlines are mandatory or desirable. The scheduled time for online exam system was about 3 to 4 months and the project is completed in 4 months.
Operational Feasibility:-
Operational feasibility is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development. development.
[4]
The operational feasibility assessment focuses on the degree to which the proposed development projects fits in with the existing business environment and objectives with regard to development schedule, delivery date, corporate culture, and existing business processes
Economic Feasibility:-
The purpose of the economic feasibility assessment is to determine the positive economic benefits to the organization that the proposed system will provide. It includes quantification and identification of all the benefits expected. This assessment typically involves a cost/ benefits analysis.
Economic analysis is the most frequently used evaluating the effectiveness of proposed system, more commonly known as Benefit analysis. The Benefit analysis is to determine benefits and savings which are expected from candidate system and compare them with cost. If the benefits are more than the cost, then decision is made to design and implement the system.
10 | P a g e
Requirement analysis and specification
4.1 User Characteristics This system will be used in Three User Modules which are Administrator, Faculty and Student. As all of these have different requirements , the modules are designed to meet their needs and avoid any type Of confusion. The features of all three User Modules have been described below. Administrator
i.
Add/Delete/Update Courses.
ii.
Add/Delete/Update Events.
iii.
Edit institute(school/College) information.
iv. Edit profile i.e Personal and Login information. v.
View list of users active/inactive (faculties and students) registered on site.
vi.
Add/Delete a particular User.
vii.
View activities of particular faculty. (Profile , Courses and tests added).
viii.
View activities of particular student.(Profile ,Tests attempted and score).
Faculty
i.
Register on site.
ii.
Login on site after receiving notification email from administrator.
iii.
View Upcoming events added by administrator.
iv.
View institute(school/College) information.
v.
Edit profile i.e Personal and Login information.
vi.
View list of courses added by administrator.
vii.
Add the course applicable to “My courses”.
viii.
Add/Delete/Update tests in that course.
ix.
Add/Delete/Update questions in that test.
x.
View activities of particular student.(Profile ,Tests attempted and score).
Student i. Register on site. ii. Login on site after receiving notification email from administrator.
iii. View Upcoming events added by administrator. iv. View institute(school/College) information. v. Edit profile i.e Personal and Login information. vi. View List Of Courses added by administrator. vii. View tests added in particular course by fac ulty. viii. Attempt test and get score ix. View test review. (Answer explanation , correct/incorrect answers).
11 | P a g e
4.2 Features: The website will allow access only to authorized users with specific roles (Administratormaintains the website, Faculty -Register to conduct the exams, Students-Give the exams o nline) A summary of the major functions that t he website will perform: Register/Login:
Admin can directly login on site with the username and password provided by the developer which can be changed later. Admin can view the number of users who register on site and looking at the details of that user c an add/delete the user. Faculty and Students should register on site first and wait for the authorization of admin. After receiving notification email from the admin, they can login with their respective username and password. They can change their personal details and login information any time after being authorized by the admin. Institute Information:
Admin can add/edit the details about the institute at any given time and it can be seen by the authorized users. Events:
Admin can add/delete a event related to institute such as.. The upcoming events added by admin can be viewed by the users
Courses: Admin can add the courses which are provided by the institute and add description for
the same if necessary. The courses added by admin can be seen by all the faculties and students. Faculty can add the particular courses to “My Courses” allotted to them from the list added by admin and add tests in that particular course. Student can view the list of courses and attempt test from a particular course at any given time.
Test: Faculty can add test in their course and provide the settings of the same ie. i. Test Name ii. Test Instructions
iii. Total number of questions in the test. iv. Marks of individual questions in the test. v. Timer for test. After saving the settings of test, faculty can add questions in the test. They can add and save as many questions as necessary and then select which questions should be displayed to the student among the list of questions added. The number of questions selected should match the number added in the settings of test. After the questions are selected , the faculty should click on save test so that student can view the test.
12 | P a g e
Student can view all the test added by any faculty in any of the course listed by the admin and attempt the same. Student can attempt a particular test only once except due to some unavoidable reasons (like power-cut) the answers get saved in database and the student c an resume the test where left.
Type of questions: Faculty can add/delete questions in test which can be Multiple-Choice Questions or True-False type Questions. Total number of questions can vary from test to test. Questions:
Faculty can add/ edit questions in test by selecting the following details: i. Question – Type the question in this field. ii. Question Type – Select the type of question (Multiple choice Question or True- False Question ) iii. Options – Provide the multiple options and choose the corr ect answer. iv. Answer Explanation – Add the explanation for the correct answer among the given choices. The software calculates the total marks of test based on the details provided by the user after the user(faculty) clicks on save test w hich can be then attempted by t he student. Get Score
Student can attempt the test added by faculty and get score then and there. Only one question is displayed at a time and the student has to choose the correct answer and click next. At the end of last question , complete complete summary of test is displayed displayed i.e which questions are answered/unanswered. The student can go back and change the answer from this page within the time limit of test and then click on submit test to view the score. If the time exceeds , result is calculated on the number of questions attempted by the student. On clicking on submit test student can view the following information: i.
Total Marks
ii.
Correct
iii.
Incorrect
iv.
Answered
v.
Unanswered
Admin can view the test attempted by student and even check the marks scored by student in particular test in any of the courses. Faculty can view the test attempted by student in only the test added by that faculty and even check the marks scored by student.
Review Test
13 | P a g e
After getting the score , student can click on review test to get the answer explanation of each question and check which questions were correct/incorrect.
Admin can add/delete/make user active/inactive at any given t ime.
4.3 Constraints: There are some constrains on the features of web-site listed above.
Admin cannot delete course if tests are added by faculty in that particular course.
Admin cannot delete a faculty if any student has given the test added by that faculty.
The courses added by admin can be added by faculty provided no other faculty has added the same course. That is one course can have only single faculty assigned to it.
Faculty cannot delete a particular question in test after the test is saved.
4.4 Benefits: This website website reduces the manual work, maintaining accuracy, increasing efficiency and saving time. Also institutes need not go to develop a new software each time, instead they just register and conduct a test. For students, it saves time of going to far away centers and also they can view their result then and there.
4.5 External Interface Requirements:
14 | P a g e
User Interfaces i.
Login Screen
ii.
Registration Screen
iii.
Admin home screen
iv.
List of users screen
v.
Faculty profile screen
vi.
Student profile screen
vii.
Institute edit screen
viii.
Faculty home screen
ix.
Add test screen
x.
List of test screen
xi.
Add question screen
xii.
List of question screen
xiii.
Student home screen
xiv.
Test screen
xv.
Review test screen
xvi.
Display score screen
xvii.
15 | P a g e
Answer explanation screen
Software Interfaces i.
Operating System System : Windows
ii.
Browser : Google Chrome / Firefox
iii.
Database Layer : MySql
iv.
Web Server : APACHE 5.0
v.
Server Side Scripting : PHP
vi.
Client Side Scripting : JAVA SCRIPT
Hardware Interfaces i.
CPU
ii.
Monitor
iii.
Keyboard
iv.
Mouse
System Design
5.1 Design Strategy In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client –server architecture in which presentation, application processing, and data management functions are logically separated. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use of multi-tier architecture is the three-tier architecture.
Three-tier architecture
Three-tier architecture is a client –server architecture in which the user interface, functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. The three-tier model is a software architecture pattern. Apart from the usual advantages of modular software with well-defined interfaces, the threetier architecture is intended to allow any of the three tiers to be upgraded or replaced
16 | P a g e
independently in response to changes in requirements or technology. For example, a change presentation tier would only affect the user interface code. of operating of operating system in the presentation Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical user interface, functional process logic that may consist of one or more separate modules running on a workstation or application server, and an RDBMS on a database server or mainframe that contains the computer data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an "n-tier architecture"). By introducing the middle layer, the client is only handling presentation logic. This means that only little communication is needed between the client and the middle tier making the client “thin” or “thinner”. An example of a thin client is an Internet browser that allows you to see and provide information fast and almost with no delay.
Three-tier architecture has the following three tiers: Presentation tier
This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network. (In simple terms it's a layer which users can access directly such as a web page, or an operating systems GUI)
Application tier (business logic, logic tier, data access tier, or middle tier)
The logical tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
Data tier
This tier consists of database servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance. As more users access the system a three-tier solution is more scalable than the other solutions because you can add as many middle tiers (running on each own server) as needed to ensure good performance (N-tier or multiple-tier).Security is also the best in the three-tier architecture because the middle layer protects the database tier. There is one major drawback to the N-tier architecture and that is that the additional tiers increase the complexity and cost of the installation.
17 | P a g e
5.2 Data-flow Diagram
st
1 Level DFD
Admin
User
Faculty
Login
Student
Register
Login
Online Exam
Online Exam
System
System
18 | P a g e
Register
2
nd
Level DFD
Student
Register
Faculty
Register
Admin
Login
Login
Select
Select
Add
test
course
Start
Add
test
test
Answer the
Add Test
questions
Details
Login
Get Score
Add Questions
Save test
List Of Tests
19 | P a g e
Course
Add Course Details
Save Course
List Of Courses
rd
3 Level DFD
Users
Student
Faculty
Edit Profile
Edit Profile
Profile Details
Profile Details
Personal Information
Personal Information
Test Completed/Pending
Test Added
Score
20 | P a g e
Admin
5.3 Entity – Relationship Diagram It is a graphical representation of entities and their relationships to each other, typically used in computing in regard to the organization of data of data within databases or information systems. An entity is a piece of data-an object or concept about which data is stored. A relationship is how the data is shared between entities. There are three t ypes of relationships between entities: i. One - to - one ii. One - to - many iii. Many - to - many
Diagram:
21 | P a g e
Coding
6.1 Introduction to MySql Many of the applications that a Web developer wants to use can be made easier by the use of a standardized database to store, organize, and access information. MySQL is an Open Source (GPL) Standard Query Language (SQL) Relational Database Management System (RDBMS) database that is fast, reliable, easy to use, and suitable for applications of any size. SQL is the ANSI-standard database query language used by most databases. SQL is the most popular language for adding, accessing and managing content in a database. It is most noted for its quick processing, proven reliability, ease and flexibility of use. MySQL is an essential part of almost every open source PHP application.
PHP + MySql
PHP combined with MySQL are cross-platform (you can develop in Windows and serve on a Unix platform) The main reason for using a scripting language like PHP is because of the interaction with databases it can offer. The things needed to run PHP scr ipts which access MySQL databases. 1.
Webserver - This can either be on a computer computer of your own or on a web host. Any web server server software should work with PHP and MySQL but the best to use is Apache, which is free
2. Installation - PHP also needs to be installed on the server. If it is not already installed you can install it (or ask your web host to install it). It can be downloaded from PHP.net and is also free . 3. MySQL – This is actual database software
Queries
A query is a question or a request. We can query a database for specific information and have a recordset returned.
Open a Connection to the MySQL Server
Before we can access data in a database, we must open a connection to the MySQL server. In PHP, this is done with the mysql_connect() function. Syntax: mysql_connect(host,username,password,dbname);
22 | P a g e
Parameter
Description
host
Optional. Either a host name or an IP address
username
Optional. The MySQL user name
password
Optional. The password to log in with
dbname
Optional. The default database to be used when performing queries
6.2 Database Design The overall objective in the development of database technology has been to treat data as an organizational resource and as an integrated whole. DBMS allow data to be protected and organized separately from other resources. Database is an integrated collection of data. The most significant form of data as seen by the programmers is data as stored on the direct access storage devices. This is the difference between logical and physical data. Database files are the key source of information into the system. It is the process of designing database files, which are the key source of information to the system. The files should be properly designed and planned for collection, accumulation, editing and retrieving the required information. The organization of data in database aims to achieve three major objectives: • Data integration. • Data integrity. • Data independence.
The proposed system stores the information relevant for processing in t he MySQL SERVER database. This database contains tables, where each table corresponds to one particular type of information. Each piece of information in table is called a field or column. A table also contains records, which is a set of fields. All records in a table have the same set of fields with different information. There are primary key fields that uniquely identify a re cord in a table. There are also fields that contain primary key from another table called foreign keys.
Online exam System uses the following database structure for storing user data , test data ,questions data etc. Tables in MySql: 23 | P a g e
1. User – Field
Id Username Password Security Question Answer Category Approved First Name Last Name Email Address DOB Country City Zip Contact Number Active Gender
Type
Constraints
Int Varchar Varchar Varchar Varchar Varchar Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Int Varchar
Primary Key
This table stores the information of user (admin, faculty and student) that is personal as well as login information and primary key id which auto-increments every-time a new user registers. Personal information includes First Name, Last Name, Email Address, Contact info etc. Login Information includes username, password, Security Question etc. One column named Category is introduced to recognize whether the user is Admin, faculty or student. And another special column named Approved is used for authorized entry of users. i.e. this column is set when admin adds the respective user.
2. Schoolprofile – Field
Id School Name School Address School Email Country City Zip Contact Number
Type
Constraints
Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar
Primary Key
This table stores the details of the institute which includes institute name, address, contact information, email address, country, city etc. 24 | P a g e
3. Courses – Field
PID Course Name Course Description id
Type
Constraints
Int Varchar Varchar int
Primary Key
Foreign Key
This table stores the courses added by admin i.e Course Name and Course Description and one primary key ‘PID’ which auto-increments every-time a new course is added. There is additional Foreign key ‘id’ which states w hich user(faculty) has added that course.
4. Events – Field
eid Event Name Event Description
Type
Constraints
Int Varchar Varchar
Primary Key
This table stores the events added by admin i.e Event Name and Event Description and one primary key ‘eid’ which auto -increments every-time a new event is added.
5. Test – Field
tid Test Name Test Instruction TotalQ MperQ Timer Total Id PID
Type
Constraints
Int Varchar Varchar Double Double Varchar Double Int Int
Primary Key
Foreign key Foreign Key
This table stores the details of tests added by any faculty which includes Test Name , Test Instruction , Total Questions , Marks per question , Timer. te st is added by any faculty. There is one primary key ‘tid’ ‘t id’ which auto-increments every-time a new test There are two foreign keys ‘id’ and ‘PID’ which states which user(faculty) has added test in which
course.
25 | P a g e
6. Questions – Field
Type
Constraints
qid Question Type Question Option1 Option2 Option3 Option4 CA Answer Explanation Marks Qnum Columnnum tid
Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Double Double Int int
Primary Key
Foreign Key
This table stores the details of questions added in test which includes serial number ,Question , Type of Question , options , Correct Answer , Answer Explanation. There is one primary key ‘qid’ which auto-increments every-time a new question is added in any
test. There is foreign key ‘tid’ which states which question is added in which test. 7. Checkquestion –
Field
cid id qid tid QStatus UserAnswer CorrectAnswer Marks Serialnum
Type
Constraints
Int Int Int Int Varchar Varchar Varchar Double Double
Primary Key Foreign Key Foreign Key Foreign Key
This table stores the answer choices of user and whether the student has answered/not answered the particular question in a test.
26 | P a g e
Testing System testing is a critical aspect aspect of Software Quality Assurance Assurance and represents the ultimate review of specification, design and coding. Testing is a process of executing a program with the intent of finding an error. A good test is one that has a probability of finding an as yet undiscovered error. The purpose of testing is to identify and correct bugs in the developed system. Nothing is complete without testing. Testing is the vital to the success of the system. In the code testing the logic of the developed system is tested. For this every module of the program is executed to find an error. err or. To perform specification test, the examination of the specifications stating what the program should do and how it should perform under various conditions. Unit testing focuses first on the modules in t he proposed system to locate errors. error s. This enables to detect errors in the coding and logic t hat are contained within that module alone. Those resulting from the interaction between modules are initially avoided. In unit testing step each module has to be checked separately. System testing does not test the software as a whole, but rather than integration of each module in the system. The primary concern is the compatibility of individual modules. One has to find areas where modules have been designed with different specifications of data lengths, type and data element name. Testing and validation are the most important steps after the implementation of the developed system. The system testing is performed to ensure that there are no errors in the implemented system. The software must be executed several times in order to find out the errors in the different modules of the system. Validation refers to the process of using the new software for the developed system in a live environment i.e., new software inside the organization, in or der to find out the errors. The validation phase reveals the failures and the bugs in the developed system. It will be come t o know about the practical difficulties the system faces whe n operated in the true environment. By testing the code of the implemented software, the logic of the program can be examined. A specification test is conducted to check whether the specifications stating the program are performing under various conditions. Testing may be done at 4 levels • Unit Level • Module Level • Integration & System • Regression
27 | P a g e
UNIT TESTING A Unit corresponds to a screen /form in the package. Unit testing focuses on verification of the corresponding class or Screen. This testing includes testing of control paths, interfaces, local data structures, logical decisions, boundary conditions, and error handling. Unit testing may use Test Drivers, which are control programs to co-ordinate test case inputs and outputs, and Test stubs, which replace low-level modules. A stub is a dummy subprogram.
MODULE LEVEL TESTING Module Testing is done using the test cases prepared earlier. Module is defined during the time of design.
INTEGRATION & SYSTEM TESTING Integration testing is used to verify the combining of the software modules. Integration testing addresses the issues associated with the dual problems of verification and program construction. System testing is used to verify, whether the developed system meets the requirements.
REGRESSION TESTING Each modification in software impacts unmodified areas, which results serious injuries to that software. So the process of re-testing for rectification of errors due to modification is known as regression testing.
28 | P a g e
Screen Shots
1.
Login Screen
2.
Registration Screen
29 | P a g e
3. Admin Home Page
4. Institute Details Page
30 | P a g e
5. List Of faculties Page
6.
Faculty Profile Page
31 | P a g e
7. Student Profile Page
8. Add Course Page
32 | P a g e
1. Faculty Home Page
2. Add Test Page
33 | P a g e
3. Add Question Screen
4. List Of Questions Screen
34 | P a g e
1. Student Home Screen
2. Test Screen
35 | P a g e
3. Review Test Screen
4. Score Screen
36 | P a g e
5. Answer explanation Screen
37 | P a g e
Project Links
Subdomain Name : madhura.6te.net FTP Information: Host : 6te.net Username : madhura.6te.net Password: ********* Link: http://6te.freewebhostingarea.com/ftp/ .
Database Information: Link: http://6te.freewebhostingarea.com/pma/ . Database name: 691242 Username: 691242 Password: *********
Index Page link: http://madhura.6te.net/OnlineExamSystem/index.php
38 | P a g e
Conclusion The project report entitled “ONLINE EXAMINATION” has come to its final stage. The system
has been developed with much care that it is free of errors and at the same time it is efficient and less time consuming. The important thing is that the system is robust. Also provision is provided for future developments in the system. The entire system is secured. This online system will be approved and implemented soon.
References
www.cacoo.com
Draw.io
https://moodle.org/
39 | P a g e