You are on page 1of 38

Chapter-1

INTRODUCTION

1.1 Introduction

This application is an online tool for Online Examination. “Online Quiz System” reduces the
paper-work when an objective question answer type examination is to be held. The user can
test his/her knowledge in a particular field by this application. User can play the quiz in very
user friendly interface environment. Administrator can manage all the questions, which are to
be posted in this application.

This “Online Quiz System” will use the internet as the method for conducting the examination
online, so that system can itself be able to calculate the score of the user which is playing that
examination. The examination will be personalized, because there are many categories in
which a user can appear for the examination, and there are several difficulty levels also, based
on the experience of the user in the particular field. This, in brief, is a description of our product
which will showcase a complete online examination experience in a small package.

1.2 Scope

Today the internet and its boom have created a new economic scenario that not only stresses
on the classical concept of the “product” but also on the modern concept of “service”. It is this
level of service that dictates whether a commercial venture will succeed or not in the market.
To provide a high accessibility of service we will design the website of examination so that it
supports online examination concept, so that potential user can check his/her knowledge
stamina in any field. They just need to online to complete their test.

As people become more accustomed to using the internet, they view tests online and this
procedure as a time-saving and cost-saving experience, which is the very essence of our
“Online Quiz System”.

1.3 Introduction to PHP

PHP, three letters that together constitute the name of one of the world’s most popular
programming languages for Web development, the PHP Hypertext Pre-processor and while
you might chuckle at the geekiness of the recursive acronym, statistics indicate that PHP is not
be taken lightly: the language is today in use on over twenty million web sites and more than
a third of the world’s web servers—no small feat, especially when you consider that the
language has been developed entirely by a worldwide community of volunteers and is freely
available on the Internet at no cost whatsoever.

1
PHP code can be simply mixed with HTML code, or it can be used in combination with
various template engines and web frameworks. PHP code is usually processed by a
PHP interpreter, which is usually implemented as a web server's native module or a Common
Gateway Interface (CGI) executable. After the PHP code is interpreted and executed, the web
server sends resulting output to its client, usually in form of a part of the generated web page –
for example, PHP code can generate a web page's HTML code, an image, or some other data.

PHP has also evolved to include a command-line interface (CLI) capability and can be used
in standalone graphical applications.

1.4 Introduction to HTML

HTML5 syntax is compatible with both HTML4 and XHTML1. In HTML4 or XHTML, you
probably would have used divs, classes and ids to group each of those areas. You can and
should still use divs, classes and ids for styling reasons, but they may no longer be as necessary
as before for structural purposes. Some documents may be able to get by without them
completely, while most will probably still need them for styling. But again, for the purposes
of learning the quick facts to create a simple HTML5 document, let's keep this really basic.

Here's a simple way to code a very basic document that contains a top header, a menu for
navigation, a content section that contains a couple of articles, a sidebar, and a footer in
HTML5. As you can see, the structure is fairly simple, and you can style these new structural
elements in the CSS. However, because you may have some of these structural elements within
different groupings on a page (such as several sections having different headers and footers),
you may want to style each differently. In that case, you can still assign ids and classes just as
you would in HTML4 or XHTML.

The point of the structural elements is to designate structure after all; presentation is dealt with
in the CSS in whatever manner works best for you, using ids and classes. HTML5 comes with
other interesting elements such as the video and audio elements, plus new and changed
elements and attributes, but all of those belong in a separate cheat sheet.

1.5 Introduction to CSS

With CSS, you can design gorgeous and highly effective Web sites. CSS offers power and
flexibility to Web site developers and designers. CSS does several useful things, but one of the
most important is to help you design much more attractive packages to hold your Web page
contents. CSS allows you to separate presentation from content when building a Web site. Put
another way, HTML itself is rather limited in what it can effectively display. Its fine for holding
or describing content (such as a paragraph of text), but the appearance of raw HTML Web
pages isn’t very stylish. With HTML, you often can’t find an easy way — or any way at all —
to display the content so that it looks really good when someone views it in a browser. Using
CSS techniques, you can often make your site much more attractive, and at the same time,
2
enforce style rules that help unify the entire site’s appearance across all its pages. CSS also
improves efficiency by allowing you to separate content from the styles that control the
content’s appearance. You can describe your CSS styles in the header section of a Web page
thereby moving them up and out of the HTML code. Or you can even put your CSS style rules
in entirely separate files. A Web page’s HTML resides in one file. It merely includes a link
specifying the location of the independent CSS file that contains the style rules. If you’re a
designer working on a Web page with a programmer, it’s more efficient for you to separate
your code from the programmer’s HTML or script code. A designer can work on an external
CSS style sheet, rather than wading through the programmer’s HTML files and trying to
manage style attributes embedded within the HTML code. The HTML programmer will
appreciate this, and so will you, the CSS designer. No more stepping on each other’s toes.

1.6 Introduction to JavaScript

JavaScript was first created and introduced to the world in 1995, by a developer named
Brendan Eich at Netscape Communications Corporation. He named his programming language
LiveScript, but the powers that were at Netscape renamed it JavaScript. The Java programming
language was wildly popular at that time, and even though JavaScript is not related to Java, the
name stuck. (In fact, the creators of the Java language, Sun Microsystems, had trademarked
the name Java, and so the name “JavaScript” was made a trademark of Sun Microsystems.)
JavaScript was a hit. It was fun, it was powerful in a word, it was cool. Programmers loved the
things you could do with it in web pages. You could alter the text in web pages, respond to the
mouse, change color schemes, and more. Web page writers ate this up. And JavaScript
inevitably caught the attention of Microsoft.

At the time, the two dominant browsers were Netscape Navigator and Microsoft Internet
Explorer. Microsoft didn’t want to be left behind in the JavaScript wars, but it didn’t want to
simply license JavaScript from Netscape so it created its own version, JScript. JScript first
appeared in 1996, in Internet Explorer 3.0, and over the years, JavaScript and JScript have
become increasingly similar. However, there are a few differences that we’ll come across in
our guided tour of Ajax (for example, the way you create XMLHttpRequest objects, the
fundamental programming construct of Ajax, differs in JavaScript and JScript), but it won’t be
anything we can’t handle. As an interesting historical note, both Netscape and Microsoft turned
to a third party, the standards body European Computer Manufacturers Association (Ecma
International, www .ecma-international.org) to standardize JavaScript so that it could be used
in both browsers. What happened in fact was that a third language, ECMAScript, was born.
And most browsers’ versions of JavaScript are coming in line with ECMAScript these days.

1.7 Introduction to AJAX

Ajax, which stands for Asynchronous JavaScript and XML, is a set of techniques for creating
highly interactive web sites and web applications. The idea is to make what’s on the Web

3
appear to be local by giving you a rich user experience, offering you features that usually only
appear in desktop applications.

The emphasis in Ajax applications is to update the web page, using data fetched from the
Internet, without refreshing the web page in the browser. You saw an example of that with
Google Suggest, where a drop-down list appears in the browser without a page refresh.

The term “Ajax” was created by Jesse James Garrett, president of Adaptive Path, in a February
18, 2005 article collecting the technologies that already existed, and which make up Ajax,
under one umbrella term. In other words, Ajax is an umbrella term for techniques you use to
make web applications look like desktop applications. Ajax fetches data from the server is
invisible to the user. The JavaScript code uses a special object built into the browser an
XMLHttpRequest object to open a connection to the server and download data from the server.
That data is often in XML format (the x in Ajax stands for XML), but it can be just plain text,
as you’re going to see.

When the data that the user needs has been downloaded behind the scenes, the JavaScript code
uses that data to update the display in the browser. For example, in the earlier Google Suggest
example, JavaScript was responsible for fetching, behind the scenes, the suggestions Google
made and then displaying those suggestions in the drop-down list box after they were
downloaded.

Ajax is made up of several components JavaScript, the XMLHttpRequest object, dynamic


HTML, and so on that have been around since 1998. And before Ajax had been formally
introduced, it had already been used by a few applications (such as Microsoft’s Outlook Web
Access). But Ajax didn’t really take off until 2005, with the introduction of new applications,
such as Google Suggest, and Jesse Garrett’s famous article collecting all the parts together into
the single term Ajax.

1.8 Introduction to Jquery

 It’s open source, and the project is licensed under an MIT and a GNU General Public
License (GPL) license.
 It’s small (18 KB minified) and gzipped (114 KB, uncompressed).
 It’s incredibly popular, which is to say it has a large community of users and a healthy
amount of contributors who participate as developers and evangelists.
 It normalizes the differences between web browsers so that you don’t have to.
 It’s intentionally a lightweight footprint with a simple yet clever plugin architecture.
 Its repository of plugins is vast and has seen steady growth since jQuery’s release.
 Its API is fully documented, including inline code examples, which in the world of
JavaScript libraries is a luxury. Heck, any documentation at all was a luxury for years.
 It’s friendly, which is to say it provides helpful ways to avoid conflicts with other
JavaScript libraries.

4
 Its community support is actually fairly useful, including several mailing lists, IRC
channels, and a freakishly insane amount of tutorials, articles, and blog posts from the
Jquery community.
 It’s openly developed, which means anyone can contribute bug fixes, enhancements,
and development help.
 Its development is steady and consistent, which is to say the development team is not
afraid of releasing updates.
 Its adoption by large organizations has and will continue to breed longevity and
stability (e.g., Microsoft, Dell, Bank of America, Digg, CBS, and Netflix).
 It’s incorporating specifications from the W3C before the browsers do. As an ex-
ample, Jquery supports a good majority of the CSS3 selectors.
 It’s currently tested and optimized for development on modern browsers (Chrome 1,
Chrome Nightly, IE 6, IE 7, IE 8, Opera 9.6, Safari 3.2, WebKit Nightly, Firefox 2,
Firefox 3, and Firefox Nightly).
 It’s downright powerful in the hands of designer types as well as programmers. Jquery
does not discriminate.
 Its elegance, methodologies, and philosophy of changing the way JavaScript is written
is becoming a standard in and of itself. Consider just how many other solutions have
borrowed the selector and chaining patterns.
 Its unexplainable by-product of feel-good programming is contagious and certainly
unavoidable; even the critics seem to fall in love with aspects of Jquery.
 Its documentation has many outlets (e.g., API browser, dashboard apps, and cheat
sheets) including an offline API browser (AIR application).
 It’s purposely bent to facilitate unobtrusive JavaScript practices.
 It has remained a JavaScript library (as opposed to a framework) at heart while at the
same time providing a sister project for user interface widgets and application
development (jQuery UI).
 Its learning curve is approachable because it builds upon concepts that most developers
and designers already understand (e.g., CSS and HTML).

5
Chapter-2

LITERATURE REVIEW

2.1 Introduction

“Online Quiz System” is an online application in which user can play examinations in various
fields or categories. This application gives the user an interface, which is very simple to use
and user can use the application simply to play the examination.

A user has to register with this system to play the quiz. Once the user gets registered with our
database, he/she can login into the system and simply starts to play the quiz in chosen category
and difficulty level. The system is capable to calculate the result at the end of the examination.

Any user which is registered, with this system can manage his/her profile. The results of the
user are saved in the database and the user can check the result, with a section “Achievement
Corner” in the profile page.

The admin manages all the databases, like- questions, categories, users, results etc. The admin
is the authenticated person which is the super user of the system.

2.2 Target Users

System Administrator: - Admin panel provides a way to manage complete application in a


user friendly manner to the authenticated administrator. Admin panel can’t be accessed by any
unauthenticated person in any manner. Further the application can’t be affected by most of the
major security threats, so the application is considered as secured from outer world. Admin
need not to be a technical expert, a person with a little technical knowledge can also manage
the application by admin panel. Admin can manage all the user’s databases and admin can also
remove a user for database in critical situations. Admin posts new questions and can remove
old ones or edit existing questions in any category. Admin can also add or remove categories.
Admin can change the credentials of its own.

Local Users: - The user can play the examination in different categories and difficulty levels.
Once the test will be completed than the system calculates the result of the test, and a score
card is displayed. The user is facilitated to print the score card.

6
Chapter-3

SYSTEM ANALYSIS AND DESIGN

3.1 Software Development Life Cycle:

The System Development Life Cycle framework provides system designers and developers to
follow a sequence of activities. 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. A number of system development life cycle (SDLC) models have been created:
waterfall, fountain and 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:

 Project planning, feasibility study: Establishes a high-level view of the intended


project and determines its goals.
 Systems analysis, requirements definition: Refines project goals into defined
functions and operation of the intended application. Analyses 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.
 Implementation: 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 interoperability.
 Acceptance, installation, deployment: The final stage of initial development, where
the software is put into production and runs actual business.
 Maintenance: What happens during the rest of the software's life: changes, correction,
additions and moves to a different computing platform and more? This, the least
glamorous and perhaps most important step of all, goes on seemingly forever.

3.1.1 System Engineering and Modeling

In this process we have to identify the projects requirement and main features proposed in the
application. Here the development team visits the customer and their system. They investigate
the need for possible software automation in the given system. By the end of the investigation
study the team writes a document that holds the specifications for the customer system.

7
3.1.2 Software Requirement Analysis

In software requirements analysis, firstly analyse the requirement for the proposed system. To
understand the nature of the program to build, the system engineer must understand the
information domain for the software, as well as required functions, performance and the
interfacing. From the available information the system engineer develops a list of the actors
use cases and system level requirement for the project.
3.1.3 Systems Analysis and Design
The design is the process of designing exactly how the specifications are to be implemented.
It defines specifically how the software is to be written including an object model with
properties and method for each object, the client/server technology, the number of tiers needed
for the package architecture and a detailed database design. Analysis and design are very
important in the whole development cycle.
3.1.4 Code Generation
The design is the process of designing exactly how the specifications are to be implemented.
It defines specifically how the software is to be written including an object model with
properties and method for each object, the client/server technology, the number of tiers needed
for the package architecture and a detailed database design. Analysis and design are very
important in the whole development cycle. Any glitch in the design could be very expensive
to solve in the later stage of the software development.
3.1.5 Testing
The design must be translated into a machine readable form. The code generation step performs
this task. The development phase involves the actual coding of the entire application. If design
is performed in a detailed manner, code generation can be accomplished without much
complicated. Programming tools like compilers, interpreters like C, C++, and JAVA are used
for coding .with respect to the type of application. The right programming language is chosen.
3.1.6 Development and Maintenance
Maintenance is the last step of SDLC. In this we take care of maintenance of released product.
3.2 System Analysis
System Analysis is the detailed study of the various operations performed by the system and
their relationships within and outside the system. Analysis is the process of breaking something
into its parts so that the whole may be understood.
System analysis is concerned with becoming aware of the problem, identifying the relevant
and most decisional variables, analysing and synthesizing the various factors and determining
an optional or at least a satisfactory solution.

8
During this a problem is identified, alternate system solutions are studied and
recommendations are made about committing the resources used to the system. System
Analysis can be done for the whole system we are using the agile methodology for this purpose
in which analysis of complete planning is done after that the improvement is done according
to the customer requirement.
3.3 System Design
The most creative and challenging face of the system development is System Design. It
provides the understanding and procedural details necessary for the logical and physical stages
of development. In designing a new system, the system analyst must have a clear understanding
of the objectives, which the design is aiming to fulfil. The first step is to determine how the
output is to be produced and in what format. Second, input data and master files have to be
designed to meet the requirements of the proposed output. The operational phases are handled
through program construction and testing.
Design of the system can be defined as a process of applying various techniques and principles
for the purpose of defining a device, a process or a system in sufficient detail to permit its
physical realization. Thus system design is a solution to “how to” approach to the creation of
a new system. This important phase provides the understanding and the procedural details
necessary for implementing the system recommended in the feasibility study. The design step
provides a data design, architectural design, and a procedural design.
3.3.1 Output Design
In the output design, the emphasis is on producing a hard copy of the information requested or
displaying the output on the CRT screen in a predetermined format. Two of the most output
media today are printers and the screen. Most users now access their reports from either a hard
copy or screen display. Computer’s output is the most important and direct source of
information to the user, efficient, logical, output design should improve the systems relations
with the user and help in decision-making.
As the outputs are the most important source of information to the user, better design should
improve the systems relations and also should help in decision-making. The output device’s
capability, print quality, response time requirements etc should also be considered, form design
elaborates the way the output is presented and layout available for capturing information.
3.3.2 Input Design
In the input design, user-originated inputs are converted into a computer-based system format.
It also includes determining the record media, method of input, speed of capture and entry on
to the screen. Online data entry accepts commands and data through a keyboard. The major
approach to input design is the menu and the prompt design.

9
In each alternative, the user’s options are predefined. The data flow diagram indicates logical
data flow, data stores, source and destination. Input data are collected and organized into a
group of similar data once identified input media are selected for processing.
3.3.3 Logical Design
Logical data design is about the logically implied data. Each and every data in the form can be
designed in such a manner to understand the meaning. Logical data designing should give a
clear understanding & idea about the related data used to construct a form.
3.4 Life Cycle of the Project
Software development life cycle includes 6 steps:-

 System engineering and modelling


 Software require analysis
 Systems analysis and design
 Code generation
 Testing
 Development and Maintenance

Figure 3.1: Lifecycle of the Project


Systems Development Life Cycle (SDLC) is a process used by a systems analyst to develop
an information system, including requirements, validation, training, and user (stakeholder)
ownership. Any SDLC should result in a high quality system that meets or exceeds customer
expectations, reaches completion within time and cost estimates, works effectively and
efficiently in the current and planned Information Technology infrastructure, and is
inexpensive to maintain and cost-effective to enhance.

10
Computer systems are complex and often (especially with the recent rise of Service-Oriented
Architecture) link multiple traditional systems potentially supplied by different software
vendors. To manage this level of complexity, a number of SDLC models have been created:
"waterfall"; "fountain"; "spiral"; "build and fix"; "rapid prototyping"; "incremental"; and
"synchronize and stabilize".
SDLC models can be described along a spectrum of agile to iterative to sequential. Agile
methodologies, such as XP and Scrum, focus on light-weight processes which allow for rapid
changes along the development cycle. Iterative methodologies, such as Rational Unified
Process and Dynamic Systems Development Method, focus on limited project scopes and
expanding or improving products by multiple iterations. Sequential or big-design-upfront
(BDUF) models, such as Waterfall, focus on complete and correct planning to guide large
projects and risks to successful and predictable results. Other models, such as Anamorphic
Development, tend to focus on a form of development that is guided by project scope and
adaptive iterations of feature development.
In project management a project can be defined both with a project life cycle (PLC) and an
SDLC, during which slightly different activities occur. According to Taylor (2004) "the project
life cycle encompasses all the activities of the project, while the systems development life cycle
focuses on realizing the product requirements".

11
Chapter-4

REQUIREMENT ANALYSIS

4.1 Tools Required

 XAMPP Toolkit
 Dreamweaver CC
 An Advanced Web Browser (Mozilla Firefox, Google Chrome, etc.)
4.2 Requirement Analysis of User Panel

 To use the system the user must be registered with systems’ interface.
 To register the user must require following data:
 Name of the user
 A valid email address. This email address can be used to recover the user account
in any critical situation. This email is also the default username used to login to the
system.
 Date of Birth. It must denote that the age of the user must be greater than 12 years.
 Pursuing or completed course in any computer intelligence field.
 Current School or College of study.
 A password that is used further to access the online quiz account.
 Once the user is registered the user can access the system via login panel.
 The login panel is provided on the home screen only.
 The login panel requires following information to authenticate the user:
 Email address which is used at the time of registration.
 Password that is set by the user at the time of registration.
 Category in which user wants to test his/her intelligence.
 If the user forgot his/her password then there will be a link “Forget Password” which
can be used to reset the users’ password.
 The link “Forget Password” redirects the user to a page which asks for the registered
email address of the user.
 If user enters the correct email address then the password reset link is send to that email.
 The user can follow that link via his/her email to recover/create a new password.
 On the other hand if user provides correct email and password and the category is not
empty then the user is redirected to the registered user account.
Profile Management:

 User can change his password.


 User can update his email account.
 User can change/edit his/her profile data.
 User can upload/update his/her profile picture.

12
Levels and Examination:

 Beginners: This level contains simplest set of questions on the selected category.
Usually for users under age limit 12-15 years.
 Intermediate: This level contains simple but somewhat tricky questions. Usually
for users under age limit 16-19 years.
 Expert: This level contains the tuff task for users. Usually for the users above age
20 years.
 Once the user have selected the level the user is redirected to the questions.
 The user will be provided with 25 minutes and 20 questions.
 User have to mark the answer for the question and click on the next button for the next
question.
 The exam will be successfully quit in following conditions:
 If the user have completed all the questions within the time limit and press the exit
button.
 If the provided time limit is completed.
 After quitting the exam the result of the user is provided on the screen.
 The user is facilitated by printing the result at the moment.
Users’ achievement corner:

 This corner saves the top five best scores of the user.
 User can print any of the best achievement provided by him/her at any moment.
Logout:

 User can logout to the users’ account at any time accept that the examination is not
going on.
4.3 Requirement Analysis of Admin Panel

 Admin Panel provides an interface for administrator to manage the complete site.
 There must be only one admin of the system which set by the developer.
 The admin panel can be accessed by adding “…/admin” in the home page URL.
 The admin of the system is authenticated by a Code Name and Password.
 If the Code Name and Password are correctly provided by a user then the user is
authenticated as the Administrator of the system and redirected to a page where he/she
can manage the contents and users of the system.
 Now the Admin Panel contains various sections:
Manage Code Name/Password

 In this corner admin can change his/her password.

13
Manage Users

 In this corner admin can access the personal information of all the users.
 Admin do not have right access to modify any users’ personal data.
 Under the law of violation and if any illegal activities are been performed by the user
then the admin have proper rights to unauthenticate the user from the systems’
interface.
Manage Categories

 In this corner the admin can access the all the categories and number of available
questions in each category.
 The admin can add or remove new category as per the requirement.
 If admin removes a category the all the questions associated with that category are also
removed.
Manage Questions

 In this corner admin can all the questions based on different categories.
 The admin can update and delete the questions if change is required.
Post a question

 In this corner admin can post a new question.


 To post a new question admin must have the following data:
 A complete question.
 Four possible options as the answers for the question.
 Correct answer.
 Difficulty Level (Beginner, Intermediate and Expert).
Logout Admin

 By using this link admin can successfully logged out from admin panel.
4.4 System Requirements

The software and hardware requirement of the project are as follows:

4.4.1Software Requirements

 Client on Internet: Web Browser, Operating System (any)


 Web Server: Apache Web Server, Operating System (any).
 Database Server: MySql, Operating System (any)
 Development End: PHP, HTML, Web Server, MySql, Operating System
(Windows XP, Vista, 7), JavaScript, AJAX.

14
4.4.2 Hardware Requirement

Client Side:-

 Google Chrome or Any Latest Web Browser


 RAM: - 512 MB
 Hard Disk: - 40 GB
 Processor: - Pentium IV or Later

Server Side:-

 Apache Web Server


 Database Server: MySql
 RAM: 1GB
 Hard Disk: - 80 GB(Excluding Data Size)
 Processor: - Pentium IV or Later

15
Chapter-5

FEASIBILITY STUDY
5.1 Introduction

A feasibility analysis usually involves a thorough assessment of the operational (need),


financial and technical aspects of a proposal. Feasibility study is the test of the system proposal
made to identify whether the user needs may be satisfied using the current software and
hardware technologies, whether the system will be cost effective from a business point of view
and whether it can be developed with the given budgetary constraints. Depending on the study,
the decision is made whether to go ahead with a more detailed analysis. When a new project
is proposed, it normally goes through feasibility assessment. Feasibility study is carried out to
determine whether the proposed system is possible to develop with available resources and
what should be the cost consideration. Facts considered in the feasibility analysis were:
5.1.1 Technical Feasibility:-
Technical feasibility includes whether the technology is available in the market for
development and its availability. The assessment of technical feasibility must be based on an
outline design of system requirements in terms of input, output, files, programs and procedures.
This can be qualified in terms of volumes of data, trends, frequency of updating, cycles of
activity etc., in order to give an introduction of technical system. Considering our project it is
technical feasible. Online Recruiting and Online Recruitment Systems, with its emphasis on a
more strategic decision making process is fast gaining ground as a popular outsourced function.
5.1.2 Economic Feasibility:-
This feasibility study presents tangible and intangible benefits from the project by comparing
the development and operational cost. The technique of cost benefit analysis is often used as a
basis for assessing economic feasibility. This system needs some more initial investment than
the existing system, but it can be justifiable that it will improve quality of service.
Thus feasibility study should centre along the following points:
 Improvement resulting over the existing methods in terms of accuracy, timeliness.
 Cost comparison
 Estimate on the life expectancy of the hardware.
5.1.3 Behavioural / Operational Feasibility:-
This analysis involves how it will work when it is installed and the assessment of political and
managerial environment in which it is implemented. People are inherently resistant to change
and computers have been known to facilitate change. The new proposed system is very much
useful to the users and therefore it will accept broad audience from around the world.

16
5.2 Technologies Required

 HTML5 (HTML+CSS+JAVASCRIPT)
 JQUERY, AJAX
 PHP
 MYSQL
5.3 Features of User Panel

 Signup
 The fields for the inputs required at the time of signing-up are designed with the
HTML.
 The validations of all input fields are designed with JAVASCRIPT.
 The styles of all input fields are given by CSS rules.

Sr. Label of Input Type of Name of Description


Input Input
1. Name text Uname Text box for name
2. Email text email Text box for email
3. DOB text dob Jquery Date picker
4. Course select course Drop down
5. College text clg Text box for college
6. New Password password pass Text box for password
7. Confirm password cpass Text box for password
Password
8. SIGN UP submit signup Submit form to server
Table 5.1: Fields in Signup Form

 Forgot Password
 A link to reset user password is provided at the time of log-in. When the user clicks
on it, user is redirected to an another page, which demands for the registered email
and if all is right, then the password reset link is send to the user’s registered email
and for security reasons the link is valid only for 24hrs.

 Login
 The fields for the inputs required at the time of log-in are designed with the HTML.
 The validations of all input fields are designed with JAVASCRIPT.
 The styles of all input fields are given by CSS rules.
 The Server Side Scripting is done with PHP.

17
Sr. Label of Input Type of Name of Description
Input Input
1. Email text email Text box for email
2. Password password pass Text box for password
3. Category select category Drop down
4. Difficulty Level select difficulty Drop down
5. LOG IN submit signin Submit form to server
Table 5.2: Fields in Login Form

 Profile Management
 After login the user can change profile.

Sr. Label of Input Type of Name of Description


Input Input
1. Name Text uname Text box for name
2. Email Text email Text box for email
3. DOB Text dob Jquery Date picker
4. Course select course Drop down
5. College Text clg Text box for college
6. New Password password pass Text box for password
7. Confirm password cpass Text box for password
Password
8. Profile Picture File pic Profile picture of user
9. SIGN UP submit signup Submit form to server
Table 5.3: Fields in Profile Management

 Quiz Play (Pause Mode)


 Just after login, the user is redirected to this page and user has to press the
“Play/Resume” button.
 When user refreshes the page while the game is running, the game will be
paused.
 In pause mode, there is a button to “Resume” the game.
 In this page user can manage his/her profile data.
 The achievement corner is also available in this page.
 The questions will be under difficulty level selected by the user.

18
Sr. Label of Input Type of Name of Description
Input Input
1. User Name - - Displays user name
2. Category - - Displays category
3. Logout - - Link to logout
4. Play/Resume button play Resume the game in
pause mode or start the
game after login
5. Manage Profile - - Link to manage profile
Table 5.4: Fields in Quiz Panel (Pause Mode)

 Quiz Play (Playing Mode)


 The wizard for playing the quiz contains a question, four alternatives and radio
buttons to choose the correct answer.

Sr. Label of Input Type of Name of Description


Input Input
1. User Name - - Displays user name
2. Category - - Displays category
3. Logout - - Link to logout
4. [Question No.] - - Number of question
5. [Question] - - The question
6. [Four Options] - - The four alternatives,
to choose from
7. [Four Radios] radio Choice Select the correct
answer
8. Next button nextNsubmit Submit the question
and have next
question
Table 5.5: Fields in Quiz Panel (Play Mode)

 Results
 Achievement Corner: To view the top 5 performances of a user, and print the
score card.

19
5.4 Features of Admin Panel

 Login
 Admin logins with this panel.

Sr. Label of Input Type of Name of Description


Input Input
1. Code Name text codename Text box for
codename
2. Password password pass Text box for password
3. LOG IN submit login Submit form to server
Table 5.6: Fields in Login Page

 Post New Question


 Admin can post new questions with this panel.

Sr. Label of Input Type of Name of Description


Input Input
1. Category Select category Drop down
2. Difficulty Level Select difficulty Drop down
3. Question Textarea ques Text area for question
4. [Four Options] Text opt_a_ans Four alternatives
opt_b_ans
opt_c_ans
opt_d_ans
5. [Four Radios] Radio choice Correct answer
6. Post Submit submit Submit form to server
Table 5.7: Fields in Post New Question Form

 Manage Categories:
 Admin can delete any category via “Delete” button, placed in front of each
category.

Sr. Label of Input Type of Name of Description


Input Input
1. Category text newcat Text box for category
2. ADD submit cataddition Submit form to server
Table 5.8: Fields in Manage Categories Form

20
 When a category is deleted, all questions associated with that category will also
be deleted.
 Admin can also add new categories.

 Manage CodeName/Password:

Sr. Label of Input Type of Name of Description


Input Input
1. Code Name text cname Text box for
codename
2. New Password password pass Text box for password
3. Confirm password cpass Text box for password
Password
4. UPDATE submit update Submit form to server
Table 5.9: Fields in Manage Admin Form

 Manage Users:
 Admin can delete account of any user via “Delete” button, placed in front of
each user’s account.

 Manage Questions

Sr. Label of Input Type of Name of Description


Input Input
1. Category select category Drop down
Table 5.10(a): Fields in Manage Questions Form

Sr. Label of Input Type of Name of Description


Input Input
1. Question textarea ques Text area for question
2. [Four Options] text opt_a_ans Four alternatives
opt_b_ans
opt_c_ans
opt_d_ans
3. [Four Radios] radio choice Correct answer
4. Done submit upques Submit form to server
Table 5.10(b): Fields in Manage Questions Form

21
 Admin can delete any question via “Delete” button, placed in front of each
question.
 Admin can edit any question via “Edit” button, placed in front of each
question.
 Admin can see the questions of any category; this technology is implemented
by AJAX. As soon as the admin selects a category from the drop down,
automatically the questions of that category will be displayed.

 Logout
 There is a link of log-out, which ends the session of administrator.

22
Chapter-6

UML DIAGRAMS AND SCREENSHOTS


6.1 Introduction to UML

Let's look at this question from the point of view of the construction trade. Architects design
buildings. Builders use the designs to create buildings. The more complicated the building, the
more critical the communication between architect and builder. Blueprints are the standard
graphical language that both architects and builders must learn as part of their trade.

Writing software is not unlike constructing a building. The more complicated the underlying
system, the more critical the communication among everyone involved in creating and
deploying the software. In the past decade, the UML has emerged as the software blueprint
language for analysts, designers, and programmers alike. It is now part of the software trade.
The UML gives everyone from business analyst to designer to programmer a common
vocabulary to talk about software design.

The UML is applicable to object-oriented problem solving. Anyone interested in learning UML
must be familiar with the underlying tenet of object-oriented problem solving -- it all begins
with the construction of a model. A model is an abstraction of the underlying problem. The
domain is the actual world from which the problem comes. Models consist of objects that
interact by sending each other messages. Think of an object as "alive." Objects have things
they know (attributes) and things they can do (behaviors or operations). The values of an
object's attributes determine its state.

Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors (methods
or functions) into a single distinct entity. Objects are instances of classes.

6.2 Use Case Diagrams

Use case diagrams describe what a system does from the standpoint of an external observer.
The emphasis is on what a system does rather than how. Use case diagrams are closely
connected to scenarios. A scenario is an example of what happens when someone interacts
with the system. Here is a scenario for a medical clinic.

"A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds
the nearest empty time slot in the appointment book and schedules the appointment for that
time slot”. A use case is a summary of scenarios for a single task or goal. An actor is who or
what initiates the events involved in that task. Actors are simply roles that people or objects
play. The picture below is a Make Appointment use case for the medical clinic. The actor is a

23
Patient. The connection between actor and use case is a communication association (or
communication for short).

Figure 6.1 Use Case Diagram

Actors are stick figures. Use cases are ovals. Communications are lines that link actors to use
cases. A use case diagram is a collection of actors, use cases, and their communications. We've
put Make Appointment as part of a diagram with four actors and four use cases. Notice that a
single use case can have multiple actors.

Use case diagrams are helpful in three areas:

 Determining features (requirements): New use cases often generate new


requirements as the system is analysed and the design takes shape.
 Communicating with clients: Their notational simplicity makes use case diagrams a
good way for developers to communicate with clients.
 Generating test cases: The collection of scenarios for a use case may suggest a suite
of test cases for those scenarios.

Figure 6.2: Use Case Diagram of Online Quiz System

24
6.3 Class Diagrams

A Class diagram gives an overview of a system by showing its classes and the relationships
among them. Class diagrams are static -- they display what interacts but not what happens
when they do interact. The class diagrams below models a customer order from a retail catalog.
The central class is the Order. Associated with it is the Customer making the purchase and the
Payment? A Payment is one of three kinds: Cash, Check, or Credit. The order contains Order
Details (line items), each with its associated Item. UML class notation is a rectangle divided
into three parts: class name, attributes, and operations. Names of abstract classes, such as
Payment, are in italics. Relationships between classes are the connecting links. Our class
diagram has three kinds of relationships:

 Association: A relationship between instances of the two classes. There is an


association between two classes if an instance of one class must know about the other
in order to perform its work. In a diagram, an association is a link connecting two
classes.
 Aggregation: An association in which one class belongs to a collection. An
aggregation has a diamond end pointing to the part containing the whole. In our
diagram, Order has a collection of Order Details.
 Generalization: An inheritance link indicating one class is a super class of the other. A
generalization has a triangle pointing to the super class. Payment is a super class of
Cash, Check, and Credit.

Figure 6.3: Class Diagram of Online Quiz System

25
An association has two ends. An end may have a role name to clarify the nature of the
association. For example, an Order Detail is a line item of each Order. A navigability arrow on
an association shows which direction the association can be traversed or queried. An Order
Detail can be queried about its Item, but not the other way around. The arrow also lets you
know who "owns" the association's implementation; in this case, Order Detail has an Item.
Associations with no navigability arrows are bi-directional. The multiplicity of an association
end is the number of possible instances of the class associated with a single instance of the
other end. Multiplicities are single numbers or ranges of numbers. In our example, there can
be only one Customer for each Order, but a Customer can have any number of Orders. Every
class diagram has classes, associations, and multiplicities. Navigability and roles are optional
items placed in a diagram to provide clarity.

6.4 Object Diagrams

Object Diagrams show instances instead of classes. They are useful for explaining small pieces
with complicated relationships, especially recursive relationships. This small class diagram
shows that a university Department can contain lots of other Departments. Each rectangle in
the object diagram corresponds to a single instance. Instance names are underlined in UML
diagrams. Class or instance names may be omitted from object diagrams as long as the diagram
meaning is still clear.

Figure 6.4: Object Diagram of Online Quiz System

6.5 Sequence Diagrams


Class and object diagrams are static model views. Interaction diagrams are dynamic. They
describe how objects collaborate. A sequence diagram is an interaction diagram that details

26
how operations are carried out what messages are sent and when. Sequence diagrams are
organized according to time. The time progresses as you go down the page. The objects
involved in the operation are listed from left to right according to when they take part in the
message sequence. Below is a sequence diagram for making a hotel reservation. The object
initiating the sequence of messages is a Reservation window. The Reservation window sends
a make Reservation () message to a Hotel Chain. The Hotel Chain then sends a make
Reservation () message to a Hotel. If the Hotel has available rooms, then it makes a Reservation
and a Confirmation. Each vertical dotted line is a lifeline, representing the time that an object
exists. Each arrow is a message call. An arrow goes from the sender to the top of the activation
bar of the message on the receiver's lifeline. The activation bar represents the duration of
execution of the message. In our diagram, the Hotel issues a self-call to determine if a room is
available. If so, then the Hotel creates a Reservation and a Confirmation. The asterisk on the
self-call means iteration (to make sure there is available room for each day of the stay in the
hotel). The expression in square brackets, [ ], is a condition.

Figure 6.5: Sequence Diagram of Online Quiz System

27
6.6 Collaboration Diagram

Collaboration diagrams are also interaction diagrams. They convey the same information as
sequence diagrams, but they focus on object roles instead of the times that messages are sent.
In a sequence diagram, object roles are the vertices and messages are the connecting links. The
object-role rectangles are labeled with either class or object names (or both). Class names are
preceded by colons. Each message in a collaboration diagram has a sequence number. The top-
level message is numbered 1. Messages at the same level (sent during the same call) have the
same decimal prefix but suffixes of 1, 2, etc. according to when they occur.

Figure 6.6: Collaboration Diagram of Online Quiz System

6.7 State Chart Diagram

Objects have behaviors and state. The state of an object depends on its current activity or
condition. A state chart diagram shows the possible states of the object and the transitions that
cause a change in state. Our example diagram models the login part of an online banking
system. Logging in consists of entering a valid social security number and personal id number,
then submitting the information for validation. Logging in can be factored into four non-
overlapping states: Getting SSN, Getting PIN, Validating, and Rejecting. From each state
comes a complete set of transitions that determine the subsequent state.

States are rounded rectangles. Transitions are arrows from one state to another. Events or
conditions that trigger transitions are written beside the arrows. Our diagram has two self-

28
transition, one on Getting SSN and another on Getting PIN. The initial state (black circle) is a
dummy to start the action. Final states are also dummy states that terminate the action. The
action that occurs as a result of an event or condition is expressed in the form /action. While in
its Validating state, the object does not wait for an outside event to trigger a transition. Instead,
it performs an activity. The result of that activity determines its subsequent state.

6.8 Activity Diagram

An activity diagram is essentially a fancy flowchart. Activity diagrams and state chart
diagrams are related. While a state chart diagram focuses attention on an object undergoing a
process (or on a process as an object), an activity diagram focuses on the flow of activities
involved in a single process. The activity diagram shows the how those activities depend on
one another. For our example, we used the following process. "Withdraw money from a bank
account through an ATM." The three involved classes (people, etc.) of the activity are
Customer, ATM, and Bank. The process begins at the black start circle at the top and ends at
the concentric white/black stop circles at the bottom. The activities are rounded rectangles.

Figure 6.7: Activity Diagram of Online Quiz System

29
Activity diagrams can be divided into object swim lanes that determine which object is
responsible for which activity. A single transition comes out of each activity, connecting it to
the next activity. A transition may branch into two or more mutually exclusive transitions.
Guard expressions (inside [ ]) label the transitions coming out of a branch. A branch and its
subsequent merge marking the end of the branch appear in the diagram as hollow diamonds.
A transition may fork into two or more parallel activities. The fork and the subsequent join of
the threads coming out of the fork appear in the diagram as solid bars.

6.9 Project Screenshots

User Panel:

Figure 6.8: Achievement Corner

Figure 6.9: Finish Quiz Screen

Figure 6.10: Forgot Password

30
Figure 6.11: Signup & Login

Figure 6.12: Manage Profile

Figure 6.13: Welcome Profile Screen


31
Figure 6.14: Result Screen

Figure 6.15: Running Quiz Screen

32
Admin Panel:

Figure 6.16: Admin Login

Figure 6.17: Manage Admin Credentials

Figure 6.18: Manage Categories

33
Figure 6.19: Manage Questions

Figure 6.20: Manage Users

Figure 6.21: Post New Questions

34
Database Screen Shots:

Figure 6.22: Achievement Table

Figure 6.23: Admin Table

Figure 6.24: Categories Table

35
Figure 6.25: Questions Table

Figure 6.26: Users Table

36
Chapter-7

CONCLUSION
The Online Quiz System is developed using PHP fully meets the objectives of the system for
which it has been developed. The system has reached a steady state where all bugs have been
eliminated. The system is operated at a high level of efficiency and all the teachers and user
associated with the system understands its advantage. The system solves the problem. It was
intended to solve as requirement specification.

This online quiz system provides facility to conduct online examination worldwide. It saves
time as it allows number of students to give the exam at a time and displays the results as the
test gets over, so no need to wait for the result. It is automatically generated by the server.
Administrator has a privilege to create, modify and delete the test papers and its particular
questions. User can register, login and give the test with his specific id, and can see the results
as well.

37
REFERENCES
[1] Vikram Vaswani, “PHP-A Beginners guide”, ISBN 0-07-154902-1, The McGraw-Hill
Companies, 2009. (DOI: 10.1036/0071549013).

[2] Steven Holzner, “AJAX-A Beginners guide”, ISBN 0-07-159531-7, The McGraw-Hill
Companies, 2009. (DOI: 10.1036/0071494294).

[3] Steven Holzner, “jQuery Cookbook”, ISBN 978-0-596-15977-1, Cody Lindley, 2010.
(1257774409).

[4] PHP: http://www.w3schools.com/php

[5] PHP: http://en.wikipedia.org/wiki/PHP

[6] PHP: http://www.codecademy.com/en/tracks/php

[7] JavaScript: http://www.w3schools.com/js/

[8] JavaScript: http://en.wikipedia.org/wiki/JavaScript

[9] JavaScript: http://www.codecademy.com/en/tracks/javascript

[10] MySQL: http://www.w3schools.com/php/php_mysql_intro.asp

[11] MySQL: http://en.wikipedia.org/wiki/MySQL

[12] MySQL: http://www.tutorialspoint.com/mysql

38

You might also like