ONLINE EXAMINATION
Submitted by:HIJITHMON.S.L
Partial Work done by:
HISHARA.N.S
C.H.M.M. COLLEGE FOR ADVANCED STUDIES
Metca Land, Chavarcode, Palayamkunnu P.O
Thiruvananthapuram
PPROJECT REPORT
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE AWARD OF BSc (COMPUTER SCIENCE) DEGREE OF
UNIVERSITY OF KERALA 2010
C.H.M.M. COLLEGE FOR ADVANCED STUDIES
Metca Land, Chavarcode, Palayamkunnu P.O
Thiruvananthapuram
DEPARTMENT OF COMPUTER SCIENCE
CERTIFICATE
This is to certify that the report on ONLINE EXAMINATION, is a bonafide
record of Project presented by Hijithmon.S.L (Reg.no: 08 801 003) towards partial
fulfillment for the award of the degree in B.Sc. computer Science by the University
of Kerala.
Staff in Charge
Head of the Department
Place : Chavarcode
Date : 26-05-2010
I, Hijithmon.S.L hereby declare that the project work entitled
ONLINE EXAMINATION submitted to Kerala University in partial fulfillment of
the requirements for the award of degree of BSc Computer Science is a record of
the original project work done by during the period of 26
thMay 2010 in CHMM
College For Advanced Studies.
Sign of Candidate
Place : Chavarcode
Date : 26-05-2010
ACKNOWLEDGEMENT
I extend my sincere gratitude towards Prof. SHIJIN.M Head of Department for giving us his invaluable knowledge and wonderful technical guidance
I express my thanks to Mr. SAM RAJ our Computer Lab Instructor and also to our staff advisor Ms. SAJIMOL for their kind co-operation and guidance for preparing and presenting this seminar.
I also thank all the other faculty members of BSc.Computer Science department and my friends for their help and support.
ABSTRACT
While virtual classroom have become reality with the advance of
networking and other technologies the traditional assessment methods still
dominate when it comes to exams. We can take the advantage of internet
technologies to conduct exams so students can enjoy any time anywhere flexibility
as well as maximize their learning.
Online Examination is a complete web application developed in J2EE (JSP
& Servlet) where examination can be done online. It’s a simple but powerful
project having many advanced features. Using this Online Exam system, we can
conduct any type of objective type examinations on line.
The questions are stored in the server database. When the user is ready to
take the exam, then the user id and exam id is passed to the database. Using this
same Question contents are retrieved from the server and displayed on the page
whenever the user requests for a question. On end of the exam, the result will be
displayed. The duration and no of questions per exam are set during exam
configuration time.
There are three wizards in the system configuration Administrator, staff and
candidate. The configuration wizard used in administrator level and can create new
exams, edit existing exams add new subject and user management etc. The staff
wizard can upload the questions and answers in subject wise. The candidate wizard
is the public page, where candidate can register for exams specifying the exam has
to take. All type of configuration such as exam date and time providing questions
answers and other criteria are updated through configuration wizard.
CONTENTS
1. INTRODUCTION
1.1. Project Overview 1.2. Organizational Profile 1.3. J2EE 1.4. MS SQL Server2. SYSTEM ANALYSIS
2.1. Hardware & Software Specification 2.2. Existing System
2.3. Proposed System
2.4. Analysis Modeling & DFD
3. SYSTEM DESIGN
3.2. Output Design 3.3. Database Design 3.4. Process Design 3.5. Architectural Design 3.6. UML Design
4. CODING
4.1. Program Code Preparation 4.2. Program Code
4.3. Code Efficiency
5. SYSTEM IMPLEMENTATION
6. SYSTEM TESTING
7. SYSTEM MAINTENANCE
8. SCOPE OF FUTURE ENHANCEMENT
9. CONCLUSION
10. REFERENCE
1. INTRODUCTION
The First phase of software development is system study analysis. The importance of
system analysis phase is the establishment of the requirements for the system to acquire
developed and installed. Analyzing the project to understand the complexity forms the vital part
of the system study. Problematic areas are identified and information is collected. Fact finding or
gathering is essential to any analysis of requirements. It is also highly essential that the analyst
familiarize himself with the objectives, activities and functions of organizations in which the
system is to be implemented.
System analysis includes investigation and possible changes to the existing system. At
new system. If there is no such existing system then analysis only defines the requirements. This
new system may build a fresh or by changing the existing system. Development begins by
defining a model of the new system and continues this model to a working system. The model of
the system shows what the system must do to satisfy these requirements. Finally data modes are
converted to a database and processed to user procedures and computer programs.
1.1 Project Overview
Online Examination is a complete web application. There are three wizards in the system
configuration: Administrator, staff and candidate. The configuration wizard used in administrator
level and can create new exams, edit existing exams add new subject and user management etc.
The staff wizard can upload the questions and answers in subject wise. The candidate wizard is
the public page, where candidate can register for exams specifying the exam has to take
Application Requirements:
1 The system has three parts, administration, staff and candidate.
2 All type of configuration such as exam date and time providing questions answers and other criteria are updated through configuration wizard.
3 Candidate can register for exam, delete, and edit profile.
4 The administrator can upload the questions in subject wise
6 The question pattern of a particular question should keep changes each and every time the question is selected for display.
7 An inactive candidate should automatically log off from the system.
8 The result of exam will be noticed just after completing the exam.
9 In built Question database for exam question
10 Access anywhere, anytime Application.
11 Exams and questions can be edited and deleted anytime.
User Characteristics:
Every user should be comfortable of working with computer and net browsing. He must
have basic knowledge of English too.
Constraints:
1 GUI is only in English.
2 Overall control goes to Administrator and limited function for Staff.
3 This system is working for single server.
4 There is no maintainability of back up so availability will get affected.
6 The candidate may not go back to previous set of questions for resubmission.
7 Limited to HTTP/HTTPS.
Communication Interface:
8 Client on Internet will be using HTTP/HTTPS protocol.
1.2 Organizational profile
Turbo plus technologies Pvt. Ltd is one of the leading software development companies
in Kerala. It devised a cosmopolitan outlook necessary for the global competition of IT industry.
Allegation of technical expertise, competent software development skills and management
capabilities has enabled it to be an acclaimed software development company. It provides high
quality application development , maintenance reengineering and other IT consulting services to
industry verticals like Retail, Healthcare, E-Commerce Utilities telecommunication, Shipping
and transportation Banking and financial services and manufacturing. Its clients include several
industry market leaders .It offers its employees tremendous opportunities to work on cutting
edge technologies and concepts. The company focuses on business sectors in which it has strong
domain experience, including healthcare transportation and logistics, banking finance and
insurance retail and manufacturing. With a strong focus on corporate values and culture turbo
plus and its employees are committed to long term strategic partnership and providing values
beyond the contract to its customers.
Areas of services:
1 Synergy matrix
3 System Transportation
4 Maintenance outsourcing
5 Testing
6 Consulting
Overview of HTML
HTML is a hypertext markup language. It is the fundamental coding language of the
Internet. The original Internet of the HTML specification was to allow web authors to describe
the structure of a page.
This language is used to layout pages that are capable of displaying all the diverse kinds
of information that the web contains.
A web page is made up of elements each of which is defined by html code or tag. A tag is
always enclosed in angle brackets and most tags come in pair, with open and closing tags. The
Internet is exploded into technological to retrieve information around world.
Overview of JavaScript
On the Client-side in the HTML document Java Scripts are used to enhance web pages in
number of ways.
1 An author can use this script to make sure that the information a user entered into a form would be of proper type. Instead of forcing the server or database to do the data validation.
server work load may increase which slows down its performance.
In early Dec 1995, Netscape and Sun jointly announced the scripting language as
JavaScript. This is related to java in their syntactic ways. The JavaScript is useful in many ways
such as:
1 Distribute small collection of database like information and provide a friendly interface to that data.
2 Control multiple frame navigation, plugs-ins or java applets based on user choices in that HTML document.
3 Data preprocessed on the client before submission to a server.
As a main features of the JavaScript it provides following ones:
1 Mandatory checking - For example in the registration form of the customer the fields marked * near the description should have values when we click the submit button
2 Data-Entry Validation
3 Error Message Alerts - For example error messages such as “something is not a number” can occur when the variable name singled out in this error message is most likely a string value, a null value or no value.
Overview of Ajax
Ajax (Asynchronous JavaScript and XML), or AJAX, is a group of interrelated web
development techniques used for creating interactive web applications or rich Internet
applications. With Ajax, web applications can retrieve data from the server asynchronously in
the background without interfering with the display and behavior of the existing page. Data is
browsers that do not support it. Despite the name, the use of JavaScript, XML, and asynchrony is
not required.
The term Ajax has come to represent a broad group of web technologies that can be used
to implement a web application that communicates with a server in the background, without
interfering with the current state of the page. Ajax refers specifically to these technologies:
• XHTML and CSS for presentation
• The Document Object Model (DOM) for dynamic display of and interaction with data
• XML and XSLT for the interchange and manipulation of data, respectively
• The XMLHttpRequest object for asynchronous communication
• JavaScript to bring these technologies together
Overview of Cascading Style Sheets (CSS)
CSS is a style sheet language used to describe the presentation of a document written in a
markup language. It’s most common application is to style web pages written in HTML and
XHTML, but the language can be applied to any kind of XML document, including SVG and
XUL.
CSS can be used locally by the readers of web pages to define colors, fonts, layout, and
other aspects of document presentation. It is designed primarily to enable the separation of
document content (written in HTML or a similar markup language) from document presentation
(written in CSS). This separation can improve content accessibility, provide more flexibility and
control in the specification of presentation characteristics, and reduce complexity and repetition
more than one rule matches against a particular element. In this so-called cascade, priorities or
weights are calculated and assigned to rules, so that the results are predictable.
1.3 J2EE
JSP
Sun Microsystems released Java Server Pages (JSP) to add server side programming
functionalities to Java. JSP is a server side program that is similar in design and functionality to a
Java Servlet. A client to provide a web service calls it. The nature of which depends on the J2EE
application.
JSP technologies have facilitated the segregation of the work profiles of a web designer
and a web developer. Web designer can design and formulate the layout for the web page by
using HTML. A web developer working independently can use java code and other JSP specific
tags to code for the business logic. The simultaneous construction of the static and dynamic
content facilities the development quality of the application with increased productivity.
A JSP page after compilation generates a servlet and therefore incorporates all servlet
functionalities. Servlet and JSP share common features such as
1 Platform independence.
2 Creation of database driver web applications.
3 Server side programming capabilities.
Servlet
Servlet are java programs that can be deployed on a java enabled web server to enhance
controller which controls the overall functionality of the system. Servlet can be used to develop a
variety of web-based application. As Servlet are written using java, they can make use of the
extensive power of java API, such as networking & URL access, multithreading, database
connectivity, internationalization, RMI and object serialization.
Servlet are efficient: The initialization code for a Servlet is executed only when the
Servlet is executed for the first time. Subsequently, the requests that are received by the
Servlet are processed by its service() method. This helps to increase the efficiency of the
server by avoiding creation of unnecessary processes.
1 Servlet are robust: As Servlet are based on java, they provide all the powerful features of java such as exception handling and garbage collection.
2 Servlets are portable: Servlets are portable because they are developed in java. This enables easy portability across web server.
3 Servlet are persistent: Servlet helps to increase performance of the system by preventing frequent disk access. For Example: If a candidate log on to examination, the candidate can perform many activities such as viewing his profile register for exam etc. The candidate needs to be authenticated by checking for the user_id against the database. Instead of checking for the user_id against database every time, Servlet retain the Id in the servlet container using Http Session concept till the user logs out of the web site.
Java Bean
Java Bean components are not considered as J2EE components by the J2EE
specification. They are written to manage the data flow between an application client or applet
and components running on the J2EE server or between server components and a database. Java
for accessing the data in the instance variables. Java Beans components used in this way are
typically simple in design and implementation, but should conform to the naming and design
conventions outlined in the Java Beans component architecture.
Fig 2.1 Integrated architecture of JSP and Servlets
W e b B r o w s e r J S P J a v a B e a n D B R e q u e s t R e s p o n s e A p p l i c a t i o n s e r v e rE n t e r p r i s e s e r v e r
Apache Tomcat 6.0
The Apache Software Foundation provides support for the Apache community of
open-source software projects. The Apache projects are characterized by a collaborative, consensus
based development process, an open and pragmatic software license, and a desire to create high
quality software that leads the way in its field. Apache is not simply a group of projects sharing
a server, but rather a community of developers and users.
Tomcat is the servlet container that is used in the official reference implementation for
specifications are developed by Sun under the Java Community Process.
1.4 MS SQL Server
Microsoft SQL Server 2000 features include:
1 Internet Integration.
The MS SQL Server 2000 database engine includes integrated XML support. It also has
the scalability, availability, and security features required to operate as the data storage
component of the largest Web sites. The SQL Server 2000 programming model is integrated
with the Windows DNA architecture for developing Web applications, and SQL Server 2000
supports features such as English Query and the Microsoft Search Service to incorporate
user-friendly queries and powerful search capabilities in Web applications.
2 Scalability and Availability
The same database engine can be used across platforms ranging from laptop computers
running Microsoft Windows® 98 through large, multiprocessor servers running Microsoft
Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such
as federated servers, indexed views, and large memory support that allow it to scale to the
performance levels required by the largest Web sites.
3 Enterprise-Level Database Features
The SQL Server 2000 relational database engine supports the features required to support
demanding data processing environments. The database engine protects data integrity while
minimizing the overhead of managing thousands of users concurrently modifying the database.
SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it
support protects the integrity of any updates of the distributed data. Replication allows you to
also maintain multiple copies of data, while ensuring that the separate copies remain
synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them
work autonomously, and then merge their modifications back to the publisher.
1 Ease of installation, deployment, and use.
SQL Server 2000 includes a set of administrative and development tools that improve
upon the process of installing, deploying, managing, and using SQL Server across several sites.
SQL Server 2000 also supports a standards-based programming model integrated with the
Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of
building powerful and scalable systems. These features allow you to rapidly deliver SQL Server
applications that customers can implement with a minimum of installation and administrative
overhead.
2 Data warehousing.
SQL Server 2000 includes tools for extracting and analyzing summary data for online
analytical processing. SQL Server also includes tools for visually designing databases and
analyzing data using English-based questions.
SQL Server Enterprise Manager is a graphical tool that allows for easy, enterprise-wide
configuration and management of Microsoft® SQL Server™ and SQL Server objects.
SQL Server Enterprise Manager provides:
• A scheduling engine.
• Drag-and-drop control operations across multiple servers.
• A built-in replication management interface. We can also use SQL Server Enterprise Manager to:
• Manage logins, permissions, and users.
• Create scripts.
• Manage devices and databases.
• Back up databases and transaction logs.
• Manage tables, views, stored procedures, triggers, indexes, rules, defaults, and user-defined data types.
Databases in MS SQL Server
A database in Microsoft SQL Server consists of a collection of tables with data, and other
objects, such as views, indexes, stored procedures, and triggers, that are defined to support the
activities performed with the data. Before objects within the database can be created, you must
create the database and understand how to change the settings and the configuration of the
database. This includes tasks such as expanding or shrinking the database, or specifying the files
used to create the database.
Tables in MS SQL Server:
Tables are database objects that contain all the data in a database. A table definition is a
collection of columns in the same way a database is a collection of tables. Before data can be
stored in a database, you must understand how to create, modify, and maintain the tables within
your database. This includes tasks such as defining keys and adding or deleting columns from a
BLOB
Blob is a binary large object that can hold a variable amount of data. The four different
blob types are- Tiny Blob, Blob, Medium Blob, and Large Blob. They differ in the length of
values they can hold. This data type is not used in this project. Blob columns are treated as
binary strings (byte strings).Text columns are treated as non-binary strings (character strings).
Blob columns have no character set and sorting and comparison are based on numeric values of
bytes in column values. Text columns have a character set and values are sorted and compared
based on the collation of character set. If a strict SQL model is not enabled and u assign value to
a blob or text column that exceeds the column’s maximum length, the value is truncated .The
blob column value can be regarded as a varbinary column that can be as large as the users need.
1 There is no trailing space removal for blob and text columns when values are stored
2 For indexes on blob we must specify an index prefix length.
3 Blob and text columns cannot have default values.
Tomcat is developed in an open and participatory environment and released under the
Apache Software License. Tomcat is intended to be a collaboration of the best-of-breed
developers from around the world.
Java Database Connectivity (JDBC)
Sun offers a package Java. Sql that allows the Java programs to access relational database
management system. Through this Java database connectivity package, we can connect to
relational database and interact with the database. Many databases serve use vendor –specific
learns the nuts and bolts of the server database. To bridge this gap, Microsoft had developed
ODBC. ODBC provided a common application programmer interface to database clients. Now the
user has to learn only one interface to provide a uniform interface to a host of proprietary
databases. The life became easy for the user of the data and for the front-end developer.
Using JDBC to work with A Database:
Establish a connection between Java program and the database manager. Send a SQL
statement to the database by using the statement object. Read the results and use them in the
program.
Working With the Driver Manager:
In order to establish a connection with database the Java runtime environment must load
the driver for the specified database. The DRIVER MANAGER class is responsible for loading
and unloading devices.
Loading Drivers:
A database vendor typically writes JDBC driver’s era, they accept JDBC connection and
statements from one side and issue native calls to the databases from the other. Some database
vendors haven’t yet written JDBC drivers, but they have drivers that confirm to confirm to a
Microsoft standard-ODBC. The following code pre-loads a JDBC-ODBC bridge.
try {
Class forName (‘sun.jdbc.odbc.jdbcodbcDriver’);
} catch (ClassNotFoundException e){};
Using the Connection Class:
Once the driver has registered with the Driver Manager we can use it to connect it to the
database. Tell the Driver Manager that we want to connect to make a new connection. It will
location of the database, and for many database we will need the same user name and password.
For e.g. we can write:
Connection con=DriverManager.getConnection (“jdbd: odbc: datasource_name”);
When the Driver Manager gets a get connection () request, it takes the JDBC URL and
passes it to each registered driver in turn. The first driver recognizes the URL and says that it can
connect to establish the connection.
Using the Statement Object:
The connection class produces the statement using a method Create statement (). We can
use a statement object to hold the SQL statement. When we send statement object to the database
over the Connection, the database runs our SQL and returns a result set write code like this
example:
ResultSet rs=the Statement.executequery (“select * from payment”);
Handling the ResultSet
The Result Set class itself functions as a SQL cursor, allowing us to step through the data
from a SELECT statement one row at a time. To advance from one row to the next () Sun has
provided getType () methods for all the primitive types that SQL can store
JDBC provides a common database programming API for Java programs. It was
developed by Sun Microsystems. JDBC drivers are used to integrate the database servers to
receive the result from them. Database clients using JDBC send SQL statements to the database
servers and get the response from the servers. The database servers behave in the similar fashion
as the query has been received from the local client attached physically with the server.
The JDBC API specification is a “two-way street” not only does it define how the
be written in order to preserve interoperability.
Open Data Base Connectivity (ODBC)
ODBC provides the universal database connectivity Application Programming Interface
(API) that ensures application to access data in a wide range of proprietary databases. To use
Microsoft ODBC driver for Oracle, weaned Windows 95 or windows 98 and Oracle Client
Software install in the window System. A data source identifies a path to data that may include a
network library, server, database and other attributes. In order to connect to a data source, the
Driver Manager checks the Window registry for specific connection information. The Registry
entry created by ODBC Data Source Administration is used by the ODBC Drivers. This entry
contains information about each data source and its associated drivers. Open Database
Connectivity is a standard developed by Microsoft in order to simplify the development
applications that need to be independent of database platforms.
2. SYSTEM ANALYSIS
2.1. Hardware & Software Specification
Hardware Requirements
The selection of hardware is very important in the existence and proper working of any software. When selecting hardware, the size and capacity requirements are also important.
Requirement Client side Server side
Processor Intel Pentium II/AMD Processor Running at 133 MHz
Intel Pentium IV Processor running at 1 GHz
Hard Disk 10 GB 20GB
RAM 128MB 512MB
Requirements for Peak Performance
Requirement Client side Server side
Processor Intel Pentium IV /AMD Processor Running at 1 GHz
Intel Pentium IV /AMD Processor Running at 3 GHz Hard Disk 20GB 40GB
RAM 512MB 2GB
General
1. Display Type : VGA/SVGA/LCD Monitor 2. Keyboard : Enhanced 104 Standard 3. Mouse : PS/2 2 Button
Software Specification
Technology Tools and respective versions
Programming language J2EE 1.6 Integrated Development Environment (IDE) Net Beans 6.0
Client Tier HTML, Ajax, Java Script, CSS Presentation Tier JSP, Servlet
Database Microsoft SQL Server 2000 Web Server Tomcat Server 6.0
2.2. Existing System
Now there exist some discreet systems that help the users with minimal functionality. If it
is manual then involves lot of paper work and chances of error are high. If it is automated it
doesn’t include many features. Most systems don’t include the feature that allows instructors to
randomize the delivery of questions during an exam. Obviously they have features but lack some
other.
Limitations of Existing System
1 Difficulty in question uploads.
2 Result making is Tedious
3 Unavailability Question bank
4 No facility for randomization of Questions
5 Lack of Security
6 Time consuming.
Requirements for new System
New System has to nullify all the problems of existing system. First of all have to
minimize manual effort as much as possible. Due to reducing manual intervention security must
be cared very much. Reports are the another one important aspect, in existing whole process
done manually so there are lots of paper works, so not much difficult to create result in the
existing system. Online result generation must be more perfect and useful than existing system.
User interface have to design user friendly manner, because the user is not much know about the
system. Response for the user request should be fast only by that working of this new system
Requirements in short:
1 Fully automated web based examination software.
2 More user friendly
3 High security
4 Question banks are used.
5 Customized Exam Settings.
6 Centralized administrator controls
7 Register students online
2.3. Proposed System
Existing system has many disadvantages and all this demerits are nullified by proposed
system. Proposed system is a web application in which we can conduct exams view results
online. The system holds a central database for questions. It also stores the details about
examination and candidates. Examination Facility will be the primary objective.
Features of Proposed System
1 Customized Exam Settings: Examination date, time, duration and no. of
questions can be done while setting exam
2 Question data Bank: All questions for a particular exam are retrieved from a
question data bank.
3 Questions and options are generated randomly: After selecting questions for
particular exam, the order of questions for each candidate will be in random.
5 Online Results: Candidates can view their results after completing exam.
6 Easy use of Interface.
2.4. Analysis Modeling
At a technical level, software engineering begins with a series of modeling that lead to
complete specification of requirements and comprehensive design representation for the software
to be built. The analysis model, actually a set of models is the technical representation of a
system. Most important methods proposed for analysis modeling are structured analysis and
object-oriented analysis. In structured analysis, we create models that depict information content
and flow. We partition the system functionally and behaviorally and we depict the essence of
what must be built. This method relies on data modeling to create the basis for a comprehensive
model.
At the core of analysis model lies the data dictionary the repository that contains
description of all data objects consumed or produced by the software. Entity relationship and
dataflow diagram surround the core of the model. The model consists of 3 inter related pieces of
information: the data objects, the attributes that describes the data objects to another. A data
object is a representation of any composite information that must be understood by the software.
These basic elements provide the basis for understanding the information domain of a problem.
Data Flow Diagrams
The Data Flow Diagrams are the main process-modeling tool for information systems.
DFDs represent a situation from the viewpoint of the data and they are a technique to assist the
analysis of processes in the system. A DFD graphically document the boundaries of a system,
information flows within the system thereby aiding communication between users and
developers.
The DFDs may be used to represent a system or software at any level of abstraction.
They can be partitioned into different levels representing the increasing information flow and
functional details. DFDs thus provide a mechanism for functional modeling as well as
information flow modeling. The top level or level 0 DFD known as Context Diagram consist of a
single process which describes the system at the highest level of abstraction. The further levels
showing more details are depicted by level 1, level 2 etc.
The DFDs of our system are shown below:
Context Level Diagram for Exam System
A d m i n i s t r a t o r S t a f f C a n d i d a t e O n l i n e E x a m i n a t i o n S y s t e m L o g i n L o g i n L o g i n A d m i n i s t r a t o r S t a f f C a n d i d a t e I n f o r m a t i o n I n f o r m a t i o n I n f o r m a t i o n
A d m i n i s t r a t o r S t a f f C a n d i d a t e L o g i n S i g n U p O n l i n e E x a m i n a t i o n D a t a b a s e U s e r n a m e , P a s s w o r d U s e r n a m e , P a s s w o r d U s e r n a m e , P a s s w o r d N e w U s e r
Level 2 Diagram for Administrator
A d m i n i s t r a t o r E x a m s e t i n g s L o g i n Q u e s t i o n G e n e r a t i o n U s e r M a n a g e m e n t A d d / E d i t S u b j e c t
S t a f f L o g i n U p l o a d Q u e s t i o n E d i t Q u e s t i o n Q u e s t i o n
Level 2 Diagram for Candidate
3. SYSTEM DESIGN
System design is the process of developing specifications for a candidate system that
meet the criteria established in the system analysis. Major step in system design is the
preparation of the input forms and the output reports in a form applicable to the user.
The main objective of the system design is to use the package easily by any computer
operator. System Design is the creative act of invention, developing new inputs, a database,
offline files, method, procedures and output for processing business to meet an organization
objective. System design builds information gathered during the system analysis.
3.1 INPUT DESIGN
C a n d i d a t e L o g i n E x a m V i e w Q u e s t i o n R e s u l tInput design is the process of converting the user-originated inputs to a computer-based
format. The design for handling input specifies how data are accepted for computer processing.
Input design is a part of overall system design that needs careful attention and if includes
specifying the means by which actions are taken. A system user interacting through a
workstation must be able to tell the system whether to accept input produce a report or end
processing. The collection of input data is considered to be the most expensive part of the system
design. Since the inputs have to be planned in such a manner so as to get the relevant
information extreme care is taken to obtain the information. If the data going into the system is
incorrect then the processing and outputs will magnify these errors. The major activities carried
out are
1 Collection of needed data from the source
2 Conversion of data into computer accepted from
3 Verification of converted data
4 Checking data for accuracy
The following are the major input screens used for Online Examination application:
Login Screen : used for providing user id and password. Registration form : used for storing the details of different users.
Add Exam form : The input screen used to add various examination details. Edit Exam form : The input screen used to edit examination details.
Create Question form : used by Admin to set up question for a particular exam. Upload Question form : used by staff to upload question.
Add Subject form : used by the Admin to add the subjects.
3.2 OUTPUT DESIGN
The output design has been done so that the results of processing should be
communicated to the user. Effective output design will improve the clarity and performance of
outputs. Output is the main reason for developing the system and the basis on which they will
evaluate the usefulness of the application.
Output design phase of the system is concerned with the Convergence of information to the end user - friendly manner. The output Design should be efficient, intelligible so that system relationship with the end user is improved and there by enhancing the process of decision making.
Exam Info form : This output screen enables the administrator to view details of
Examination
Exam form : This output screen enables the user to take exam.
Result form : This output screen enables the Candidates to view result.
3.3 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. Database Management System allows
data to be protected and organized separately from other resources. Database is an integrated
collection of data. This is the difference between logical and physical data.
List Of tables
1 user 2 examinfo 3 question
4 answer 5 examqn 6 subject 7 result
Table 1: User
Purpose: To store Candidates appearing in exam.
Field Name Data Type Size Constraint Description
userid varchar 50 Primary Key User id username varchar 50 User name passwd varchar 50 Password
eid int 4 Exam id
Table 2: Question
Purpose: To store Questions (Question Bank).
Field Name Data Type Size Constraint Description
qid int 4 Primary Key Question id question varchar 200 Question opt1 varchar 100 Option 1 opt2 varchar 100 Option 2 opt3 varchar 100 Option 3 opt4 varchar 100 Option 4 sid int 4 Foreign Key Subject id
Table 3: Answer
Purpose: To store Answers.
Field Name Data Type Size Constraint Description
qid int 4 Primary Key Question id answer varchar 100 Answer
Table 4: Examqn
Purpose: To store Questions for a particular exam.
Field Name Data Type Size Constraint Description
qno int 4 Primary Key Question number question varchar 200 Question
opt1 varchar 100 Option 1 opt2 varchar 100 Option 2 opt3 varchar 100 Option 3 opt4 varchar 100 Option 4 qid int 4 Foreign Key Question id eid int 4 Foreign Key Exam id
Table 5: subject
Field Name Data Type Size Constraint Description
sid int 4 Primary Key subject id subject varchar 100 Subject
Table 6: Exam info
Purpose: To store Exam details.
Field Name Data Type Size Constraint Description
eid int 4 Primary Key Exam id title varchar 50 Exam Title datetime smalldatetime 4 Date & Time hour smallint 2 Duration minute smallint 2 Duration
noq int 4 No. of Questions
Table 7: Result
Purpose: To store Results.
Field Name Data Type Size Constraint Description
qid int 4 Primary Key Question id answer varchar 100 Answer
3.4 PROCESS DESIGN
The processes involved in Online Examination are:
1. Administrator Module
Administrator has the overall control of the system. The main functions are create examination, question generation and user management.
2. Staff Module
Staff simply upload question using upload form.
3. User Module
User has to register first in order to take exam.
4. Getting Exam
Registered users can logon to Exam by providing user id and password
3.5 ARCHITECTURAL DESIGN
Model-view-controller
Model-view-controller (MVC) is an architectural pattern used in software engineering.
Successful use of the pattern isolates business logic from user interface considerations, resulting
in an application where it is easier to modify either the visual appearance of the application or
the underlying business rules without affecting the other. In MVC, the model represents the
information (the data) of the application and the business rules used to manipulate the data, the
the controller manages details involving the communication to the model of user actions such as
keystrokes and mouse movements.
As an architectural pattern
MVC is often seen in web applications, where the view is the actual JSP page, and the
controller is the code that gathers dynamic data and generates the content within the JSP. Finally,
the model is represented by the actual content, usually stored in a database or in XML nodes, and
the business rules that transform that content based on user actions.
Though MVC comes in different flavors, control flow generally works as follows:
1. The user interacts with the user interface in some way (e.g. presses a button).
2. A controller handles the input event from the user interface.
3. The controller notifies the model of the user action, possibly resulting in a change in the model's state.
4. A view uses the model (indirectly) to generate an appropriate user interface. The view gets its own data from the model. The model has no direct knowledge of the view.
5. The user interface waits for further user interactions, which begins the cycle anew.
Here a controller handles the user request instead of another JSP. The controller is implemented as a Servlet. The following steps are executed when the user submits the request.
1. The Controller Servlet handles the user’s request. (This means the hyperlink in the JSP should point to the controller servlet).
2. The Controller Servlet then instantiates appropriate JavaBeans based on the request parameters (and optionally also based on session attributes).
with the middle tier or directly to the database to fetch the required data.
4. The Controller sets the resultant JavaBeans (either same or a new one) in one of the following contexts – request, session or application.
5. The controller then dispatches the request to the next view based on the request URL.
6. The View uses the resultant JavaBeans from Step 4 to display data. Note that
there is no presentation logic in the JSP. The sole function of the JSP in Model 2
architecture is to display the data from the JavaBeans set in the request, session or
application scopes.
Advantages of MVC Architecture
With MVC you can have as many controller servlets in your web application. In fact you
can have one Controller Servlet per module. However there are several advantages of having a
single controller servlet for the entire web application. A single controller servlet for the web
application lets you centralize all the tasks in a single place leads to elegant code and easier to
maintain.
3.6 UML DESIGN
The Unified Modeling Language (UML) is a standard language devised for use in
object-oriented analysis and design. The UML can be used to visualize, specify, construct and
document the artifacts of a software-intensive system. The three main elements of the language
are: UML’s basic building blocks, the rules that dictate how these blocks may be put together
and the common mechanisms that apply throughout the UML.
connected graph of vertices and arcs. Several kinds of diagrams can be created using the UML.
UML design includes
1 Use Case Diagram
2 Sequence Diagram
3 Activity Diagram
4 Class Diagram
USE CASE DIAGRAMS
Use Case diagrams identify the functionality provided by the system (use cases), the
users who interact with the system (actors), and the association between the users and the
functionality. Use Cases are used in the Analysis phase of software development to articulate
the high-level requirements of the system. The primary goals of Use Case diagrams include:
1 Providing a high-level view of what the system does
2 Identifying the users ("actors") of the system
3 Determining areas needing human-computer interfaces
Use Cases extend beyond pictorial diagrams. These are used for modeling the dynamic aspects of the system.
Use Case Diagram Components
1 Use Case - Use cases are drawn using ovals. These ovals are labeled with verbs
that represent the system's functions.
3 Actors - Actors are the users of a system.
4 Relationships -Illustrates relationships between an actor and a use case with a
simple line.
Fig.3.6.1 Use Case – System Administrator
Q u e s t i o n c r e a t i o n U s e r M a n a g e m e n t l o g o u t l o g i n E x a m S e t t i n g A d d / R e m o v e S u b j e c t s A d m i n i s t r a t o r
Fig.3.6.2 Use Case – Staff U s e r M a n a g e m e n t l o g o u t l o g i n E x a m S e t t i n g S t a f f
Fig.3.6.3 Use Case – Candidate
E x a m
l o g o u t l o g i n
R e g i s t e r
ACTIVITY DIAGRAMS
An activity diagram is a special kind of diagram that shows the flow from activity to
activity within a system. Activity diagrams address the dynamic view of a system. They are
especially important in modeling the function of a system and emphasize the flow of control
among objects. An activity is an ongoing monatomic execution within a state machine.
Activities ultimately result in some action that is made up of executable atomic computations
that result in a change in state of the system or a return of a value.
Activity Diagram Components
1 Activity states and action states – action states are executable atomic computations.
They are the states of a system each representing the execution of an action. Action states
are atomic i.e., events may occur but the work of the action state is not interrupted.
Activity states are not atomic i.e., they may be interrupted and they take some time to
complete. An action state is a special case of an activity state.
2 Transitions – they represent the path from one action or activity state to the next action
or activity state. It is denoted by a simple directed line.
3 Objects – objects can also be involved in the flow of control associated with an activity
diagram. Not only the flow of an object through the activity diagram, but how its role, state
and attribute values change can also be depicted.
Fig.3.6.4 Login Activity: d i s p l a y l o g i n f o r m E n t e r u s e r - i d p a s s w d & s u b m i t O b t a i n r o l e D i s p a l y S t a f f p a g e D i s p l a y C a n d i d a t e p a g e D i s p l a y A d m i n i s t r a t o r p a g e D i s p l a y E r r o r M e s s a g e n o y e s v a l i d ? r o l e ? S t a f f C a n d i d a t e A d m i n i s t r a t o r
Fig.3.6.5 Register Activity:
d i s p l a y r e g i s t r a t i o n f o r m
E n t e r d e t a i l s & s u b m i t D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f y d e t a i l s n o y e s v a l i d ?Fig.3.6.6 Exam setting Activity:
d i s p l a y s e t t i n g s f o r m
E n t e r E x a m d e t a i l s & s u b m i t D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f y d e t a i l s n o y e s v a l i d ?Fig.3.6.7 User management
U
s e r m
a n a g e m
e n t f o r m
E d i t d e t a i l s & s u b m i t D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f y d e t a i l s n o y e s v a l i d ?Fig.3.6.8 Question Upload activity Q u e s t i o n U p l o a d f o r m E n t e r Q u e s t i o n & C h o i c e s D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f i c a t i o n n o y e s v a l i d ? m a r k a n s w e r m o r e ? n o y e s
Fig 3.6.9 Edit Question activity D i s p l a y Q u e s t i o n E d i t Q u e s t i o n & C h o i c e s D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f i c a t i o n n o y e s v a l i d ? m a r k a n s w e r m o r e ? n o y e s
Fig 3.6.10 Create Exam Question activity d i s p l a y e x a m s C h o o s e E x a m D i s p l a y E r r o r m e s s a g e D i s p l a y " S u c c e s s s f u l " V e r i f i c a t i o n n o y e s v a l i d ? S e l e c t Q u e s t i o n s
CLASS DIAGRAMS
A class diagram shows a set of classes, interfaces and collaborations and their
relationships. Class diagrams address the static design view of a system. Class diagrams that
include active classes address the static process view of a system.
Class Diagram Components
1 Classes
2 Interfaces
3 Collaborations
4 Relationships
Fig. 3.6.11. Class Diagram
Q u e s t i o n e i d : i n t q u e s t i o n : S t r i n g o p t 1 : S t r i n g o p t 2 : S t r i n g o p t 3 : S t r i n g o p t 4 : S t r i n g g e t Q u e s t i o n ( ) : Q u e s t i o n s e t Q u e s t i o n ( ) : v o i d S u b j e c t s i d : i n t s u b j e c t : S t r i n g s e t S u b j e c t ( ) : v o i d g e t S u b j e c t ( ) : s u b j e c t L o a d Q u e s t i o n q u e s t i o n : Q u e s t i o n s t a t e : b o o l e a n g e t S t a t e ( ) : b o o l e a n E x a m Q u e s t i o n q n o : i n t q u e s t i o n : S t r i n g o p t 1 : S t r i n g o p t 2 : S t r i n g o p t 3 : S t r i n g o p t 4 : S t r i n g q i d : i n t e i d : i n t g e t Q u e s t i o n ( ) : Q u e s t i o n s e t Q u e s t i o n ( ) : v o i d S a v e Q u e s t i o n q u e s t i o n : Q u e s t i o n a n s w e r : A n s w e r s u b : S u b j e c t g e t S t a t e ( ) : b o o l e a n A n s w e r q i d : i n t a n s w e r : S t r i n g s e t A n s w e r ( ) : v o i d g e t A n s w e r ( ) : A n s w e r
SEQUENCE DIAGRAMS
It is a kind of an interaction diagram. An interaction diagram shows an interaction.
Sequence diagrams describe interactions among classes in terms of an exchange of messages
over time i.e. it emphasizes the time-ordering of messages.
Sequence Diagram Components
1 Class roles – Class roles describe the way an object will behave in context. The UML
object symbol can be used to illustrate class roles, but not for listing object attributes.
2 Activation – Activation boxes represent the time an object needs to complete a task.
3 Messages – Messages are arrows that represent communication between objects.
Half-arrow lines are used to represent asynchronous messages. Asynchronous messages are sent
from an object that will not wait for a response from the receiver before continuing its
tasks.
4 Lifelines – Lifelines are vertical dashed lines that indicate the object's presence over
time.
5 Destroying Objects – Objects can be terminated early using an arrow labeled "< <
destroy > >" that points to an X.
6 Loops – A repetition or loop within a sequence diagram is depicted as a rectangle. Place
Fig.3.6.12 Login Sequence: u s e r < a c t o r >L o g i n f o r m C a n d i d a t eE x a m f o r m u s e r i d , p a s s w o r d v a l i d a t e ( u s e r i d , p a s s w o r d ) e r r o r e r r o r m e s s a g e g e t E x a m ( u s e r i d ) s t a r t E x a m ( u s e r i d , e x a m i d ) d i s p l a y e r r o r e r r o r m e s s a g e
4. CODING
4.1. Program Code preparation
Overview
When considered as a step in software engineering, coding is viewed as a natural
consequence of design. However, programming language characteristics and coding style can
profoundly affect software quality and maintainability.
The coding step translates a detail design representation into a programming language
realization. The translation process continues when a compiler accepts source code as input and
produces machine-independent object code as output. The initial translation step in detail design
to programming language is a primary concern in the software engineering context. Improper
interpretation of a detail design specification can lead to erroneous source code.
Style is an important attribute of source code and can determine the intelligibility of a
program. The elements of a style include internal documentation, methods for data declaration,
procedures for statement construction, and I/O coding and declaration. In all cases, simplicity
and clarity are key characteristics. An offshoot of coding style is the execution time and/or
memory efficiency that is achieved.
Coding is the phase in which we actually write programs using a programming language.
In the coding phase, design must be translated into a machine readable form. If design is
performed in a detailed manner, coding can be accomplished mechanistically. It was the only
recognized development phase in early or unsystematic development processes, but it is just one
of several phases in a waterfall process. The output of this phase is an implemented and tested
4.2. Program code
/*
SQLyog Community Edition- MySQL GUI v8.14 MySQL - 5.1.34-community : Database - exam
********************************************************************* */
/*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`exam` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `exam`;
/*Table structure for table `examinfo` */ DROP TABLE IF EXISTS `examinfo`; CREATE TABLE `examinfo` (
`eid` int(2) unsigned NOT NULL DEFAULT '0', `title` varchar(45) DEFAULT NULL,
`edate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `duration` time DEFAULT NULL,
`qlist` varchar(200) DEFAULT NULL, PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Data for the table `examinfo` */
insert into `examinfo`(`eid`,`title`,`edate`,`duration`,`noq`,`qlist`) values (1,'cc','2010-02-02 11:33:00','09:33:00',3,'3,5,6');
/*Table structure for table `qnbank` */ DROP TABLE IF EXISTS `qnbank`; CREATE TABLE `qnbank` (
`qid` int(10) unsigned NOT NULL AUTO_INCREMENT, `question` varchar(1000) NOT NULL,
`opt1` varchar(200) NOT NULL, `opt2` varchar(200) NOT NULL, `opt3` varchar(200) NOT NULL, `opt4` varchar(200) NOT NULL, `answer` varchar(200) NOT NULL, `subject_name` varchar(45) NOT NULL, PRIMARY KEY (`qid`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1; /*Data for the table `qnbank` */
insert into
`qnbank`(`qid`,`question`,`opt1`,`opt2`,`opt3`,`opt4`,`answer`,`subject_na me`) values (3,'A 2MB PCM(pulse code modulation) has','32 channels','30 voice channels & 1 signaling channel','31 voice channels & 1 signaling
channel','32 channels out of which 30 voice channels, 1 signaling channel, & 1 Synchronization channel','31 voice channels & 1 signaling
channel','Computer'),(5,'Max number of satellite hops allowed in voice communication is :','only one','more han one','two hops','four hops','two hops','Computer'),(6,'What is the max. decimal number that can be
accommodated in a byte ?','128','256','255','512','255','Computer'),
(7,'Conditional results after execution of an instruction in a micro processor is stored in','register','accumulator','flag register','flag register part of
PSW(Program Status Word)','flag register part of PSW(Program Status Word)','Computer'),(8,'Frequency at which VOICE is sampled is','4 Khz','8 Khz','16 Khz','64 Khz','16 Khz','Computer'),(9,'Line of Sight is','Straight
other','none','Tx & Rx should be visible to each other','Physics'),(10,'Purpose of PC(Program Counter) in a MicroProcessor is','To store address of TOS(Top Of Stack)','To store address of next instruction to be executed','count the number of instructions','to store base address of the stack','To store address of next instruction to be executed','Computer'),(11,'What action is taken when the processor under execution is interrupted by a non-maskable interrupt?','Processor serves the interrupt request after completing the execution of the current instruction','Processor serves the interrupt request after completing the current task','Processor serves the interrupt request immediately','Processor serving the interrupt request depends upon the priority of the current task under execution','Processor serves the interrupt request immediately','Computer'),(12,'The status of the Kernel
is','task','process','not defined','none of the above','process','Computer'), (14,'Max number of satellite hops one','two hops','four hops','four
hops','Computer');
/*Table structure for table `tbl_user` */ DROP TABLE IF EXISTS `tbl_user`; CREATE TABLE `tbl_user` (
`uid` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_name` varchar(45) DEFAULT NULL,
`login_name` varchar(45) DEFAULT NULL, `passwd` varchar(45) DEFAULT NULL, PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; /*Data for the table `tbl_user` */
insertinto`tbl_user`(`uid`,`user_name`,`login_name`,`passwd`,`utype`,`eid` )values(1,'administrator','admin','admin','admin',1),
(5,'dd','dd2','dd','candidate',1),(6,'Deepak','Deepak6','deepak','candidate',1); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
4.3. Code Efficiency
Usage of Java & J2EE technology tends to trade expediency for efficiency. Coding in
this project is done in such a better way, which means it is not the most efficient code possible.
However, as stated, for the intended purpose the performance attributes are considered adequate.
The only efficiency considered so far as code is concerned that makes sense is the
efficiency in generating code (i.e. coding productivity). The need for making code compact and
concise may be countered productive when maintenance is undertaken.
Using Java as the programming platform allows efficient coding in as much as low level
SDK do not need to be written. However, as stated, for the intended purpose the performance
attributes are considered adequate. Structured error handling capabilities, Powerful unified
Integrated Development Environment (IDE). Integration with other languages such as C++ etc
improve efficiency of code developed using Java. In any case of future enhancement to a
web-based application, the modularized object oriented approach helps to use the same code with
5. SYSTEM IMPLEMENTATION
Implementation Plan
Implementation is an activity that is contained throughout the development phase. It is
the process of bringing a developed system into operational use and turning it over to the user.
The new system and its components are to be tested in a structured and planned manner. A
successful system should be delivered and users should have the confidence that the system
would work efficiently and effectively. The more complex the system being implemented the
more involved will be the system analysis and design effort required for implementation.
Implementation is the stage of the system when the theoretical design is turned into
working system. The implementation involves careful planning investigation of the current
system and its constraints on implementing, design of methods to achieve the change over,
training of user over procedure and evaluation change over method.
There are three types of implementation:
1 Implementation of a computer system to replace a manual system. The problems encountered are converting files, training users, creating accurate files, and verifying printouts for integrity.
2 Implementation of a new computer system to replace an existing one. This is usually a difficult conversion. If not properly planned, there can be many problems. Some larger computer systems have taken as long as a year to convert.
same computer. This type of conversion is relatively easy to handle, provided there are no major changes in files.
4
6. SYSTEM TESTING
Testing is the penultimate step of software development. An elaborate testing of data is
prepared and the system is using test data. While doing testing, errors are noted and correction is
made. The users are trained to operate the developed system .Both hardware and software
securities are made to run the developed system successfully.
System testing is aimed at ensuring the system works accurately before live operation
commences. Testing is vital to the system. System testing makes a logical assumption that if all
parts of the system are correct, the goal will be successfully achieved. The candidate system is
subjected to a verity of tests: Online Response, Volume, Stress Recovery & Security and Usable
tests. A series of testing are performed for the proposed system before the system is ready for
user acceptance testing. Nothing is complete without testing, as it is vital success of the system.
The entire testing process can be divided into 3 phases
1 Unit Testing
2 Integration Testing
3 Final/ System testing
6.1. UNIT
TESTING
Unit testing focuses verification effort on the smallest unit of software designs the
outputs to the given inputs. All Validations and conditions are tested in the module level in the
unit test .Control paths are tested to ensure the information properly flows into, and out of the
program unit and out of the program unit under test. Boundary condition is tested to ensure that
the modules operate at boundaries. All independent paths through the control structure ensure
that all statements in a module have been executed at- least once.
6.2. BLACK BOX TESTING
This testing method focuses on the functional requirements of the software. It attempts to
find out the error of the following categories such as incorrect and missing functions, interface
error, error in data structure, performance error and initialization and termination errors.
6.3. WHITE BOX TESTING
This testing method is also called path testing. It is a test case design method that uses the
control structure of the procedural design to drive test case. In this system, Unit testing has been
successfully handled. The test data was given to each and every module in all respects and got
the desired output. Each module has been tested found working properly.
6.4. INTEGRATION TESTING
The major concerns of integration testing are developing an incremental strategy that will
limit the complexity of entire actions among components as they are added to the system.
Developing a component as they' are added to the system, developing an implementation &
integration schedules that will make the modules available when needed, and designing test
cases that will demonstrate the viability of the evolving system, Though each program works
individually, they should work after linking them together. Data may be lost across interface and
desired function expected by the main routine. Integration testing is a systematic technique for
constructing program structure while at same time, conducting test to uncover errors associated
with the interface .In the testing, the programs are constructed and tested in small segments.
6.5. DATA VALIDATION TESTING
Data validation is done to see whether the corresponding entries made in the tables are
correct. Proper validations are done in case of insertion and updating of tables. If any such case
arises, then proper error messages or warning, if any, has to be displayed.
THE DIFFERENT TEST CASES ARE:
1 Guarantee that all independent parts within a module have been exercised at least once.
2 Exercise all logical decision on their true / false side.
3 Exercise all loops at their boundaries and within their operational bounds. 4 Exercise internal data structure to ensure their validity.
5 Each module was tested and the tested modules were linked and integration test was carried out.
6.6. PASSWORD TESTING
The login process is tested with some separate login trials. Password is mainly meant for security. Incorrect will be screened .Also already created passwords won't be allowed to use again.
TEST DATA
The system analyst will provide the test data, specially designed to show that the system
will operate successfully in all its aspects and produce expected results under expected
conditions. Preparation of test data and the checking of results should be carried out in