Online Examination System: Project
Online Examination System: Project
Online Examination System: Project
PROJECT
ON
By:
Prabhnoor Sidhu(02/IT/0041323107)
Jugpreet Singh(03/IT/0051323107)
Harkirat Singh(42/IT/0471323107)
We would like to express our great gratitude towards our supervisor and trainer,
Mr. Rakesh Malik , who has given us the required knowledge, support and suggestions for the
project. Without his help, we could not have presented this dissertation upto the present standard.
We also take this opportunity to give thanks to all others who gave us support for the project or
in other aspects of our study at the institute, Microsoft IT Academy.
Prabhnoor Sidhu
(02/GTBIT/2007)
[email protected]
Jugpreet Singh
(03/GTBIT/2007)
[email protected]
Harkirat Singh
(42/GTBIT/2007)
[email protected]
ABSTRACT
ONLINE EXAMINATION SYSTEM as the name suggests is an online Product that allows
students to appear for certification examination. This project also enables an Examination
conductor to register for an exam and conduct the same for the registered students.
The project’s objective is to provide a platform for students to test their knowledge in a particular
subject and be a certified professional.
Test Conductor(Agent) Module: It allows the Agent to register for a exam on the required
date for a fixed number of students and a subject. The Agent provides students with username
and password. The Agent conduts the exam it at his location on a specified date, and manages
the result of all students for the different tests.
Student Module: This module manages the registered students. The Student can appear for the
test only once and any subsequent request by the student allows him to see the result only. The
Student can register for a new test anytime with the Test Conductor.
LIST OF FIGURES AND TABLES
3.1 Admin_Login 13
3.2 Agent_Info 13
3.3 Agent_Login 13
3.4 Options 14
3.5 Question 14
3.6 Student_Info 14
3.7 Student_Response 15
3.8 Student_Result 15
3.9 Subject_Info 15
CONTENTS
Title Page
Certificate ii
Acknowledgement v
Abstract vi
List of Tables and Figures vii
Contents ix
1. Introduction 1
5. Testing 33
6.1 Conclusion 42
6.2 Limitations of the System 42
6.3 Future Scope for Modification 42
6.4 References & Bibliography 42
7. Appendix 44
Chapter One
INTRODUCTION
1.1 Problem Statement:
Only knowledge about a particular subject may not be enough, an individual needs to be
certified in the particular field.
So there is a need for a website where an individual can appear for certification exams.
The website should also allow the individual to update his personal information and
review his result.
TEST4U is our initiative towards providing students with a platform to appear for a
certification exam.
An Agent can register for a particular exam to be conducted for a number of students on a
particular date.
The student can appear for the certification exam at the registered Agent’s location.
The student can review his result and register for a new exam anytime with the Agent.
The website has different features which helps it to achieve its objectives, these are:
REGISTER FOR TEST(Agent): The Agent registers for a particular test, on a specified date for
a given number of students. The Agent makes the payment using demand draft or credit card.
ADD/EDIT STUDENT DETAILS(Agent): The details of the registered Student can be added/
edited by the agent.
RESULTS: The registered Student can view only his result, Agent can view the complete result
of the its centre and the Administrator can view the complete result of all appeared students
centre-wise.
The Web-site was build so that the student can appear for the certification for a particular
subject on a specified date.
Performance is high.
1.3 Deliverables:
Table of contents
Use Case Diagram
Context diagram
Data flow diagrams
Input Screen Designs
Output Design snapshots
Test Plan
Chapter Two
1. Requirement Analysis.
2. Project Planning.
3. System Design.
4. Coding.
5. Unit Testing.
6. System Integration and Testing.
Here the linear ordering of these activities is critical. Output of one phase is the input of
another phase. The output of each phase is to be consistent with overall requirement of the
system. Some of the qualities of spiral model are also incorporated like after ‘Interface
designing’ the user was asked to validate the design as per the requirements. Interaction with
the user is also done from time to time for identifying further requirements. WATERFALL
Model was being chosen because all the requirements were known beforehand and the
objective of our software development is the computerization/automation of an already
existing manual working system.
Design
The .Net Framework consists of a Web Forms, Windows Forms, and Console applications that
pertain to the presentation layer of an application. Web Forms are used in Web-based
applications that pertain to the presentation layer of an application. Web forms are used in Web-
based applications, whereas Windows
Forms are used in Windows-based applications for providing an interactive user interface. In
addition, you can create character-based console applications that can be executed from the
command line.
.NET Framework, a set of objects and blueprints from Microsoft for building applications.
The .NET Framework provides the underlying functionality of ASP.NET. All applications
developed under the .NET Framework; including ASP.NET applications, have certain key
features that ensure compatibility, security, and stability. Let's examine these features
individually.
According to the Microsoft .NET Framework is:
A platform for building, deploying, and running web services and applications. It provides a
highly productive, standards-based, multi-language environment for integrating existing
investments with next-generation applications and services as well as the ability to solve the
challenges of deployment and operation of Internet-scale applications.
The Microsoft .NET Framework consist of two main parts:
1) Common Language Runtime:
1. Common Type System (data types at MSIL)
2. Common Language Specifications (rules to be taken care of for using the language)
Version control (multiple dUs can be maintained through metadata)
3. Automatic garbage Collection
2) Base Class Library:
.NET class library, which is sometimes called "Base Framework";
SYSTEM DESIGN
3.1 Logical Database Design
QUESTION OPTION
MANAGE S
S
ADMINISTRATOR QUESTIONS
Q.No.
ANSWE
R
NAME
AGENT ROLES
AGENT
ID
COMPLET CENTRE
E RESULT RESULT
PASSWOR VIEWS
D
RESULTS
INDIVIDUAL TEST
RESULT RESUL
NAM T
E
DOE
NO OF
S
STUDENT
STUDENTS APPEAR S
S
ID
LOGIN PASSWORD
TEST
TEST CODE
DATE
REGISTE TEST
R ID
Table 3.3.1
Admin_Login
Table 3.3.2
Agent_Info
Table 3.3.3
Agent_Login
Table 3.3.4
Options
Table 3.3.5
Question
Table 3.3.6
Student_Info
Table 3.3.7
Student_Response
Table 3.3.8
Student_Result
Table 3.3.9
Subject_Info
3.4 Data Flow Diagrams
Data flow diagrams (DFDs) are one of the three essential perspectives of SSADM. The sponsor
of a project and the end users will need to be briefed and consulted throughout all stages of a
systems evolution. With a dataflow diagram, users are able to visualise in a physical visual form
how the system will operate, what the system will accomplish and how the system will be
implemented. Old system dataflow diagrams can be drawn up and compared with the new
systems dataflow diagrams to draw comparisons to implement a more efficient system. Dataflow
diagrams can be used to provide the end user with a physical idea of where the data they input,
ultimately has an effect upon the structure of the whole system from order to dispatch to restock
how any system is developed can be determined through a dataflow diagram.
The components of a data flow diagram (DFD) are:
1. Processes
2. Flows
3. Stores
4. Terminators (sometimes called sources and sinks)
Terminators are outside of the system being modeled. Terminators represent where information
comes from and where it goes. In designing a system, we have no idea about what these
terminators do or how they do it.
Processes modify the inputs in the process of generating the outputs .
Stores represent a place in the process where data comes to rest. A DFD doesn't say anything
about the relative timing of the processes, so a store might be a place to accumulate data over a
year for the annual accounting process.
Flows are how data moves between terminators, processes, and stores.
It is recommended that every page in an DFD contain fewer than 10 components. If a process has
more than 10 components, then one or more components (typically a process) should be
combined into one and another DFD be generated that describes that component in more detail.
Each component should be numbered, as should each subcomponent, and so on.
ADMINISTRATOR
AGENT
Students
Manage Questions
4U Manage
View Results
Add/Edit details
U
Change Password S
E
View Results R
HOME
CENTRE
RESULT
COMPLETE
RESULT
3.2.2 Actors
Administrator
3.2.3 Preconditions
The administrator must be logged into the web site.
3.2.4 Post Conditions
None
3.2.5 Basic flow
1. Administrator can add a new subject or select the Subject.
2. Administrator can edit or delete the selected subject.
3.2.6 Alternate flows
None
Sign Up
Edit
Questions
Edit
Subjects
Administrator
Unregistered User Manage Agent
Details
Register for
Test
View
Results
Login
Manage
Student
Details
Agent (Test Conductor) Edit Details
Student
Give Test
Fig 3.6 Use Case Diagram
Chapter Four
BODY OF THESIS
4.1 System Interfaces
1. Admin will have to implement a security policy to safeguard the customer’s information. It
should not be modified or used by unauthorized users (by means of gaining access to backend
database). These days’ data is very important to companies and wrong use of data can take away
our esteemed customers from us.
2. We should have proper backup of the essential details and all the information, since any
information lost can affect the business very heavily.
3. The admin has to update the details shows regularly so that user is provided with various
details whenever he views the web site.
Software testing is the process used to help identify the correctness, completeness, security
and quality of developed computer software. Testing is a set of activities that can be planned in
advance and conducted systematically. Testing can never completely establish the correctness of
arbitrary computer software. In other words, testing is criticism or comparison that is comparing
the actual value with an expected one. Testing is the process of exercising the software item to
detect the differences between its behavior and the desired behavior as stipulated by the
requirements specifications- 'what is' and 'what should be'. To achieve a very high standard in
quality of delivery, a comprehensive and planned testing will be carried out during project
execution. The Testing phase follows the coding and unit-testing phase. Testing a program
basically consists of providing the program with set of test inputs or the test cases and observing
whether the program behaves in the normal and expected manner. The condition under which the
programs behaves in an unexpected manner and deviates from its normal course is noted for
debugging and correction.
The objective is to design tests that systematically uncover different classes of errors and do
so with a minimum amount of time.
Performance requirements appear to have been met Data collection during testing provides a
good indication of software reliability and some indication of software quality. Testing cannot
show the absence of defects, it can only show that software defects are present.
Unit testing is a procedure used to validate that the individual modules or units of source
code or functions are working properly. Ideally, each test case is independent from the others;
mock objects can be used to assist testing a module or a piece of a module in isolation. Unit
testing is typically done by the developers and not by end-users.
The purpose of unit testing is to identify and correct as many internal logic errors as
possible. Unit tests would be repeatable and may be conducted at any point in the
implementation process in accordance with the approved unit test plan for the module I project
The goal for unit testing by developers is to perform selected path testing in which every affected
branch is navigated in all possible directions at least once and every affected line of code is
executed at least once. The developer would do unit testing at time of coding.
Definition of a unit
1. Screens with its associated services, which help to display, add, modify, delete, authorize
or list data.
2. Any function, which encapsulates business logic for a batch job or a service.
3. Batch jobs separated as a unit.
4. Library functions being provided by any module to be considered as a unit.
System testing is testing conducted on a complete, integrated system to evaluate the system's
compliance with its specified requirements. System testing falls within the scope of Black box
testing, and as such, should require no knowledge of the inner design of the code or logic. It
requires testing the system as a whole.
Objective of System Testing
FUNCTIONAL TESTING
The objective of this test is to ensure that each element of the application meets the
functional requirements as outlined in system specifications. Functional testing covers the
aspects of the system executing functions it is supposed to execute-including user commands,
data manipulation, searches and business processes, user screens, and integrations. Functional
testing covers the obvious surface type of functions, as well as the back-end operations (such as
security and how upgrades affect the system). Before executing the system test cases in full, a
limited functional testing will be performed with a subset of system test case where the system
will be run on two (or may be more is to be decided) business days and covering end-to-end two
(or may be more is to be decided) event types. This is done to verify if all the components of the
system is installed properly and to do a basic functionality testing. This will conclude high-level
testing. It will be followed by detailed-level tests, which will aim to test the individual processes
and data flows.
AUTOMATED TESTING
automate is the execution of test cases. For programs which do not normally interact directly
with users (and instead "respond" to the contents of a disk file or instructions passed over a
network, or take input as text from a keyboard), it is relatively simple to write small programs
(usually called test scripts) to provide the appropriate input. It is somewhat more complex for
programs with a graphical user interface (GUI) to do similarly, but specialized scripting tools for
controlling GUI programs exist and are commonly used for performing testing on this class of
applications.
INTERFACE TESTING
The various programs that facilitate the exchange of data between the interfacing systems
will be tested through the Interface sub testing. The process of Interface testing will be
interlinked to the system testing activity, by incorporating the messaging requirements within the
system test conditions.
Non-Functional Testing: Besides testing to check whether the application meets all the functional
requirements, following Non-Functional Testing would be carried out in this phase:
INSTALLATION TESTING
Installation testing can simply be defined as any testing that occurs outside of the
development environment. Such testing will frequently occur on the computer system the
software product will eventually be installed on. While the ideal installation might simply appear
to be to run a setup program, the generation of that setup program itself and its efficacy in a
variety of machine and operating system environments can require extensive testing before it can
be used with confidence.
In distributed systems, particularly where software is to be released into an already live target
environment (such as an operational web site) installation (or deployment as it is
sometimes called) can involve database schema changes as well as the installation of new
software. Deployment plans in such circumstances may include back-out procedures whose use
is intended to roll the target environment back in the event that the deployment is unsuccessful.
Ideally, the deployment plan itself should be tested in an environment that is a replica of the live
environment. A factor that can increase the organizational requirements of such an exercise is the
need to synchronize the data in the test deployment environment with that in the live
environment with minimum disruption to live operation. Installation Testing is testing of full,
partial or upgrades install/uninstall processes.
PERFORMANCE TESTING
Performance testing is perhaps the biggest area of testing. The different types of
performance testing that can be done:
1. Classic performance testing, which measures response times and transaction rates.
2. Load testing, which measures the system's ability to handle varied workloads.
3. Stress testing, which looks for errors produced by low resources or competition for
resources.
4. Volume testing, which subjects the software to larger and larger amounts of data to
determine its point of failure.
The System Integration Testing is a testing process that shakes down source code developed and
fixes any variance before proceeding to the next testing phase. To complete (or exit) SIT; there
must be fewer variances than can be tolerated. Various components will be integrated with each
other and with external system via external interfaces.
The purpose of this testing is to verify functional, performance and reliability requirements
placed on major design items. These "design items", Le. assemblages (or groups of units), are
exercised through their interfaces using Black box testing, success and error cases being
simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and
inter-process communication is tested; individual subsystems are exercised through their input
interface. All test cases are constructed to test that all components within assemblages interact
correctly.
REGRESSION TESTING
Regression testing is any type of software testing which seeks to uncover regression bugs.
Regression bugs occur whenever software functionality that previously worked as
desired stops working or no longer works in the same way that was previously planned.
Typically regression bugs occur as an unintended consequence of program changes. Common
methods of regression testing include rerunning previously run tests and checking weather
previously fixed faults have reemerged. Therefore, in most software development situations it is
considered good practice that when a bug is located and fixed, a test that exposes the bug is
recorded and regularly retested after subsequent changes to the program. Although this may be
done through manual testing procedures using programming techniques, it is often done using
automated testing tools. Regression testing is an integral part of the extreme programming
software development methodology.
User Acceptance Testing (UAT) is a process to obtain confirmation by test, through trial or
review, that the modification or addition requirements. In, UAT is one of the final stages of a
project will often occur before a client or customer accepts a new system. Users of the system
will pert developers have derived from the client's contract or the user requirement. The idea is
that if the software works as intended and without issue during a simulation of normal use ,it will
work just the same production. These tests are not of problems (spelling mistakes, cosmetic
problems) or showstopper software crashing, software will not run etc.). Developers should have
during unit testing and integration testing. The results of these tests will confidence to the
customers of how the system will perform in production. Client will carry out acceptance of
deliverables. Defects, if any, observed by Client, will be notified 0 the immediate previous
baseline or acceptance whichever is later.
5.6 Implementation
5.6.1 Acquisition
1. CPU: 1.5GHz
2. RAM: 1.0 GB
3. HDD: 160 GB
2. You must have good knowledge of English language, as the site is totally developed in
English language.
4. Front page of site appears, select the relevant link which you need to access.
Chapter Six
RESULTS AND OBSERVATIONS
6.1 Conclusion
Online Examination System is user friendly. Various validations checks are provided
whenever any data entry is made. Error messages are displayed on the screen for incorrect
entries. Password facility is provided for security at various levels. It provides efficient and
quicker service to all users. It provides easy access to the database. It provides flexibility to
accommodate future needs. It eliminates duplication of works and provides a convenient and an
effective information system.
Websites
1. http://www.codereference.com/book/csharp.aspx
2. http://www.programmersheaven.com/2/CSharpBook
3. http://www.w3schools.com/sql/sql_intro.asp
4. http://www.sql-tutorial.net/
Appendix A
SCREEN SHOTS
SCREEN SHOTS
Fig. 6.1 Home Page
Fig. 6.2 Add Subject Page
Fig. 6.3 Edit Subjects Page
Fig. 6.4 Add Question Page
Fig. 6.5 Complete Result Page
Fig. 6.6 Register For a Test Page-1
Fig. 6.7 Register for a Test Page-2
Fig. 6.8 Enter Student Details Page
Fig. 6.9 Centre Result Page
Fig. 6.10 Add Details Page(Student)
Fig. 6.11 Change Password Page
Fig. 6.12 Rules Page
Fig. 6.13 Appear Test Page
Fig. 6.14 User Result Page