Sei sulla pagina 1di 79

A Project Based Learning Report

On

REAL TIME FLOOD MONITORING SYSTEM


Submitted to CMR ENGINEERING COLLEGE
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

Submitted By
DHATRIKA KEERTHI (168R1A0514)
RAGI NAVYA (168R1A0548)
SAGIRAJU MADHURI (168R1A0555)
THEIN MALAR (168R1A0558)

Under the guidance of


Ms. Hemalatha
Assistant Professors, Department of CSE

Department of Computer Science & Engineering


CMR ENGINEERING COLLEGE
(Accredited by NBA Approved by AICTE,NEW DELHI, Affiliated to JNTU Hyderabad)
Kandlakoya, Medchal Road, R.R. Dist. Hyderabad-501 401)
2018-2019
CMR ENGINEERING COLLEGE
(Accredited by NBA,Approved by AICTE NEW DELHI, Affiliated to JNTU, Hyderabad)
Kandlakoya, Medchal Road, Hyderabad-501 401

Department of Computer Science & Engineering

CERTIFICATE
This is to certify that the project entitled "CONQUIZ" is a bonafide work carried out by

DHATRIKA KEERTHI (168R1A0514)


RAGI NAVYA (168R1A0548)
SAGIRAJU MADHURI (168R1A0555)
THEINMALAR (168R1A0558)

in partial fulfillment of the requirement for the award of the degree of BACHELOR OF
TECHNOLOGY in COMPUTER SCIENCE AND ENGINEERING from CMR
Engineering College affiliated to JNTU Hyderabad under our guidance and supervision.

The results presented in this project have been verified and are found to be satisfactory.
The results embodied in this project have not been submitted to any other university for
the award of any other degree or diploma.

Internal Guide Head of the Department


Dr. P. Sheo kumar
Ms. Hemalatha Professor & HOD
Assistant Professors, Department of CSE,
Department of CSE, CMREC, Hyderabad
CMREC, Hyderabad
DECLARATION

This is to certify that the work reported in the present project entitled
“REAL TIME FLOOD MONITORING SYSTEM" is a record of
bonafide work done by us in the Department of Computer Science and
Engineering, CMR Engineering College, JNTU Hyderabad. The reports are
based on the project work done entirely by us and not copied from any other
source. We submit our project for further development by any interested
students who share similar interests to improve the project in the future.
The results embodied in this project report have not been submitted to any
other University or Institute for the award of any degree or diploma to the
best of our knowledge and belief.

DHATRIKA KEERTHI (158R1A0563)


RAGI NAVYA (158R1A0599)
(158R1A05A2)
KAKKERLA SAHITHI (158R1A05A1)
KOTA JAYANTH (158R1A05B0)
GANGINENI KALPANA (158R1A0578)
ACKNOWLEDGMENT

We are extremely grateful to Dr. A. Srinivasula Reddy, Principal and


Dr. P.V. Bhaskar Reddy, HOD, Department of CSE, CMR Engineering
College for their constant support.

We are extremely thankful to Mr. S. Kiran Kumar and Ms. Navaneetha,


Assistant Professor, Internal Guide, Department of CSE, for his constant
guidance, encouragement and moral support throughout the project.

We will be failing in duty if we do not acknowledge with grateful thanks to


the authors of the references and other literatures referred in this Project.

We express thanks to all staff members and friends for all the help and co-
ordination extended in bringing out this Project successfully in time.

Finally, we are very much thankful to our parents who guided us for
development of project.

KRUSHNA DONGRE (158R1A0563)


RITVIK KONDABATHINI (158R1A0599)
KAIPA SRINIDHI (158R1A05A2)
KAKKERLA SAHITHI (158R1A05A1)
KOTA JAYANTH (158R1A05B0)
GANGINENI KALPANA (158R1A0578)
CONTENTS
TOPIC PAGENO
ABSTRACT i
LIST OF FIGURES ii
LIST OF TABLES iii
1. INTRODUCTION 1
1.1 About the project 1
1.2 purpose 1
1.3 proposed system 1
1.4 scope 2
2. LITRATURE SURVEY 3
2.1 Drawbacks of Manual Assessment 3
2.2 Survey Analysis 3
2.3 Feasibility Study 3
3. SYSTEM ANALYSIS 5
3.1 Web Development Life Cycle 5
3.2 System Study 7
3.3 Interface Requirements 7
3.3.1 Hardware requirements 7
3.3.2 Software requirements 7
3.4 Working Principle of the Project (admin view) 8
3.5 Working Principle of the project (user view) 10
3.6 BackEnd 12
3.6.1 The Main Features of MySQL 12
3.6.2 Security requirements 14
3.6.3 Performance requirements 15
3.6.4 Network communication 15
3.6.5 Goals and guidelines 15
3.6.6 Architectural Strategies 15
3.6.7 Software 16
3.6.8 Libraries and Tools 16
3.6.9 System Architecture 16
4. DATAFLOW DIAGRAMS 18
4.1 Flow chart 21
5. CASE TOOL 23
5.1 Introduction to Rational Rose 23
5.2 Sequence Diagram 25
5.3 Activity Diagram 28
5.4 Class Diagram 30
5.5 Use-Case Diagram 31
6. MODULE DESCRIPTION 35
7. IMPLEMENTATION 38
7.1 Block Diagram 38
7.2 Database Design 39
7.3 Coding 40
8. TESTING 57
8.1 Introduction 57
8.2 Test Plan 57
8.2.1 Unit Testing 57
8.2.2 Integration Testing 57
8.2.3 Validation Testing 58
9. GRAPHICAL USER INTERFACE 59
10. FUTURE ENHANCEMENTS 68
11. CONCLUSION 69
12. REFERENCES 70
ABSTRACT

i
LIST OF FIGURES

S.NO DESCRIPTION PAGE NO

1 User’s View: Signing-in 9


2 Online Test 9
3 Data Flow Diagram (Level 0) 18
4 Data Flow Diagram (Level 1) 18
5 Data Flow Diagram (Level 2) 19
6 Flowchart 22
7 Sequence Diagram 27
8 Activity Diagram (Administrator) 28
9 Activity Diagram (User) 29
10 Class Diagram 30
11 Use-Case Diagram 31
12 Block Diagram 38

ii
LIST OF TABLES

S.NO DESCRIPTION PAGE NO

1 Admin 39
2 Questions 39
3 Users 40
4 Score 40

iii
1. INTRODUCTION

1.1 ABOUT THE PROJECT


The main aim of the project is to develop a real world application.
CONQUIZ, a web based multiple-choice question examination is developed in order to
take online test in an efficient manner and is useful to assess the students’ knowledge in a
fruitful way. The main objective of online quiz is to efficiently evaluate the candidate
thoroughly through a fully automated system that not only saves lot of time but also gives
fast and accurate results. The questions varies student to student for the same quiz while
they are attempting the quiz at the same time. It generates different questions for different
students from the same subject domain.
On the other hand, students can score according to their knowledge and it will
generate a merit certificate to students in order to encourage them. Any university,
college, school or educational institute can use this system for their organization to take
quizzes.

1.2 PURPOSE
The ultimate aim of this CONQUIZ is to help in quiz analysis and also for easy
evaluation of the students and to generation of the automatic score card. It provides
facility to graduating / learning student to assess themselves as well as to enhance their
knowledge and skills and learn how to manage their time in this self-assessment test.
CONQUIZ provides immense opportunity for the students to know their levels in quiz.
It provides effective software so as to help in evaluating the student’s performance. No
data loss occurs in the quiz system. It is very much protected in such a way that it gives
permission to the students to access only when he/she is authenticated as a valid user. We
assure that the project is completely authenticated in order to enhance security and
corruptions of database as well as the software.
The results are produced automatically and electronically so that nobody is prone to
mistakes.

1.3 PROPOSED SYSTEM


This Web Application provides facility to conduct online examination world wide.
students are given flexibility to choose different type of questions based on his/her area of
interest either aptitude or programming language side .

Page | 1
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 questions.the
whole quiz should has a fixed amount of time rather than for individual question.
The feasibility of skipping any confusing questions for later answering is also included.
The answers are submitted automatically as soon as the quiz gets completed.
User can register, login and give the test with his username and password and auto
submission feature is also added here and at last score card is generated according to their
performance.
CONQUIZ provides a user friendly interface along with animations, dynamic scrolling of
images within a webpage , randomly generating questions to the user from the database
and it also displays a auto-generated certificate according to the results of the user.
The data in this project are maintained in the tabular form using MYSQL in the form of
database. It provides easy access to the user. Easy category questions are maintained in
the database which provides easy for the user to access and choose the category.
We also have tried to eliminate the problem with general web based quiz system and
decide to create a web based intelligent quiz system. In our thesis project, we
have tried to develop an “Online Quiz System”.

1.4 SCOPE
Scope of this project is very broad in terms of other manually cheking
yourself. Few of them are:-
This can be used in educational institutions as well as in corporate world.
Can be used anywhere any time as it is a web based application (user Location doesn’t
matter).
No restriction that examiner has to be present when the candidate takes the test.

Page | 2
2. LITERATURE SURVEY

2.1 DRAWBACKS OF MANUAL ASSESSMENT:


I. Lack of space: It becomes a problem in itself to find space to keep the sheets of paper
being generated as a result of the ongoing discussion. The documents being generated are
too important to be ill-treated.
ii. Filing poses a problem: Filing the documents categorically is a time consuming and
tedious exercise.
iii. Filtering is not easy: It becomes hard to filter relevant documents for the irrelevant
ones if the count of the same crosses a certain manageable number.
iv. Reviewing becomes time-consuming: All the process done manually at the centers
and all the records are maintained on the papers. So the maintenance of the record is very
difficult in the departments and as well as it’s very difficult for the workers to check the
record. The Existing system is paper based, time consuming, monotonous, less flexible
and provides a very hectic working schedule. The chance of loss of records is high and
also record searching is difficult. Maintenance of the system is also very difficult and
takes lot of time.
v. Result Processing: This is slow due to paper work and requirement of staff.

2.2 SURVEY ANALYSIS


What we actually found everyone wants a user-friendly environment while attending the
quiz. We also found that maximum teachers want that-They should edit questions from
Question Bank and add new questions in the Question Bank and system would be able to
evaluate student’s performance perfectly. They want system would be able to save the
score automatically and can keep all quizzes information (i.e. student’s mark,
performance etc.)of all students. They want answer will be auto submitted after time end
and they want to see the overall student’s performance of the quiz at the end of the quiz.
At the end of the quiz they want to see their performance and the correct answers. They
give emphasis on the user-friendly feature of the system.

2.3 FEASIBILITY STUDY:


What are the user’s demonstrable needs?
User needs a web-based system, which will remove all the above-mentioned Problems
that, the user is facing. The user wants a web-based system, which will reduce the bulk of
paperwork, provide ease of work, flexibility, fast record finding, modifying, adding,
Page | 3
removing and generating the reports. User needs a friendly and attractive interface to
work on and also a feature of auto submission.
How can the problem be redefined?
We proposed our perception of the system, in accordance with the problems of existing
system by making a full layout of the system on paper. We tallied the problems and needs
by existing system and requirements. We were further updating in the layout in the basis
of redefined the problems. In feasibility study phase we had undergone through various
steps, which are described as under:
How feasible is the system proposed? This was analyzed by comparing the following
factors with both the existing system and proposed system.
Cost :The cost required in the proposed system is comparatively less to the existing
system.
Effort: the proposed system will provide a better working environment in which there
will be ease of work and the effort required will be comparatively less than the existing
system.
Time: Also the time required generating a report or for doing any other work will be
comparatively less. Record finding and updating will also take less amount of time.

Page | 4
3. SYSTEM ANALYSIS

3.1 WEB DEVELOPMENT LIFE CYCLE


STEP 1: Information Gathering (Graphical)
The first phase of the WDLC is the information gathering step for designing the website.
The design of a website is extremely important because if it is not appealing to the
customer and easy to navigate, then they will be less likely to return and purchase the
products or use the services offered. The analyst is required to gather information that
will assist the graphic designers in creating an effective layout for the website and
determine the various pages will be included. How information is to be arranged and the
navigation through this information should also be discussed in the information gathering
phase of the WDLC.
Step 2: PLANNING
This level involves determining the project goal and running a feasibility study amongst
the client and web development services, taking into consideration various factors like
project cost, equipment cost, practicality etc.
Step 3:ANALYSIS
This stage, the stage of discovering and researching, determines how the subsequent steps
will look like. The most important task at this point is to get the clear understanding of
your future website purposes, the main goals you wish to get, and the target audience you
want to attract to your site. Such kind of a website development questionnaire helps to
develop the best strategy for further project management.
News portal differs from the entertainment websites, and online resources for teenagers
looks different than sites for adults. Different types of websites provide visitors with
different functionality which means that different technologies should be used according
to the purposes. A well described and detailed plan made on the basis of this pre-
development data can protect you from spending extra resources on solving the
unexpected issues such as design changing or adding the functionality that wasn’t initially
planned.
STEP 4: DESIGN
Documentation of various details like operations and functions such as screen layouts,
process diagrams and other documentation are done here.
STEP 5: Implementation

Page | 5
web development services are needed the most when actual back end coding is done.This
phase in the WDLC is similar to normal implementation in the SDLC. The prototype is
typically developed on a test server or development server. This allows the users to work
with the developers until the prototype is complete. Once the component being developed
is completed, the database and web page files will be moved to the production server for
implementation.
STEP 6: Testing
In this phase the system is tested. Normally programs are written as a series of individual
modules, these subject to separate and detailed test. The system is then tested as a whole.
The separate modules are brought together and tested as a complete system. The system is
tested to ensure that interfaces between modules work (integration testing), the system
works on the intended platform and with the expected volume of data (volume testing)
and that the system does what the user requires (acceptance/beta testing).

STEP 7: Maintenance
Maintenance is an ongoing step of the WDLC that never ends. Maintenance may include
modifications to existing programs, updating the style sheet to give the website a different
look, or anything that might need to be done to the website once it has been implemented.

The WDLC is an iterative process, particularly during functional phases of development.


Once the website has been designed there is little need to perform the graphical phases of
the WDLC until a re-design of the website is needed. For each new application or
component added to the website after it has been designed, the systems analyst can start
on phase two of the WDLC. For a website redesign, only phase one will need to be
completed because a redesign will change the layout and look of a website but not the
functionality.
What’s important to remember is that a website is more a service than a product. It’s not
enough to “deliver” a website to a user. You should also make sure that everything works
fine, and everybody is satisfied and always be prepared to make changes in another case.
Feedback system added to the site will allow you to detect possible problems the end-
users face. The highest priority task in this case is to fix the problem as fast as you can. If
you won’t, you may find one day that your users prefer to use another website rather than
put up with the inconvenience.

Page | 6
3.2 System Study:
In the flexibility of uses the interface has been developed a graphics concepts in mind,
associated through a browser interface. The GUI’s at the top level has been categorized as
follows:
1. Administrative User Interface Design.
2. The Operational and Generic User Interface Design.
The administrative user interface concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication for
the data collection. The Interface helps the administration with all the transactional states
like data insertion, data deletion, and data updating along with executive data search
capabilities. The operational and generic user interface helps the users upon the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information helps the
ordinary users in managing their own information in a customized manner as per the
assisted flexibilities.

3.3 INTERFACE REQUIREMENTS:

3.3.1 HARDWARE REQUIREMENTS:


The processor used is intel®core™2 duo at 2 GHz. The capacity of Random Access
Memory (RAM) is 4GB. The capacity of the storage element of disk space is 2.99GB.
The monitor used is HDMI monitor. The keys available in the keyboard is 104 keys.

3.3.2 SOFTWARE REQUIREMENTS:


The client used is the web browser(any). The Database Server used is MYSQL
workbench 5.2CE. The application Server used is WASCE (Web Sphere Application
Server Community Edition) .
The front end is visual basic 6.0.

Page | 7
3.4 WORKING PRINCIPLE OF PROJECT:[admin view]
STEP 1: DataBase Creation:
• Question table
• User Info table
• Admin table
• Scorecard table
Storing questions along with options and correct option to each question in the database
within the question table.
When the user register here the details of the user will be stored in the user_info table.
New user have to register here to take up the test.
-admin table contains the id and password where the admin can create, modify and delete
the questions and options in the Question table.
- Score_ Card table contains the results i.e. scores secured by any user who takes up the
test.
STEP 2: WEBSITE DESIGNING:
Using CSS we develop web pages in order to provide user-friendly interface. we will
create the following WebPages:
*Main page contains either login or register option, we have the login page for the
registered user and the register page for the new user.
*home page contains Quiz corner where we have multiple topics among which user can
select a topic for taking up the test ,about us, contacts, user information too.
STEP 3: LOGIC
*when the user registering in this site at that time the details of the user is validated or
else if he is already registered then the user is authenticated to check whether the
username and password that he/she has entered matches with the details stored in the
database or not.
If matches then he is allowed to take up the quiz otherwise the request from the user is
treated as invalid.
*the given answers will be tested from the database and the result will be calculated
according to the right answers.
Then the results will be displayed on the screen along with the correct answers.

Page | 8
USER’S VIEW:

STEP 1: SIGNING IN: [USER’S VIEW]

*user requests for the authentication to the


server *server checks the database *server
modifies the user
*on successful authentication server initializes the client.
*if authentication fails the user is notified to check his data or to register.

STEP 2: REGISTRATION
*users can apply for a registration form the server.
*the server then provides the form.
*the user submits the form after filling it up.
*server checks the form to ensure the data given in the form does not violate any
constraints.
*the server updates the database and notifies the user about the progress.

STEP 3: ONLINE TEST

Page | 9
*any authorized person can access related details.
*the users can login by using user id and password and give their exams.
*administrators will be responsible for updating the site.
*administrators can change questions and test pattern whenever they want.

STEP 4: TEST ANALYSIS:


*the user gets the results of the test after submitting the test.
*correct answers will be given for the user if he/she gets wrong answer.

3.5 FRONT END


Microsoft Visual Basic, the fastest and easiest way to create applications for Microsoft
Windows. Whether you are an experienced professional or brand new to Windows
programming, Visual Basic provides you with a complete set of tools to simplify rapid
application development.
The "Visual" part refers to the method used to create the graphical user interface
(GUI). Rather than writing numerous lines of code to describe the appearance and
location of interface elements, you simply add prebuilt objects into place on screen. If
you've ever used a drawing program such as Paint, you already have most of the skills
necessary to create an effective user interface.
The "Basic" part refers to the BASIC (Beginners all-purpose Symbolic Instruction
Code) language, a language used by more programmers than any other language in the
history of computing. Visual Basic has evolved from the original BASIC language and
now contains several hundred statements, functions, and keywords, many of which relate
directly to the Windows GUI. Beginners can create useful applications by learning just a
few of the keywords, yet the power of the language allows professionals to accomplish
anything that can be accomplished using any other Windows programming language.
The Visual Basic programming language is not unique to Visual Basic. The Visual Basic
programming system, Applications Edition included in Microsoft Excel, Microsoft
Access, and many other Windows applications uses the same language. The Visual Basic
Scripting Edition (VBScript) is a widely used scripting language and a subset of the
Visual Basic language. The investment you make in learning Visual Basic will carry over
to these other areas.

Page | 10
Whether your goal is to create a small utility for yourself or your work group, a large
enterprise-wide system, or even distributed applications spanning the globe via the
Internet, Visual Basic has the tools you need.
Data access features allow you to create databases, front-end applications, and
scalable server-side components for most popular database formats, including Microsoft
SQL Server and other enterprise-level databases.
ActiveX™ technologies allow you to use the functionality provided by other
applications, such as Microsoft Word word processor, Microsoft Excel spreadsheet, and
other Windows applications. You can even automate applications and objects created
using the Professional or Enterprise editions of Visual Basic.
Internet capabilities make it easy to provide access to documents and applications
across the Internet or Intranet from within your application, or to create Internet server
applications.
Your finished application is a true .exe file that uses a Visual Basic Virtual Machine
that you can freely distribute.

Visual Basic Editions


Visual Basic is available in three versions; each geared to meet a specific set of
development requirements.
• The Visual Basic Learning edition allows programmers to easily create powerful
®
applications for Microsoft Windows and Windows NT . It includes all intrinsic controls,
plus grid, tab, and data-bound controls.
• The Professional edition provides computer professionals with a full-featured set of
tools for developing solutions for others. It includes all the features of the Learning
edition, plus additional ActiveX controls, the Internet Information Server Application
Designer, integrated Visual Database Tools and Data Environment, Active Data Objects,
and the Dynamic HTML Page Designer.
• The Enterprise edition allows professionals to create robust distributed applications
in a team setting. It includes all the features of the Professional edition, plus Back Office
tools such as SQL Server, Microsoft Transaction Server, Internet Information Server,
Visual SourceSafe, SNA Server, and more.

Page | 11
3.6 BACK END

SERVER END:
Functions of server end:
*to register an user who will appear for the first time.
*to authenticate an existing user.
*and the most important to route the information from source client to appropriate
destination client.

CLIENT END:
Functions of the client end are
*to instruct the user who want to register
*provide proper interface to sign-in, login, and test.

3.6.1 INTRODUCTION TO MYSQL SERVER :


OVERVIEW OF THE MYSQL DATABASE MANAGEMENT SYSTEM:
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by MySQL AB. MySQL AB is a commercial company,
founded by the MySQL developers. It is a second generation Open Source company that
unites Open Source values and methodology with a successful business model.
MySQL is a database management system.
A database is a structured collection of data. It may be anything from a simple shopping
list to a picture gallery or the vast amounts of information in a corporate network. To add,
access, and process data stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at handling large amounts
of data, database management systems play a central role in computing, as standalone
utilities, or as parts of other applications.
MySQL is a relational database management system.
A relational database stores data in separate tables rather than putting all the data in one
big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for
“Structured Query Language.” SQL is the most common standardized language used to
access databases and is defined by the ANSI/ISO SQL Standard. The SQL standard has
been evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to
the standard released in 1992, “SQL:1999” refers to the standard released in 1999, and

Page | 12
“SQL:2003” refers to the current version of the standard. We use the phrase “the SQL
standard” to mean the current version of the SQL Standard at any time.
MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software .
from the Internet and use it without paying anything. If you wish, you may study the
source code and change it to suit your needs. The MySQL software uses the GPL (GNU
General Public License), to define what you may and may not do with the software in
different situations. If you feel uncomfortable with the GPL or need to embed MySQL
code into a commercial application, you can buy a commercially licensed version from
us. The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also has a
practical set of features developed in close cooperation with our users. You can find a
performance comparison of MySQL Server with other database managers on our
benchmark page.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server
today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.
MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a multi-threaded
SQL server that supports different backends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone product.
A large amount of contributed MySQL software is available.
It is very likely that your favorite application or language supports the MySQL Database
Server.
The official way to pronounce “MySQL” is “My EssQue Ell” (not “my sequel”), but we
don't mind if you pronounce it as “my sequel” or in some other localized way.

Page | 13
MySQL includes a MERGE library that allows you to handle a collection of MyISAM
tables that have identical structure as a single MERGE table. To develop this website we
use HTML for client-tier, PHP and JSP for
Business-tier and MySQL for the database-tier. So the hardware environment
requirements to use of this software are at least Intel Pentium II or equivalent processor,
at least 64MB RAM, a database server that need a diskless server but can be the same
machine from which the software will run. So, all of these requirements may be a
constraint to the clients. There are four software components required for the proposed
system. The four components are as follows:
• Operating System
• Web Server
• Database
• Web Browser
• Operating System
As our system will be platforms independent; so, there is no constraints in case of
operating system in using this software. Windows and Linux operating systems are
considered to be extremely stable platforms. One of the advantages of using the Linux
operating system is the speed at which performance enhancements and security patches
are made available since it is an open source product.

Web Server
The available web server’s platforms are IIS and Apache. Since Apache is open source,
software security patches tend to be released faster. One of the downsides to IIS is its
vulnerability to virus attacks, something that Apache rarely has problems with. Apache
offers PHP; a language considered to be the C of The next part is the end user
environment. Before we have explain that we have assume that the end users are not so
much aware about the computer and they are not so much interested to divert their
activities to the automated system from the manual system.

3.6.2 Security requirements


Security requirement is the next part. As we developed OIQS by using 3-tier architecture,
so this system is secured. Because end user can’t access the database directly as in 3-tier
architecture database are accessed via business logic.

Page | 14
3.6.3 Performance requirements
Now we will discuss about the performance requirements. This OIQS system might be
faster than other web based system. Because this system is developed using HTML, PHP,
and MySQL that are open source and can run faster.

3.6.4 Network communication


The network communication of our system will be the web based. All the users might
have to network connections.

3.6.5 Goals and guidelines


Our main goal is to develop an effective and efficient system. To design this system we
gave priority end users expectations.
For a good design, we need to consider the Criteria for good sub-system/UML diagram
design. These criteria are Coupling and Cohesion. Coupling measures the degree of
interconnectedness between design classes/components/sub-systems. For a better design
low coupling is preferable. Cohesion, on the other hand, measures the degree to which an
element (class/component/subsystem) contributes to a single purpose. For a better design
high cohesiveness is preferable. Our design follows these two criteria. We also try to
make the design considering user satisfaction.
Our Emphasis We gave emphasis on the effectiveness of the system that is correctness of
the system and then efficiency of the system. Efficiency includes various things; these are
speed of the system, how much memory the system needed when running, how much
easier the software to use etc. The automated system is introduced to ensure faster and
secured activities of the processes. We design the system emphasis in those things. One
example of emphasizing is that to make the system faster we chose thin client and thick
server. Working, Looking, or feeling
Our main objective is to satisfy the users. If they feel good by using this system then it
will be really a very good job done.

3.6.6 ARCHITECTURAL STRATEGIES


We chose all the things that are software architecture, programming languages to develop
this OIQS considering a good design strategy. After considering these factors we arrived
at the following architectural infrastructure.

Page | 15
3.6.7 SOFTWARE
Programming Language:
Programming Language for Client Tier. We use HTML and PHP to design the client tier.
Because HTML and PHP are easy to use and it will be helpful for us to design the client
tier using HTML and PHP.

Programming Language for Business-tier


We use PHP and JSP to design the Business-tier because it is an open source
programming language that is widely popular on the web. PHP is well known for fast
performance and it is also well known for its quick and easy web development
capabilities. PHP is an easier programming language to learn than JavaScript because the
core language is small. That is why it is easier to us to design the Business-tier using PHP.

Programming Language for Database-tier


We use MYSQL to design the database-tier. The MySQL database has become the world's
most popular open source database because of its consistent fast performance, high
reliability and ease of use. It's used in more than 11 million installations ranging from
large corporations to specialized embedded applications on every continent in the world.
Not only is MySQL the world's most popular open source database, it's also become the
database of choice for a new generation of applications built on the LAMP stack (Linux,
Apache, MySQL, PHP / Perl / Python.) MySQL runs on more than 20 platforms including
Linux, Windows, OS/X, HP-UX, AIX, Netware, giving user the kind of flexibility that
puts user in control.

3.6.8 LIBRARIES AND TOOLS


1. Macromedia Dreamweaver 8
2. Appserv2.5.7

3.6.9 SYSTEM ARCHITECTRE


System refers to both hardware and software. The system architecture describes the
collection of inter-connected hardware nodes on which the software will eventually run.
System architecture consists of Hardware nodes, the connectivity among nodes, the
location of users, inputs and outputs;

Page | 16
• Software Architecture
We use Three-tier architectures to design our system. Because 3-tier Architecture
increases performance, flexibility, maintainability, reusability, and scalability while hiding
the complexity of distributed processing from the users/clients.

CLIENT TIER: Here client-tier is the first tier of our System/Software that the end-users
(students, teachers and admin) will use.

BUSINESS LOGIC TIER: System/Software that Client-tier use to get data from the
Database Server. Client-tier cannot access Database Server directly. It must request the
Business Logic Server first. Upon authorization, the Business Logic Server will get the
required data from Database Server and reply to the Client appropriately.

DATABASE SERVER: Central and persistent storage of all data from where Business
Logic access data.

Page | 17
4. DATA-FLOW DIAGRAMS

LEVEL:0

LEVEL:1

Page | 18
LEVEL:2

A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modelling its process aspects. A DFD is often used as a
preliminary step to create an overview of the system without going into great detail,
[2]
which can later be elaborated. DFDs can also be used for the visualization of data
processing (structured design).
A DFD shows what kind of information will be input to and output from the system, how
the data will advance through the system, and where the data will be stored. It does not
show information about process timing or whether processes will operate in sequence or
in parallel, unlike a traditional structured flowchart which focuses on control flow, or a
UML activity workflow diagram, which presents both control and data flows as a unified
model.
Page | 19
Context Diagram. A context diagram is a top level (also known as "Level 0") data flow
diagram. It only contains one process node ("Process 0") that generalizes the function of
the entire system in relationship to external entities.

DFD Layers. Draw data flow diagrams can be made in several nested layers. A single
process node on a high level diagram can be expanded to show a more detailed data flow
diagram. Draw the context diagram first, followed by various layers of data flow
diagrams.

DFD Levels. The first level DFD shows the main processes within the system. Each of
these processes can be broken into further processes until you reach pseudo code.

LEVEL 0:
In this level the users who uses this website are of two types they are as follows:
1.admin_user
2.registered_user
*administrator who uses this website creates, modifies as well as deletes question from
the database.
*registered user can select any particular topic he wish and can attempt the quiz and get
the results automatically.

LEVEL 1:
LEVEL 1 IS AN EXTENSION OF LEVEL 0.

Here the registered user takes up the test. The test process generates a quiz for the
registered user on the particular topic they choose and next the evaluation process takes
place and at last the results gets displayed to the user.
Level 1 mainly contains the following components
*user_data
*registered user
*test process
*evaluation

LEVEL 2:
Level 2 is an extension of level 1.

The main components involved in level 2 are as follows:


Page | 20
*user
*login
*registration
*authenticated user
*test
*evaluation
*result
*certificate.
At first any user has to login by his username or password if he is already registered .if
not first the user has to get registered by entering his details such as
username,email,password after registering then he has to login. The username and
password are authenticated if they are valid then the authenticated user can take up the
quiz or else he is treated as invalid user and he can try again to login with the correct
details.
The authenticated user can select any topic he wishes and can take up the quiz
the questions will be retrieved from the database and the user submits the answer after
completion of the quiz and next the test is evaluated and results will be displayed
automatically based on the marks scored if maximum marks are obtained certificate is
generated or else the user can try again .administrator has the authority to create ,modify
and delete any question from the database admin has a admin id and password to perform
this operation.

4.1 FLOWCHART:
A flowchart is a type of diagram that represents an algorithm, workflow or process,
showing the steps as boxes of various kinds, and their order by connecting them with
arrows. This diagrammatic representation illustrates a solution model to a given problem.
Flowcharts are used in analyzing, designing, documenting.

Page | 21
Page | 22
5. CASE TOOL

5.1 INTRODUCTION TO RATIONAL ROSE


This is a brief overview to get students started in using Rational Rose to quickly create
object-oriented models and diagrams. It is not by any means a complete introduction to
Rational Rose, but it should get you started.

A. GETTING STARTED:
Click on Start, Programs, Rational Suite Development Studio 1.5, and then on Rational
Rose 2000 Enterprise Edition (not the one that has the arrow next to it). You will now
see a window appearing that says “Create New Model”. This is for working with Java,
Oracle, and VB. Just press “Cancel”.
Next, you see the main window called “Rational Rose- [untitled]” and a smaller window
within it called “Class Diagram: Logical View / Main”. There is also a browser on the
left side of the page that has the diagrams that you are working on in the project. If you
ever want to see the specifics on any diagram that you are working on, go to the browser,
click on the “ + “, and you’ll be able to see what is in that view. To close the view, click
on the – “.

1. The first diagram you’ll be working on is a use-case diagram. Go to Browse


and click on Use Case Diagram. You will get a window saying Select Use Case
Diagram. Click on OK. You now will see a new window called Use Case
Diagram: Use Case View / Main. You will see a set of tools to the left of this window.
These tools are specific to the Use Case diagram and will be used to create it. To make a
Use Case, go to the tools and click on the one that looks like an oval. This is the Use Case
button. (Note: If you ever want to know if it’s the right button, just hold the mouse arrow
over the button for two seconds, and it will tell you what the button is.)

2. Once you have clicked on the Use Case button, position the new mouse pointer
wherever you want on the page and click again. The oval will now appear on the page.
Now, type in a name for your Use Case. To reposition the Use Case, just click once on
the Use Case. To change it’s property (name etc.) double click on the Use.

Page | 23
3. Now, we need to add some actors, which are actually the classes in this project (you’ll
see this later as you continue). Click on the stick figure in the
toolbox. Now, click anywhere on the Use Case Diagram to place the actor. Once again,
name your actor. As with the use cases, to reposition the actor click once or change its
name, double click on the actor.

4. Finally, we want to connect the use cases with the actors. In order to do this, click in
the toolbox on the box that has the curved arrow that says
Unidirectional Association. This will allow you accomplish this task. You are now
finished with the Use Case Diagram portion of the project. Don’t forget to save!!!

5. Now, we want to give the attributes their types, initialize the types, and
distinguish the attributes as public, private, or protected. To do this, double click on the
class anywhere that is blank. A new window called Class Specification will pop up.
Click on attributes. Double click on the attribute that you want to select. Another new
window called Class Attribute Specification pops up. In this window, you can initialize
your attribute to any value, specify if it’s public, private, or protected, and give it the type.

6. Next, we add some methods to our class. To insert a method of the class, right click on
the class and this time select new operation. Now, type in the name of the method of the
class. We also want to add arguments for the new operation. To do this, once again,
double click on the class anywhere that is blank. The Class Specification window will
again pop up. Click on operations. Double click on the method that you want to select.
Another new window called Operation Specification pops up. In this window, the
General tab is already selected. (If not, select it). Here you can decide if the methods will
be public, private, or protected. After doing this, select the Detail tab. Right click in the
space below Name. Select insert. Now, type in the name of the argument. Hit tab to
insert the argument’s type. Hit tab again if you want to set the argument to default. Press
OK and you’re back to Operations. Press OK again.

7. Great. Now that we have all the classes created, we can create an
UNIDIRECTIONAL ASSOCIATION connection between classes. Click on the
UNIDIRECTIONAL ASSOCIATION icon. Now, click on the first class, hold the

Page | 24
mouse button down, drag the mouse to the other class, and release the mouse button. To
name the association, double click on the association connection line. The Association
Specification window pops up. Type the Association name in the space provided. Press
OK. Now, we need to insert the cardinality of the class association. To do this, right click
on the association connection line, next to the first class. Select multiplicity and finally
select the correct cardinality. Do the same for the second class
* If you nave more than 1 association between 2 classes, be careful. If you select
association between the 2 classes again, it will overlap the first one. Click on the line,
drag the other association, and release it. You can change the association properties
(name, cardinality by double clicking on them).

8. It’s time for AGGREGATION. It’s basically done the same way that Association is
done. First create the UNIDIRECTIONAL ASSOCIATION connection as above. ** Be
careful! Create the aggregation by starting off on the class that you want the diamond
attached to, then right click on the association line and press AGGREGATE. Don’t
forget to save!!!

5.2 SEQUENCE DIAGRAMS:

1. The last diagram in this exercise is the Sequence Diagram. Once again, this is a
dynamic diagram, like the state diagram. Go to the Browse menu and select Interaction
Diagram. In the Select Interaction Diagram window that pops up, choose Logical View
and click on OK. When the window New Interaction Diagram pops up, choose
sequence as the diagram type and type the title. The tool bar comes beside the diagram.
(Note: A Collaboration Diagram is almost the same as a Sequence Diagram. In this
exercise, we will use the Sequence Diagram).

2. First, we need to choose the class objects that will be interacting in the
diagram. To do this, choose the object icon (which is a rectangular icon). Position the
new mouse pointer wherever you want on the page and click again. To name the class
object, double click on the object (or click inside the rectangle and type).

Page | 25
3. To show a transition in the Sequence Diagram, click the right arrow icon, the Object
Message icon. This is the “Object Message” icon used for transitions. Click on the
vertical dotted line that extends from the bottom of the class object and drag it to the
vertical dotted line of the second class object.

4. To make a self-transition, click on the “U-turn” arrow, the Message To Self icon . This
is the “Message to Self” icon. No dragging is necessary.

5. To name either transition, double click on the transition and type in the
name.
** Note: You can move the transitions slightly up or down as needed by clicking on them
and dragging them.

6. Once you make a transition, the vertical dotted line of the class objects extend.
sequence diagram shows the interaction how the processes interact with one another and
in what order they operate. here the user logins only when the name and password he/she
entered are present in the database already, if not the user want to use the website but he
is not a registered
Member then they can register and then login. After logging in the user can select the
topic in which he/she wanted to take up the quiz and then he attempts the quiz and should
complete it within a stipulated amount of time and then after the answers gets submitted
then automatically the score card gets generated and correct answers for each question
will be displayed and according to score merit certificate will be generated. Administrator
can only have the access to create,alter,delete the questions from the database admin can
modify the test pattern too. Administrator has the authority to perform any operation on
the database only when logged in with a valid id and password. The user can logout after
completing his quiz

Page | 26
USER
SYSTEM DATABSE ADMIN

1 : REGISTERS()

2 : REGISTRATION SUCCESSFULL()

3 : LOGIN() 4 : AUTHENTICATES()

5 : VALID USER()

6 : LOGIN SUCCESSFUL()

7 : SELECT CATEGORY()
8 : CATEGORY NAME()

9 : RETRIEVE QUESTIONS()

10 : DISPLAY QUESTIONS()
11 : SUBMIT ANSWERS()
12 : EVALUATES()

13 : GENERATE RESULTS()

14 : DISPLAY RESULT()

15 : REQUEST CERIFICATE()

16 : VERIFY SCORE()

17 : GRANT CERTIFICATE()
18 : DISPLAY CERTIFICATE()

19 : LOGOUT()

20 : LOGOUT SUCCESSFUL()
21 : ADMIN LOGIN()
22 : LOGIN SUCCESSFUL()

23 : CREATE/MODIFY/DELETE QUESTIONS()

24 : CHANGES SUCCESSFUL()

25 : ADMIN LOGOUT()

26 : LOGOUT SUCCESSFUL()

Page | 27
5.3 ACTIVITY DIAGRAM
They are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. Initially user is made to fill all registration
fields filled in registration form. Once the user clicks submit, the username is verified. If
the, username is already present, then the user is again taken back, So ,that he can change
the username. If the username is not present then it checks for password and remaining
mandatory fields. If any of the mandatory field is left empty or filled incorrect, then the
user is informed to enter the correct values. Once all verifications are succeeded, then the
registration is done.
To enter into the registration page the user have to enter the details first.
After entering the details he has to verify the user name. If suppose the user name already
exists then he has to enter the details. Then he has to verify the password. If the
registration is successful then the unique id will be provided. Then the user can go the
home page. To fill the farmer/wholesaler registration form then he has to fill all the
details. Then the verifying the username , password and the registration form. After
verification he has to fill all the registration details. Then for the user the user id will be
provided for the student/faculty. If the deny registration then the user has to go the home
page.

ACTIVITY DIAGRAM FOR ADMINISTRATOR:

ADMIN LOGIN

ENTER DETAILS

INVALID DETAILS

VALID ADMIN

SELECT CATEGORY

CREATE NEW QUESTION MODIFY QUESTION

SET QUESTION ID
SELECT EXISTING QUESTION

YES

ADD/DELETE QUESTION,OPTIONS,CORRECT ANSWER

MODIFY MORE QUESTIONS

NO

LOGOUT

Page | 28
ACTIVTY DIAGRAM FOR USER:

LOGIN

ENTER DETAILS
INVALID ID/PASSWORD

VALID USER
SELECT QUIZ

ATTEMPT QUIZ

SUBMIT QUIZ

GET SCORE CARD

YES

GET CERTIFICATE
YES

TAKE NEW QUIZ

NO

LOGOUT

FINAL STATE

Page | 29
5.4 CLASS DIAGRAM:
It is a diagram which is a static structure of a system that shows the system’s
classes, their attributes and the operations or methods along with their relationships
among the classes. The main aim of the administrator to create new question and the
corresponding answer for them. This diagram makes the view more clear about what
happening in the project. The functions performed are update, delete, modify etc
It shows the clear idea of attributes and operations performed by the user. If he/she is
new user, they can perform the operation of registration() and if already registered user
the they can login() and can continue answering.
After submitting report is generated with attributes of name and category which the
user opts for.

Page | 30
5.5 USE CASE DIAGRAM

System

GET REGISTER FILL APPLICATION

ANSWER QUIZ

STUDENT SUBMIT TEST

LOGIN AUTHENTICATION

SET QUESTION PAPER

ADMIN
DECLARE RESULTS

REVIEW STUDENT TEST

The users of our system are students and faculty members. This diagram will explain the
interaction between their role and the system. The use case diagram is given in the high
level by representing the goals of the actor. The administrator can login to the question
generation module using the authentication provided and can perform the operation of
add/modify/delete/mov_next/mov_previous functions. The user can enter the question
bank module by satisfying the authentication need. The new user can perform the act of
registering when they enter for the first time. Therefore the user can answer their question
on their interesting topics.

THERE IS DIFFERENT USE CASE SCENARIOS:


Use Case UC1: Sign In
Primary Actor: Admin, Student
Stakeholders Interests:
Admin: Wants to access the system as a valid user that is as a
Administrator
Student: Wants to access the system facilities as a valid user that is as a

Page | 31
Student
Organizations: Wants to avoid those people who are not registered in
the system. Also want to ensure the security. Preconditions: Users
are registered in the system.
Post conditions: Successful login for all registered users.
Main success scenario:
A user starts to sign in.
User enters *user id, *password and *user type.
System checks weather user id, password and user type is valid or not.
If valid then starts a user session and give access permission.
Errors:
If the user type is invalid then system shows an error message that
“Invalid User Type. Please Re-enter Correct User Type”.
If the user id is invalid then system shows an error message
that “Invalid User ID. Please Enter Correct User ID“.
If the password is invalid then system shows an error message that
“Your Password is Invalid. Please Enter Correct Password“.
If the user id and password are invalid then system shows an error
Message that “Invalid User ID and Password. Please Enter Correct
User ID and Password“.

Use Case UC2: Sign Out


Primary Actor: Admin, Student
Stakeholders Interests:
Admin: Wants to close the session as an administrator.
Student: Wants to close the session as a student.
Organizations: Wants to ensure the security of the user’s transactions.
Preconditions: User is identified and authenticated by starting a sign in
session.
Post conditions: Ensure that all useful and necessary works is saved
to the server.
Main success scenario:
User starts Sign Out.
System closes that user session.

Page | 32
Use Case UC3: Add Question
Primary Actor: Admin
Stakeholders Interests:
Admin: Wants to keep the questions up to date.
Organizations: Wants to take online intelligent quiz.
Preconditions: Administrator is identified and authenticated.
Post conditions: All questions are saved.
Main success scenario:
Administrator enters question level, question num, subject id, question,
answer options 1 to 4, answer and mark.

System checks weather this question level is full or not. If not full then
add the question in the question bank.
System shows all the questions in that level after a successive add.
Teacher continues step 1 to step 4 each time he/she want to add a new
question in the question bank.

Use Case UC4: Edit Question


Primary Actor: Administrator
Stakeholders Interests:
Teacher: Wants to keep the questions up to date.
Organizations: Wants to take online quiz.
Preconditions: Administrator is identified and authenticated.
Post conditions: All questions are saved.
Main success scenario:
Teachers start to edit questions.
He/She can see all the questions on necessity.
Administrators enter question level, question num, subject id to edit a
question.
System checks weather this question exists or not. If exists then
prompt teachers to edit the question and teachers enter question level,
question num, subject id, question, options 1 to 4, answer and mark.
System shows all the questions in that level after a successive edit.

Page | 33
Use Case UC5: Add User Info
Primary Actor: Admin
Stakeholders Interests:
Admin: Wants to keep the user information up to date.
Organizations: Wants to take intelligent quiz, to keep the users info up
to date.
Preconditions: Admin is identified and authenticated.
Post conditions: All information are saved.
Main success scenario: -
Admin start to add new user information
Admin enters user name, id, password, and user category.
System checks weather the same user is registered before or not. If not
registered then add the user information in the database. If registered
then system prompt admin to enter another user id.
System shows the user information after each successive add.
Admin continue step 1 to step 4 each time he/she want to add a new
user in the database.

Use Case UC6: Quiz result


Stakeholders Interests:
Organizations: Wants teachers can evaluate the students more effectively.
Preconditions: questions are to be answered before the time limit.
Post conditions: Quiz result is saved.
Main success scenario: -
System checks weather these entered input is valid or not. If valid
then student marks, performance is shown. Error:

If these entered inputs are not valid then system gives an error message
that is “Your given input is not valid” and prompt the user to enter
correct quiz number, course id and teacher id again.

Page | 34
6. MODULE DESCRIPTION

This project involves following phases:

ADMINISTRATOR
1. Authentication phase
2. Question generation phase
3. Report generation phase

PARTICIPANT
1. Authentication phase
2. Registration phase
3. Rules and category selection phase
4. Question bank phase
5. Result generation phase

ADMINISTRATOR/AUTHENTICATION PHASE:
This proposed system is completely authenticated in order to enhance security and
corruptions of database as well as the software. A person is given access permission to
this system when he/she has got a valid username and password i.e. the administrator.
Hence this authentication module includes two fields where administrator (programmer)
is asked to enter the username and password. The details include:
1. Username
2. Password

QUESTION GENERATION PHASE:


This phase includes the various categorized question generation. In this phase the
administrator can perform add, modify, delete, move_next, move_previous, clear_all
operation. This phase may be the most important phase in proposed system, because it is
the one where the entire system gets the categorized question.

REPORT GENERATION PHASE:


This phase contains various report generation related to our system such as
Administrator report, Participant report, Rank etc. the report gives the overall view about
our system.

Page | 35
PARTICIPANT AUTHENTICATION PHASE:

This proposed system is completely authenticated in order to enhance security and


corruptions of database as well as the software. A person is given access permission to
this system when he/she has got a valid username and password. Hence this
authentication module includes two fields where participant is asked to enter their
username and password. The details include:
1. Username
2. Password

REGISTRATION PHASE:
If the participant is an existing user then he can enter into the system, using his
valid username and password. If the participant is a new one then he has to fill the
registration form. Now valid username and password will assign to the user. Using that he
can enter into the system.

RULES AND CATEGORY SELECTION PHASE:


This phase provides the students with a set of rules and regulations to be followed
while attending the quiz. It is useful for the user who is new to the online process so that
they can have a clear idea of what has to be done. This module also provides the students
a special feature of category selection. This category includes Sports, Science, Software,
and General Knowledge. Based on the category questions are put forth to the students.

QUESTION BANK PHASE:


This phase provides the students a set of multiple-choice questions and a set of
answers below the specific question. Once after the current question has been answered it
automatically makes a move to the second question with their corresponding answers.
This module is provided with four fields:
1. Question number
2. Question field
3. Option 1
4. Option 2
5. Option 3

Page | 36
RESULT GENERATION PHASE:
The result of the corresponding student is generated based on his, her performance
in the test. The result is generated at the end of the quiz. The result is generated with the
help of following field:
1. Username
2. Category
3. Mark

Page | 37
7. IMPLEMENTATION

7.1 BLOCK DIAGRAM

DESCRIPTION:
The block diagram mainly consists of database, administrator, user. First the user must be
registered to take-up the monitoring system ,if not the user must have to register with his
name, password and email and then after registering the user can then login and after
logging in they can attempt the quiz by choosing REAL TIME MONITORING SYSTEM
where we have multiple topics and we can select a topic in which we wanted to take the
monitoring system and then the system gets started and the questions related to the
particular topic will be displayed on the screen and the user has to answer all the
questions within the time slot given .if he submits the answers or not ,after completion of
the time automatically the answers will be submitted and next the result will be displayed
i. e score card. if any question is attempted wrong or is not attempted at all then the
correct answers will be displayed along with the score. then according to the score
generated if maximum questions are answered correct then a certificate will be generated
and user can download the certificate by clicking get certificate and then next the
download option.

Administrator define the number of questions, time of the quiz, schedule for
the quiz etc. According to these information question will be generated
for students. Administrators are responsible for add and edit questions from
the question bank. They add question in the question bank in different level
according to their level of difficulty. Generator engine generate questions
for a quiz from the question bank.

Page | 38
Student can appear in the quiz and can score according to his knowledge in any
particular topic he chooses. At the end of a quiz they can see the correct answers and
their performance..
For the same quiz of a subject Question Generator may generates
different question for different student. That is question may very
student to student for the same quiz while they are appear in the quiz at
the same time.
To design the software we use 3-tier architecture. As 3-tier architecture
divide the whole system into three parts, so to design the system we
divide our system into three subsystems These are Client Tier/ Client
subsystem, Business Logic Tier/ Business Logic subsystem, and
Database Tier/ Database subsystem

7.2 DATABASE DESIGN

ADMINISTRATOR :

TABLE: QUIZADMIN
NAME TYPE
USERNAME VARCHAR(10)
PASSWORD VARCHAR(10)

TABLE: QUESTIONS
NAME TYPE
ID NUMBER(10)
QUESTION VARCHAR(10)
OPT1 VARCHAR(10)
OPT2 VARCHAR(10)
OPT3 VARCHAR(10)
OPT4 VARCHAR(10)
CORRECT_ANS VARCHAR(10)

Page | 39
TABLE: USERS
NAME TYPE
UID NUMBER(10)
EMAIL VARCHAR(10)
PASSWORD VARCHAR(10)
NAME VARCHAR(10)

TABLE: SCORE
NAME TYPE
UID NUMBER(10)
NAME VARCHAR(10)
SCORE VARCHAR(10)

7.3 CODING:
QUIZ.PHP
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"></meta>
<link rel="style sheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="style sheet" href="https://fonts.googleapis.com/css?family=Railway">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/4.7.0/css/font-awesome.min.css">
</head>
<body onload="setCountDown();">
<div id="remain" style="color:red;position:fixed;top:100px;right:35px;" ><?php
echo "<h2>Time left - $remainingMinutes : $remainingSeconds</h2>";?></div>

Page | 40
<h1 align="center"><img src="logo.jpg" title="logo image"
alt="CONQUIZ" width="200" height="80">
</h1>

<?php
session_start();
$db = mysqli_connect('localhost','root','','conquiz');
$sql="SELECT * FROM questions";
$result=mysqli_query($db,$sql); $Questions
= array();
function UniqueRandomNumbersWithinRange($min, $max,
$quantity) {
$numbers = range($min, $max);
shuffle($numbers);
return array_slice($numbers, 0, $quantity);
}
$randNum=UniqueRandomNumbersWithinRange(1, 10, 10);
foreach($randNum as $index=>$no){
foreach($result as $row) {
if($no==$row['id'])
$Questions[] = $row;
}

}
//print_r($Questions);
$_SESSION['Array']=$Questions;
$dateFormat = "d F Y -- g:i a";
$targetDate = time() + (30);
$actualDate = time();
$secondsDiff = $targetDate - $actualDate;
$remainingMinutes = floor(($secondsDiff)/60);
$remainingSeconds = floor(($secondsDiff)-($remainingMinutes*60));
?>
<script type="text/javascript">

Page | 41
var minutes = <?php echo $remainingMinutes; ?>
var seconds = <?php echo $remainingSeconds; ?>
function setCountDown () {

seconds--;
if (seconds < 0){
minutes--;
seconds = 59
}
if (minutes < 0){
hours--;
minutes = 59
}
document.getElementById("remain").innerHTML = "<h2>Time left
- "+minutes+" : "+seconds+"</h2>";
SD=window.setTimeout( "setCountDown()", 1000 );

if (minutes == '00' && seconds == '00') {


seconds = "00";
document.getElementById("modal").click();
window.clearTimeout(SD);
window.alert("Time is up. Press OK to get result.");
}

</script>
<span class="topcorner" style="border:3px left
;width:400px;height:100px;background-color: #D1F2EB;box-shadow: 6px 6px 5px;
#999; -webkit-box-shadow: 6px 6px 5px #999; border-radius: 10px;-moz-box-
shadow: 6px 6px 5px #999;">
<?php
$user=$_SESSION['user'] ;
echo $user;?>

Page | 42
<div style="position:relative;right:0px;">
<form action="logout.php">
<input type="submit" id="logout" value="Log out" style="width: 100px;
padding: 0px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px
6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; background:#B2BABB;
color:#000; border: 1px solid #999; font-size:
70%;" /> </form></div>
</span>
<div style="border:3px left
;position:relative;left:250px;width:1000px;height:1500px;background-color:
#D1F2EB;box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999;
border-radius: 10px;-moz-box-shadow: 6px 6px 5px #999;">
<div style="position:relative;left:30px;bottom:10px;top:30px;">
<form action="score.php" method="post" id="quiz" name="quizform">
<?php $cnt=0;
foreach($Questions as $QuestionNo => $Value) { $cnt++;
?>
<?php echo $cnt.".".$Value['question'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option1'];?>"><?php echo $Value['option1'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option2'];?>"><?php echo $Value['option2'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?
php echo $Value['option3'];?>"><?php echo $Value['option3'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option4'];?>"><?php echo $Value['option4'];?><br>

<?php
}
?>

</div><br /><br /><br /><br /><br />


<div align="center">

Page | 43
<input type="submit" id="modal" value="Submit Quiz" style="width:
200px; padding: 10px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-
shadow: 6px 6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; font-weight: bold;
background:green; color:#000; border-radius: 10px; border: 1px solid #999; font-
size: 120%;" />
</div>
</form>
</div>
<br /><br /><br /><br /><br />
<footer class="w3-container w3-padding-0px w3-light-grey w3-
center w3-large">
<p>Powered by ConQuiz<sup>TM<sup>&copy</sup></sup></p>
</footer>
</body>
</html>
Score.php:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1"></meta>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <link
rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway"> <link
rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<h1 align="center"><a href="homepage.php"><img src="logo.jpg"
title="ConQuiz" alt="CONQUIZ logo" width="200" height="80"></a></h1>
<?php
session_start();
$a=$_SESSION['Array'];
?>
<div style="font-size:130%;" class="w3-bar-item w3-button w3-
grey">Score Card</div>

Page | 44
<div style="position:relative;left:100px;bottom:10px;top:30px;">
<?php
if (isset($_POST)) {
$Answers = $_POST;
$count=0;
$total=0;$cnt=0;
foreach ($a as $QuestionNo => $Value){ $cnt++; ?>
<div style="border:0px solid background-
color:lightblue;width:800;">
<?php
echo $cnt.".".$Value['question'].'<br />';
if(isset($Answers[$QuestionNo]))
{
if ($Answers[$QuestionNo] !=
$Value['correctanswer']){
echo 'Your answer : <span style="color:
red;">'.$Answers[$QuestionNo].'</span><br>';
echo 'Correct answer : <span style="color:
green;">'.$Value['correctanswer'].'</span>';
}
else {
echo 'Actual answer : <span style="color:
green;">'.$Answers[$QuestionNo].'</span><br>';
echo 'WOW! You are correct';
$count++;
}
}
else {
echo '<span style="color: orange;">'.'You have not
attempted the question'.'</span><br>';
echo 'Correct answer : <span style="color:
green;">'.$Value['correctanswer'].'</span>';
}
echo '<br />';?> <hr><?php

Page | 45
$total++; ?> </div> <?php
} ?>
<span class="topcorner" style="border:3px left
;width:400px;height:100px;background-color: #D1F2EB;box-shadow: 6px 6px 5px;
#999; -webkit-box-shadow: 6px 6px 5px #999; border-radius: 10px;-moz-box-
shadow: 6px 6px 5px #999;">
<?php
$user=$_SESSION['user'] ;
echo $user;?>
<div style="position:relative;right:0px;">
<form action="logout.php">
<input type="submit" id="logout" value="Log out" style="width: 100px;
padding: 0px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px
6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; background:#B2BABB;
color:#000; border: 1px solid #999; font-size: 70%;" />

</form></div>
</span>
<div style="position:relative;left:500px">
<div style="width: 300px;height:200px; padding: 10px; cursor:
pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999; -moz-
box-shadow: 6px 6px 5px #999; font-weight: bold; background:#F7DC6F;
color:#7B241C; border-radius: 10px; border: 1px solid #999; font-size: 190%;">
<?php echo "<br>&nbsp&nbsp&nbsp&nbsp&nbspYour Score
<br>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp$count/$total"; ?>
</div></div><br>

<?php
}
else {
echo '<h1 style="position:relative;left:515px;"><b>No Answers
Found</b></h1><br><br>'; ?>

Page | 46
<form action="quiz.php" method="post">
<input type="submit" value="Rewrite quiz"
style="position:relative;left:540px;width: 250px; padding: 10px; cursor: pointer; box-
shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999; -moz-box-shadow:
6px 6px 5px #999; font-weight: bold; background:#B2BABB; color:#000; border-radius:
10px; border: 1px solid #999; font-size: 120%;"/>
</form><br /><br /><br /><br /><br /><br /><br /><br /><br /><br
/><br />
<?php }
?>
<a href="quizcorner.php" style="position:absolute;right:100px;font-
size:150%;" class=" w3-border w3-button w3-grey"><- Return to Quiz Corner</a>
</div><br /><br /><br /><br /><br /><br />

<footer class="w3-container w3-padding-0px w3-light-grey w3-center w3-


large">
< p>Powered by ConQuiz<sup>TM<sup>&copy</sup></sup></p>
</footer>
</body>
</html>
Login.php:
<?php
$db = mysqli_connect('localhost','root','','conquiz');
$msg = "";
if(isset($_POST))
{
session_start();
$email = $_POST["email"];
$password = $_POST["password"];
$email = mysqli_real_escape_string($db, $email);
$password = mysqli_real_escape_string($db, $password);
$password = md5($password);
$sql="SELECT name,email,password FROM users WHERE
email='$email'";

Page | 47
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) ==
1&&$password==$row["password"])
{
//$msg = "login successful";
$_SESSION['user']=$row['name'];
header( "Location: homepage.php" );
}
else
{

//$msg = "Invalid email or password";


session_destroy();
}
}
exit();

?>
Logout.php:
<?php
session_start(); //to ensure you are using same session
session_destroy(); //destroy the session
header("location:front.php"); //to redirect back to "index.php" after logging out
exit();
?>
Register.php:
<html>
<body background="background.png">
<?php
$db = mysqli_connect('localhost','root','','conquiz');
$msg = "";
if(isset($_POST))
{

Page | 48
$name = $_POST["name"];
$email = $_POST["email"];
$password = $_POST["password"];
$name = mysqli_real_escape_string($db, $name);
$email = mysqli_real_escape_string($db, $email);
$password = mysqli_real_escape_string($db, $password);
$password = md5($password);
$sql="SELECT email FROM users WHERE email='$email'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) == 1)
{
?>
<div align="center" style="position:relative;top:250px;">
<h1>Sorry.......This Email is already exists.</h1>
<a href="front.php" style="width: 300px; padding: 10px;
cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px
#999; -moz-box-shadow: 6px 6px 5px #999; background: #C0C0C0; color:#000; border:
1px solid #999; font-size: 120%;">TRY WITH NEW EMAIL ID</a>
</div>
<?php
}
else
{
$query = mysqli_query($db, "INSERT INTO users (name,
email, password)VALUES ('$name', '$email', '$password')");
if($query)
{
//$msg = "Thank You! you are now registered.";
header( "Location: front.php" );
}
}
}
?>

Page | 49
Register.css:
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box} /* Full-width
input fields */ input[type=text],
input[type=password] {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
display: inline-block;
border: none;
background: #f1f1f1;
}

/* Add a background color when the inputs get focus */


input[type=text]:focus, input[type=password]:focus {
background-color: #ddd;
outline: none;
}

/* Set a style for all buttons */


button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
opacity: 0.9;
}

button:hover {
opacity:1;
}

Page | 50
/* Extra styles for the cancel button */
.cancelbtn {
padding: 14px 20px;
background-color: #f44336;
}

/* Float cancel and signup buttons and add an equal width */


.cancelbtn, .signupbtn {
float: left;
width: 50%;
}

/* Add padding to container elements */


.container {
padding: 16px;
}

/* The Modal (background) */


.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: #474e5d;
padding-top: 50px;
}

/* Modal Content/Box */
.modal-content {

Page | 51
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and
centered */
border: 1px soli d #888;
width: 80%; /* Could be more or less, depending on screen size */
}

/* Style the horizontal ruler */


hr {
border: 1px solid #f1f1f1;
margin-bottom: 25px;
}

/* The Close Button (x) */


.close {
position: absolute;
right: 35px;
top: 15px;
font-size: 40px;
font-weight: bold;
color: #f1f1f1;
}

.close:hover,
.close:focus {
color: #f44336;
cursor: pointer;
}

/* Clear floats */
.clearfix::after {
content: "";
clear: both;
display: table;

Page | 52
}

/* Change styles for cancel button and signup button on extra small screens
*/ @media screen and (max-width: 300px) {
.cancelbtn, .signupbtn {
width: 100%;
}
}
Login.css

/* Full-width input fields */


input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}

/* Set a style for all buttons */


button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}

button:hover {
opacity: 0.8;
}

Page | 53
/* Extra styles for the cancel button */
.cancelbtn {
width: auto;
padding: 10px 18px;
background-color: #f44336;
}

/* Center the image and position the close button */


.imgcontainer {
text-align: center;
margin: 24px 0 12px 0;
position: relative;
}

img.avatar {
width: 40%;
border-radius: 50%;
}

.container {
padding: 16px;
}

span.psw {
float: right;
padding-top: 16px;
}

/* The Modal (background) */


.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */

Page | 54
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
padding-top: 60px;
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and
centered */
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
/* The Close Button (x) */
.close {
position: absolute;
right: 25px;
top: 0;
color: #000;
font-size: 35px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: red;
cursor: pointer;
}
/* Add Zoom Animation */
.animate {
-webkit-animation: animatezoom 0.6s;

Page | 55
animation: animatezoom 0.6s
}
@-webkit-keyframes animatezoom {
from {-webkit-transform: scale(0)}
to {-webkit-transform: scale(1)}
}
@keyframes animatezoom {
/*from {transform: scale(0)}
to {transform: scale(1)}*/
}
/* Change styles for span and cancel button on extra small screens */
@media screen and (max-width: 300px) {
span.psw {
display: block;
float: none;
}
.cancelbtn {
width: 100%;
}
}

Page | 56
8. TESTING

8.1 INTRODUCTION:
Testing is a set of activities that can be planned in advance and conducted systematically
testing requires that the developer discard preconceived notations of the correctness of
the software just developed and overcome a conflict of interest that occurs when errors
are encountered. Testing also provides the main objective of our project and understand
the risk of implementation. Testing is a process of technical investigation, performed on
behalf of stakeholder, that is intended to reveal quantity related information about the
product with respect to the context in which it is intended to operate. Testing is the
process of executing a program or an application with an intent of finding an error or
bugs. Testing can be stated as the process of validating and verifying that a software
program/application/product:

8.2 TEST PLAN:


Test plan will describe about the scope and activities of our modules in the project. We
must plan the test plans in the starting of our project. It will provide a unique identifier
for our document. Testing should begin in “small” and proceeds in the “large”.
Exhaustive testing is not possible. Provides an overview of our test plan. Specify the
goals/objectives/constraints.
Our project has eight modules. So, we will do testing from the starting phase itself .The
main aim of test plan is to produce a correct code with all users requirements satisfied.

8.2.1 UNIT TESTING:


Unit testing is used to test or verify the functionality of specific section of code. This is
written by the developers to ensure that specific function is working or not. A unit is the
smallest part of an application. Unit tests are created by programmers or occasionally by
white box testers during the development process.

8.2.2 INTEGRATION TESTING:


Integration testing (sometimes called Integration and Testing, abbreviated "I&T") is the
phase in software testing in which individual software modules are combined and tested
as a group. It occurs after unit testing and before validation testing . Integration testing
takes as its input modules that have been unit tested, groups them in larger aggregates,
applies tests defined in an integration test plan to those aggregates, and delivers as its
output the integrated system ready for system testing.
Page | 57
Integration testing is a type of software that seeks to verify the interface between
components. The components are integrated in an iterative way. Integration testing will
allow the interface to find the issues more quickly and fixed. It works to expose defects
in the interfaces and interaction between integrated components (Modules).
TEST CASE FOR END USER:
If the user is just visiting our website then he /she can access only the home page.
TEST CASE FOR LOGIN:
If the user has joined into our website they will be provided wih an user id and using that
they can access their account.
TEST CASE FOR CREATE SESSION:
If the user wants to take a test then they can login as user and select their category and
can proceed to next step.

8.2.3 VALIDATION TESTING:


While verification is a quality control process, quality assurance process carried out
before the software is ready for release is known as validation testing. The validation
testing goals is to validate and be confident about the software product or system, that it
fulfills the requirements given by the customer. The acceptance of the software from the
end customer is also a part of validation testing. Validation testing answers the question,
"Are you building the right software system". Another question, which the entire process
of validation testing in software engineering answers is, "Is the deliverable fit for
purpose". In other words, does the software system provide the right solution to the
problem. Therefore, often the testing activities are introduced early in the software
development life cycle. The two major areas, when validation testing should take place
are in the early stages of software development and towards the end, when the product is
ready for release. In other words, it is acceptance testing which is a part of validation
testing.

Page | 58
9. GRAPHICAL USER INTERFACE

Home Page
Page | 59
Sign Up page

Log in page
Page | 60
Quiz Corner

Page | 61
Questions page.

Here 25 questions are listed out to the candidate, who answers them by
choosing the appropriate option, using the radio buttons provided.

Page | 62
Alert after time out

After completion of stipulated time limit, an alert is displayed. Here the


selected answers are automatically submitted to the database and the
candidate navigates to the results page.

Results page
In this page, the evaluated key is provided with the questions and correct
answers.

Page | 63
Score card
A score card is displayed which shows the scored marks against the total
marks.

Administrator Login

Page | 64
Administrator Page

Page | 65
About Page
Page | 66
Contact Page

Page | 67
10. FUTURE ENHANCEMENTS:
CONQUIZ is like a stereotype, we can extends the features of this website. We can
further more and more topics for quiz
• We can provide step materials for the related topics that are there in the quiz
• We can implement using new technologies and provide more user-friendly interface.
• We can make the user interface more attractive
• We can provide an interactive quiz platform which is used to know the user
requirements in an easier way.

BENEFITS:
For web surfers, Online Quiz acts as a popular way of recreation. It is free of cost and
meant for entertainment and they also give prizes. Online Quiz is organized to examine
the wisdom or identify a person’s characteristics. Most of the companies employ online
quiz as an effective manner of examining a prospective employee’s wisdom without that
person’s personal presence.

Page | 68
11. CONCLUSION
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.

Page | 69
12. REFERENCES:

• http://blog.jitbit.com/2007/08/why-we-still-use-vb6-for-some-projects.html

• http://homepages.uel.ac.uk/D.Bowden/

• http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-general-information.html

• http://www.cs.virginia.edu/~horton/cs494/info/rose-howto-v2.pdf

Page | 70

Potrebbero piacerti anche