You are on page 1of 49

CENTRE FORPROFESSIONALANDADVANCED STUDIES

SCHOOL OF TECHNOLOGY AND APPLIED SCIENCES,


EDAPPALLY

PROJECT REPORT ON

ONLINE EVALUATION SYSTEM


Submitted in partial fulfilment of requirement for the award of degree of
BSc Computer Science
Submitted by
AIWAN ANTONY (REG NO: 170021046186)

Under the Guidance of


Ms. NISSA S.S
Assistant Professor

STAS EDAPPALLY
CENTRE FOR PROFESSIONAL AND ADVANCED STUDIES
SCHOOL OF TECHNOLOGY AND APPLIED SCIENCES,
EDAPPALLY
PROJECT REPORT ON

ONLINE EVALUATION SYSTEM


Submitted in partial fulfilment of requirement for the award of degree of
BSc Computer Science
Submitted by

AIWAN ANTONY (REG NO: 170021046186)

Under the Guidance of


Ms. NISSA S.S
Professor

STAS EDAPPALLY
CENTRE FOR PROFESSIONAL AND ADVANCED STUDIES
SCHOOL OF TECHNOLOGY AND APPLIED SCIENCES,
EDAPPALLY
CERTIFICATE

Certified that this is a Bonafied record of the project work entitled “ ONLINE
EVALUATION SYSTEM ” done by AIWAN ANTONY (REG NO:
170021046186) in partial fulfilment of requirement for the award of the degree
BSc Computer Science of Mahatma Gandhi University.

Project Guide Head of Department Principal

Internal Examiner External Examiner


DECLARATION

I hereby declare that this entitled “ ONLINE EVALUATION SYSTEM ” is


submitted in partial fulfilment of the degree of Bachelor of Computer Science
and it is a report of the original work done by me in School of Technology and
Applied Sciences Edappally, Mahatma Gandhi University.

Place:
Date:
AIWAN ANTONY
ACKNOWLEDGEMENT

Firstly, I would like to express my gratitude to the almighty for showering his
blessings upon me in the completion of this venture.

I would like to express my deep sense of gratitude to Dr. Bindu K, Principal,


School of Technology and Applied Sciences, for providing necessary resources
for the completion of this project.

I am very much grateful to Ms. Nissa S.S, Head of the Department, School of
Technology and Applied Sciences Who extended her support and gave me
courage towards the development of my project.

My heartfelt gratitude to my project guide Ms. Nissa S.S Professor, School of


Technology and Applied Sciences for the valuable suggestions and guidance in
the preparation of the project report.

Last but not the least we are very much thankful to my parents, friends and my
well-wishers, who had supported me directly or indirectly, during my project.

AIWAN ANTONY
ABSTRACT
Online Evaluation System is very useful for Educational Institute and
Government to prepare an exam, save the time that will take to check the paper
and prepare mark sheets. Online Evaluation System will help the exam
conductors to test the students and their skills. We are providing a fairly simple,
flexible, customized and cost Effective Exam evaluation System that developed
for Educational Institutions.

The project mainly deals with integrity of mark sheet through digital signature
mechanism. Answer sheet is first scanned and uploaded to cloud, a hash value is
generated for each uploaded item, and is verified when staff starts evaluation.
At verification time, new hash is generated and check with the existing hash
value.
Papers are encrypted and stored in cloud. Only specified staff can able to check
the answer sheets.
CONTENTS

1. Introduction……………………………………………………. 1

1.2 Project Overview……………………………………….. 1


2. System Analysis…………….………………………………...3

2.1 Problem Analysis………………………………………..3


2.1.1 Existing System……………………………… 3

2.1.2 Proposed System…………………………….. 3


2.1.3 Feasibility Study………………………………. .4
2.1.3.1 Technical Feasibility…………………….... 4
2.1.3.2 Behavioral Feasibility……………………. .4

2.2Requirement Specification…………………………….. 4
2.2.1 Software Requirement Specification………… 5

2.3 Hardware and Software Selection and Justification….. 7

2.4 Data Flow Diagram……………………………………10


2.4.1 CONTEXT LEVEL 1 DFD…………………………..12

3. SYSTEM DESIGN…………...………………………………………….17
3.1 USER INTERFACE DESIGN……………………………………………..17

3.2 OUTPUT DESIGN…………………………………………………………18

3.3 DATABASE DESIGN……………………………………………………...18

3.4. DATA & INTEGRITY CONSTRAINTS………………………………….24


4. CODING………………………………………………………………....25

5. IMPLEMENTATION OF SECURITY………………………………..26

5.1 DATA SECURITY…………………………………………………………..26

5.2 USER AND ACCESS RIGHTS……………………………………………..26

6. SYSTEM TESTING…………………………………………………….27

6.1 UNIT TESTING……………………………………………………………..28


6.2 INTEGRATION TESTING………………………………………………...28
6.3 USER ACCEPTANCE TESTING………………………………………….29
6.4 TEST CASE DESIGN……………………………………………………….29
6.5 TEST REPORT AND DEBUGGING………………………………………30

7. SYSTEM IMPLEMENTATION AND MAINTENANCE…………………………...32

8. SCOPE OF THE PROJECT…………………………………………………………34


9. CONCLUSION………………………………………………………………………….35

10. BIBLIOGRAPHY……………………………………………………………………..36

11. APPENDIX……………………………………………………………………………..37
1. INTRODUCTION

PROJECT OVERVIEW

Online Evaluation System is very useful for Educational Institute and Government to prepare an exam,
save the time that will take to check the paper and prepare mark sheets. Online Evaluation System will
help the exam conductors to test the students and their skills. We are providing a fairly simple, flexible,
customized and cost Effective Exam evaluation System that developed for Educational Institutions. The
project mainly deals with integrity of mark sheet through digital signature mechanism. Answer sheet is
first scanned and uploaded to cloud, a hash value is generated for each uploaded item, and is verified
staff starts evaluation. At verification time, new hash is generated and check with the existing hash
value. Papers are encrypted and stored in cloud. Only specified staff can able to check the answer sheets.

❖ Modules:

The system comprises of 4 major modules with their sub-modules as follows:

❖ Admin

• Login

• Manage colleges

• Manage staff

• Manage course

• Manage subjects

• Manage exam schedule

• Manage answer key for exam

• Assign staff with answer sheets [based on hash value]

• View result and publish

• View answer sheet copy request

• Provide answer sheet

1
• View complaint

• Send reply

❖ Colleges

• Login

• View exam schedule

• Manage students

• Upload answer sheets

❖ Staff

• Login

• View assigned answer sheet

• View answer key

• Upload result

❖ Students

• Login

• View exam schedule

• View result

• Request for answer sheet copy

• Send complaint to admin

• View reply

2
2. SYSTEM ANALYSIS

System Analysis refers to the process of examining a situation with the intention of improving it through
better process and methods. System analysis is therefore, the process of gathering and interpreting facts,
diagnosing problem and using the information to recommend information in system or in other words, it
means a detailed explanation or description. Before computerizing a system under consideration, it has
to be analyzed. We need to study how it functions currently, what are problems and what are
requirements that proposed software should meet.

2.1 PROBLEM ANALYSIS

The first steps in the initial investigation are directed towards clarifying the problems of the existing
system of Online Evaluation System. Based on the initial investigation about the existing system it is
found that the existing database is not that efficient and are not flexible. Updating and maintenance is
cumbersome. It is not that secure. The proposed system is thus overseeing all these issues so as to make
the transactions and recording of other details more efficient and secure and also the new system will
have better user interface, making it easier for users to interact with the system.

2.1.1 Existing system

There is no existing system. All things are done in manual. There is no security for answer sheets.
Answer sheets are kept in office, so damage factor is high. Revaluation of answer sheet takes too much
time and etc.

2.1.2 Proposed System

Online Evaluation System will help the exam conductors to test the students and their skills. We are
providing a fairly simple, flexible, customized and cost Effective Exam evaluation System that
developed for Educational Institutions. The project mainly deals with integrity of mark sheet through
digital signature mechanism. Answer sheet is first scanned and uploaded to cloud, a hash value is
generated for each uploaded item, and is verified when staff starts evaluation. At verification time, new
hash is generated and check with the existing hash value. Papers are encrypted and stored in cloud. Only
specified staff can able to check the answer sheets.

3
2.1.3 Feasibility Study

The purpose of feasibility study is to investigate the present system, evaluate the cost and effectiveness
of the proposed system, evaluate the possible applications of computer based methods, select a tentative
system, evaluate the impact of the proposed system on existing personnel and ascertain the need for new
personnel.
Economic feasibility study presents tangible and intangible benefits from the project by comparing the
development and operational cost. The technique of cost benefit analysis is used as a
basis of attaining economic feasibility.
The proposing system is very economically feasible. The hardware used for the propose is already
installed in the college premises. The software is made using the open sourced libraries and languages.
The system needs some training datasets to train itself, this where it might need economical support
require.

2.1.3.2 Technical Feasibility

The system is aimed to be constructed in a way that it can be easily added to the existing system. Other
than a high performance system to read the footage and run the system code.

2.1.3.3 Behavioural feasibility

The proposed system “Online Evaluation System” can be easily accepted as it is very easy to understand
and is very user-friendly. The operations and other features of the proposed system are designed in such
a way that the user can make transaction in a safe and secure way. The software that is being developed
is user friendly and easy to learn. In this way, the developed software is truly efficient and can work on
any circumstances, tradition, locales

2.2 REQUIREMENT SPECIFICATION

A required specification is a structured document, which sets out the system services in details. This
document, also called a functional specification, which should be precise. It may serve as a contract
between the system buyer and the software developer. The requirement definition is developed into the
requirement specification as detailed below.

4
 Facility for administrator control
 Each user has unique identification
 The registrations should be done by the administrator
 Username and password are given by the administrator
 A separate page will be held for each item
The requirement engineering process should normally involve writing requirements definition and then
expanding this into a requirement specification. The requirement definition is targeted at a managerial
level and requirements specification at the technical staff. The software design is based directly on the
requirements specification.
System analysis includes two main procedures. They are: -
1. Preliminary analysis
2. Detailed analysis
The preliminary analysis stage begins when someone encounters a problem or limitation in an existing
system, desires a modification to the existing system. The modification may be either change in existing
system or proposing an entire new system. Detailed analysis expands the preliminary analysis to include
a complete analysis of all possible alternative solutions to the problem and a complete explanation of
what appears to be the most practical solution.

2.2.1 SOFTWARE REQUIREMENT SPECIFICATION

The document contains the detailed documentation of the requirements and functions of „College Anti-
Violence Monitor System‟ like product function, functional requirements, constraints, dependencies etc.
The SRS is organized as its discuss the product description first then the requirements of the products,
and the dependencies that will face by the systems etc. The developer is responsible for:

● Developing the system.

● Installing the software.

● Maintaining the system

5
Secure Evaluation of University Exam is an add-on Feature that can be incorporated to an existing
feature. This system would help the exam to prevent any kind of violations happened in conducting
exams.

The SRS document itself states in precise and explicit language those functions and capabilities a
software system must provide, as well as states any required constraints by which the system must
abide. The SRS also functions as a blueprint for completing a project with as little cost growth as
possible. The SRS is often referred to as “parent” document because all subsequent project management
documents, such as design specifications, statement of works, software architecture specifications,
testing and validation plans, and documentation plans , are related to it.
It‟s important to note that an SRS contains functional and non-functional requirements only; it doesn‟t
offer design suggestion, possible solutions to technology or business issues, or any other information
other than what the development team understands the customer system requirement to be.
A well designed, well written SRS accomplishes four major goals:

 It provides feedback to the customer. An SRS is the customer‟s assurance that the development
organization understands the issues or problems to be solved and the software behavior
necessary to address problems. Therefore, the SRS should be written in natural language in an
unambiguous manner that may also include charts, tables, data flow diagrams, and decision
tables and so on.
 It decomposes the problem into component parts. The simple act of writing down software
requirements in a well-designed format organizes information, places borders around the
problem, solidifies ideas, and helps break down the problem into its component parts in an
orderly fashion.
 It serves as an input to the design specification. As mentioned previously, the SRS serves as the
parent document to subsequent documents, such as the software design
specification and statement of work. Therefore, the SRS must contain sufficient detail in the
functional system requirement so that a design solution can be devised.
It serves as a product validation check. The SRS also serve as the parent document for testing and
validation strategies that will be applied to the requirements for verification. The software application
online Evaluation system will allow access only to authorized users with specific roles (Administrator,
Staff,college admin,students). Depending upon the user‟s role he/she will be able to access only specific
modules of the system.

6
A summary of the major functions that the system will perform (functional specification):

 A login facility for enabling only authorized access to the system.


 User (with role Administrator) will be able to add/modify /delete information about colleges,
staffs.
 User (with role Administrator) will be able to view information about colleges.
 User (with role Administrator) will be able to view the students result
 User (with role staff) will be able to view the detailed information about the answer sheets
 User (with role college) will be able to add add/modify /delete information about students.
 User (with role college) will be able to view the results of the students.
 User (with role staff) will be able to view the exam schedule and results

User Interface functionality:

 A login screen for entering the email and password will be provided. Access to different screens
will be based upon the role of the user.
 There will be screen for displaying information about the students .
 There will be a screen for capturing and displaying information regarding which all users
accounts exist in the system, thus showing who all can access the system.
 There will be screen for displaying information about the answer sheets.
 There will be screen for showin the results of the students.

2.3 HARDWARE AND SOFTARE SELECTION AND JUSTIFICATION


HARDWARE SPECIFICATION
The selection of hardware is very important in the existence and proper working of any software. When
selecting hardware, the size and capacity requirements are also important.
Below is some of the hardware that is required by the system

Processor : Single core processor of 2.0 GHz or more


RAM : 512 MB of RAM
Hard Disk Space : 300 MB free hard disk space
Input Devices : Mouse, Keyboard
Output Devices : Monitor, Printer

7
SOFTWARE SELECTION AND JUSTIFICATION

We require much different software to make the application which is in making to work efficiently.
It is very important to select the appropriate software so that the software works properly.
Below are the software requirements:
Operating System : Windows 7 or higher versions
Front End : PYTHON
Back End : MySQL
Web Browser : Internet Explorer/Google Chrome/Firefox
Web Server : Apache

WINDOWS 7

Windows 7 (codenamed Vienna, formerly Blackcomb) is a personal computer operating


system developed by Microsoft. It is a part of the Windows NT family of operating systems.
Windows 7 was released to manufacturing on July 22, 2009, and became generally available on
October 22, 2009, less than three years after the release of its predecessor, Windows Vista. Windows
7‟s server counterpart, Windows Server 2008 R2, was released at the same time.
Windows 7 was primarily intended to be an incremental upgrade to the operating system intending
to address Windows Vista‟s poor critical reception while maintaining hardware and software
compatibility. Windows 7 continued improvements on Windows Aero (the user interface introduced
in Windows Vista) with the addition of a redesigned taskbar that allows applications to be “pinned”
to it, and new window management features. Other new features were added to the operating system,
including libraries, the new file sharing system Home Group, and support for multi touch input. A
new “Action Center” interface was also added to provide an overview of system security and
maintenance information, and tweaks were made to the User Account Control system to make it less
intrusive. Windows 7 also shipped with updated versions of several stock applications, including
Internet, Windows Media Player, and Windows Media Center.

PYTHON

Python is an interpreted scripting language also. Guido Van Rossum is known as the founder of
Python programming. Python is a simple, general purpose, high level, and object-oriented

8
programming language. Python is a general purpose, dynamic, high level, and interpreted
programming language. It supports Object Oriented programming approach to develop applications.
It is simple and easy to learn and provides lots of high-level data structures.
Python is easy to learn yet powerful and versatile scripting language, which makes it attractive for
Application Development. Python‟s syntax and dynamic typing with its interpreted nature make it an
ideal language for scripting and rapid application development.
Python supports multiple programming patterns, including object-oriented, imperative, and
functional or procedural programming styles. Python is not intended to work in a particular area, such
as web programming. That is why it is known as multipurpose programming language because it can
be used with web, enterprise, 3D CAD, etc.

Characteristics of PYTHON

• Python is easy to learn and use. It is developer-friendly and high level programming language.
• Python language is more expressive means that it is more understandable and readable.
• Python is an interpreted language i.e. interpreter executes the code line by line at a time. This
makes debugging easy and thus suitable for beginners.
• Python can run equally on different platforms such as Windows, Linux, Unix and Macintosh
etc. So, we can say that Python is a portable language.
• Python language is freely available at official. The source-code is also available. Therefore,
it is open source.
Python supports object-oriented language and concepts of classes and objects come into existence.
Python is known for its general-purpose nature that makes it applicable in almost each domain of
software development. Python as a whole can be used in any sphere of development. Here, we are
specifying applications areas where python can be applied.
1) Web Applications
We can use Python to develop web applications. It provides libraries to handle internet protocols such
as HTML and XML, JSON, Email processing, request, beautiful Soup, Feed parser etc. It also
provides Frameworks such as Django, Pyramid, Flask etc to design and develop web based
applications. Some important developments are: Python Wiki Engines, Pocono, Python Blog Software
etc.
2) Desktop GUI Applications
Python provides Tk GUI library to develop user interface in python-based application. Some other

9
useful toolkits wx Widgets, Kivy, pyqt that are useable on several platforms. The Kivy is popular for
writing multi touch applications.

3) Software Development
Python is helpful for software development process. It works as a support language and can be used
for build control and management, testing etc.

MY SQL

MySQL was created by a Swedish company, MySQL AB, founded by David Ax mark, Allan Larsson
and Michael "Monty" Widenius. Original development of MySQL by Widenius and Axmark began
in 1994
MySQL can be built and installed manually from source code, but it is more commonly installed from
a binary package unless special customizations are required. On most Linux distributions,
the package management system can download and install MySQL with minimal effort, though
further configuration is often required to adjust security and optimization settings.
Though MySQL began as a low-end alternative to more powerful proprietary databases, it has
Gradually evolved to support higher-scale needs as well. It is still most commonly used in small to
Medium scale single-server deployments, either as a component in a LAMP-based web application
or as a standalone database server. In the medium range, MySQL can be scaled by deploying it on
more powerful hardware, such as a multi-processor server with gigabytes of memory.
There are, however, limits to how far performance can scale on a single server ('scaling up'), so on
larger scales, multi-server MySQL ('scaling out') deployments are required to provide improved
performance and reliability. A typical high-end configuration can include a powerful master database
which handles data write operations and is replicated to multiple slaves that handle all read
operations. The master server continually pushes binlog events to connected slaves so in the event of
failure a slave can be promoted to become the new master, minimizing downtime

2.4 DATA FLOW DIAGRAM

A DFD also known as „bubble chart‟ has the purpose of clarifying system requirements and identifying
major transformations. It shows the flow of data through a system. It is a graphical tool because it

10
presents a picture. The DFD may be partitioned into levels that represent increasing information flow
and functional detail. Four simple notations are used to complete a DFD. These notations are given
below:-

DATA FLOW
The data flow is used to describe the movement of information from one part of the system to another
part. Flows represent data in motion. It is a pipe line through which information flows. Data flow is
represented by an arrow.

PROCESS
A circle or bubble represents a process that transforms incoming data to outgoing data. Process shows a
part of the system that transforms inputs to outputs.

EXTERNAL ENTITY
A square defines a source or destination of system data. External entities represent any entity that
supplies or receive information from the system but is not a part of the system.

DATA STORE
The data store represents a logical file. A logical file can represent either a data store symbol which can
represent either a data structure or a physical file on disk. The data store is used to collect data at rest or
a temporary repository of data. It is represented by open rectangle.

11
2.4.1 CONTEXT LEVEL 1 DFD

Data Flow Diagram Level 0

12
Level 1

13
14
15
Level 2

16
3. SYSTEM DESIGN

The most creative and challenging phase of the system development is system design, is a solution to
how to approach to the creation of the proposed system. It refers to the technical specification that will
be applied. It provides the understanding and procedural details necessary for implementing the system
recommended in the feasibility study. Design goes through the logical and physical stages of
development. At an early stage in designing a new system, the system analyst must have a clear
understanding of the objectives, which the design is aiming to fulfill. The first step is to determine how
the output is to be produced and in what format. Second input data and master files (database) have to be
designed to meet the requirements of the proposed output. The operational (processing) phases are
handled through program construction and testing.

It is to be developed in a way that four users can access Admin, staff, college admin,studentsnwith
different permissions. It translates the system requirements into ways of making them operational. The
design phase focuses on the detailed implementation of the system recommended in the feasibility study.

3.1 USER INTERFACE DESIGN

User interface design is one of the major functions in developing a system. Input design is the primary
step in system design. Input is the process of converting a user oriented description of the input to a
computer based system. It is a part of overall system design which requires very careful attention. The
objective of input design is to create an input layout that is easy to follow and does not include operating
errors. Input design is the link that ties the information system into the world of its users.

 An experiment is a method to get an answer to problem, which is obtained from proper


interpretation of a set of observations. For entering these observations appropriate message will
be displayed on the screen. According to this message the user can enter the data for this suitable
data entry screen are used. In the proposed system, the validity of checking inputs is available.

If not valid, a message will be displayed on the screen and the user can again key for correct input so
that only the valid data will be displayed by the system .Objective during inputs design are as follows:

 Produce cost effective method input.


 Achieve high-level accuracy.
 Ensure that inputs are free of ambiguity.

17
The screens are designed in such a way that the user can find the needed components like options,
actions etc. with ease of use .The input design is the link between the information system and the user. It
comprises developing specification and procedures for data preparation and those steps that are
necessary to put input data into a usable form for processing data entry. The design of input focuses on
controlling the amount of input required, controlling errors, avoiding delay, avoiding extra steps and
keeping the process simple.

3.2 OUTPUT DESIGN

The output is the most important and direct source of information to the user. The output should be
provided in a most efficient formatted way. The output design has been done so that the results of
processing should be communicated to the user. Effective output design will improve the clarity and
performance of outputs. Output is the main reason for developing the system and the basis on which
they will evaluate the usefulness of the application. Output design phase of the system is concerned with
the convergence of the information to the end user-friendly manner. The output design should be
efficient, intelligible so that system relationship with the end user is improved and thereby enhancing the
process of decision making. The various types of outputs required by most systems are:

 External output: Whose destination is outside the organization and which require special
attention
 Internal output: Whose destination is within the organization and which require careful design
because they are user‟s main interface with the computer?
 Operational output: Whose use is purely within the computer department?
 Interactive output: Which involve the user in communicating with the computer?

3.3 DATABASE DESIGN

Database design is one of the most important parts of the system design phase. In a database environment
common data are available and are used by several users. Instead of each program managing its own
data, authorized users share data across application with the database software managing the data as an
entity. The primary objective of a database design are fast response time to enquiries, more information
at low cost, control of redundancy, clarity and ease of use, date and program independence, accuracy and
integrity of the system, fast recovery and availability of powerful end-user languages. The theme behind

18
a database is to handle information as an integrated whole thus the main objective is to make information
as access easy, quick, inexpensive and flexible for the users.

Data directory specifies the major element in the system, and care should be taken while designing, in
order to avoid unnecessary duplication of data. The entire package depends on how the data‟s are
maintained in the system. Several tables are maintained in the system to store data that are required for
the processing of various data as well as storing intermediate or final processed results.

Database design mainly aims at handling large volumes of information, involving the definitions for the
structure of storage and provisions for the manipulation of information, providing safety of information
despite of system crashes due to unauthorized access. Some conditions are satisfied in database design
stage.

Database Design

Login

Column Name Datatype Constraint


log_id Int(10) Primary Key
Username Varchar(20) Not Null
Password Password(20) Not Null

Course

Column Name Datatype Constraint


Course_id Int(10) Primary Key
Course_name Varchar(20) Not Null

19
Colleges

Column Name Datatype Constraint


College_id Int(10) Primary Key
Log_id Int(10) Foreign Key
College_name Varchar(20) Not Null
Phone Varchar(20) Not Null
Email email Not Null

Students

Column Name Datatype Constraint


Student_id Int(10) Primary Key
Log_id Int(10) Foreign Key
First_name Varchar(20) Not Null
Last_name Varchar(20) Not Null
Dob date Not Null
Gender Varchar(20) Not Null
College_id Int(10) Foreign Key

Subject

Column Name Datatype Constraint


Subject_id Int(10) Primary Key
Subject_name Varchar(20) Not Null
Course_id Int(10) Foreign Key

20
Staff

Column Name Datatype Constraint


Staff_id Int(10) Primary Key
Login_id Int(10) Foreign Key
First_name Varchar(20) Not Null
Last_name Varchar(20) Not Null
Qualification Varchar(20) Not Null
Phone Varchar(20) Not Null
Email email Not Null

Exam

Column Name Datatype Constraint


Exam_id Int(10) Primary Key
Subject_id Int(10) Foreign Key
Datetime date Not Null
status Varchar(20) Not Null

Answer Sheet

Column Name Datatype Constraint


As_id Int(10) Primary Key
Hash_value_uploaded Varchar(20) Not Null
File_path Varchar(20) Not Null
Student_id Int(10) Foreign Key
Exam_id Int(10) Foreign Key
Datetime date Not Null

21
Answer Key

Column Name Datatype Constraint


Ak_id Int(10) Primary Key

Exam_id Int(10) Foreign Key

Description Varchar(20) Not Null

Datetime date Not Null

Assign

Column Name Datatype Constraint


Assign_id Int(10) Primary Key

Hash_value_assigned Varchar(20) Not Null

Teacher_id Int(10) Foreign Key

datetime date Not Null

Result

Column Name Datatype Constraint


Result_id Int(10) Primary Key

Answer_sheet_id Int(10) Foreign Key


Staff_id Int(10) Foreign Key

Total_marks_awarded Varchar(20) Not Null

22
Request

Column Name Datatype Constraint


Request_id Int(10) Primary Key

Answer_sheet_id Int(10) Foreign Key

Student_id Int(10) Foreign Key

Datetime date Not Null

Complaint

Column Name Datatype Constraint


Complaint_id Int(10) Primary Key
Student_id Int(10) Foreign Key
Complaint_desc Varchar(20) Not Null

date date Not Null


Status Varchar(20) Not Null

Solution

Column Name Datatype Constraint


Solution_id Int(10) Primary Key

Complaint_id Int(10) Foreign Key

Solution_description Varchar(20) Not Null

Date date Not Null

23
3.4.1 DATA & INTEGRITY CONSTRAINTS

The primary objective of a database design are fast response time to inquiries ,more information at low
cost, control of redundancy, clarity and ease of use, accuracy and integrity of the system, fast recovery
and availability of powerful end-user languages. The theme behind a database is to handle information
as an integrated whole thus the main objective is to make information as access easy, quick, inexpensive
and flexible for the users. In this project, we mainly concentrated into relational databases.

Relational database stores data in tables, which is turn, are composed of rows also known as records,
columns also known as fields. The fields in the relational model are:-

Primary Key
The key which is uniquely identify records. They also notify the not null constraints.
Foreign Key
The key which reference the primary key, is the data inserted in the primary key column of the table.

Normalization
After the conceptual level, the next level of process of database design to organize the database structure
into a good shape called Normalization. The normalization simplifies the entries, removing
redundancies from the system data and finally builds a data structure, which is both flexible and
adaptable to the system. The different normal forms obtained during the database design are given
below:

In the database design, we create a database with different tables that is used to store the data. We
normalize the data in the table. Database normalization is the process of organizing the fields and
tables in a relational database to minimize redundancy and dependency. Normalization usually involves
dividing large tables into smaller (and less redundant) tables and defining relationships between them.
The objective is to isolate data so that additions, deletions, and modifications of a field can be made in
just one table and then propagated through the rest of the database via the defined relationships.
In the project I have made used of the 3rd normal form, Third Normal Form (3NF) is a property of
database tables. A relation is in third normal form if it is in Second Normal Form and there are no
functional (transitive) dependencies between two (or more) non-primary key attributes. The overall
objective in the development of database technology has been to treat data as an organizational resource
and as an integrated whole. Database Management System allows data to be protected and organized

24
separately from other resources. Database is an integrated collection of data. This is the difference
between logical and physical data.
In my project, I have made use of tables which are stored in the
database. The tables are used to store the values that are generated by the application. The main field
names and the key constraints of all the tables are shown above in detail.

4. CODING

PROGRAM CODE PREPARATION

When considered as a step in software engineering, coding is viewed as a natural consequence of design.
However, programming language characteristics and coding style can profoundly affect software quality
and maintainability. The coding step translates a detail design representation into a programming
language realization. The translation process continues when a compiler accepts source code as input
and produces machine-independent object code as output. The initial translation step in detail design to
programming language is a primary concern in the software engineering context. Improper interpretation
of a detail design specification can lead to erroneous source code. Style is an important attribute of
source code and can determine the intelligibility of a program. The elements of a style include internal
documentation, methods for data declaration, procedures for statement construction, and I/O coding and
declaration. In all cases, simplicity and clarity are key characteristics. An offshoot of coding style is the
execution time and/or memory efficiency that is achieved. Coding is the phase in which we actually
write programs using a programming language. In the coding phase, design must be translated into a
machine readable form. If design is performed in a detailed manner, coding can be accomplished
mechanistically. It was the only recognized development phase in early or unsystematic development
processes, but it is just one of several phases in a waterfall process. The output of this phase is an
implemented and tested collection of modules.

In my project I have made use of Python to develop the whole project and have made use of MySQL
Database Server to act as a database to store the results of the processed data, which is the output of the
project.

25
5. IMPLEMENTATION OF SECURITY

The software quality assurance is comprised of a variety of tasks associated with seven major activities.

 Application of technical methods


 Conduct of formal technical reviews.
 Software testing.
 Enforcement of standards.
 Record keeping and reporting.

The quality begins with a set of technical methods and tools that help the analyst to achieve high quality
specification and the designer to develop high quality design. The next activity involves assessment for
quality for the design that is created which is the formal technical review. Software testing combines a
multi-step strategy with a series of test case design methods that help ensure effective error detection.

5.1 DATA SECURITY

The software maintains a well organized database for storing the details that are provided by the user.
This helps us to eliminate the entering of invalid data. Data is not accessible to unauthorized users. The
system analyst will provide the test data, specially designed to show that the system will operate
successfully in all its aspects and produce expected results under expected conditions. Preparation of test
data and the checking of results should be carried out in conjunction with the appropriate users and
operational departments. Also the extent to which the system should be tested must be planned.

5.2 USER AND ACCESS RIGHTS

Admin: He / She have the complete access to the website. Admin can add, delete and update
information about student,staff,colleges

staff: He / She is considered to be one of the most important users in the site because staff are needed to
perform the operation of the site. They can view the assigned answer sheet by the admin and upload the
results of the students.

College: The college admin can view the exam schedule,manage the students,and view the results of the
students.

Students: They can view exam schedule, their result, and can request for revaluation and also can send
complaints to admin.

26
6. SYSTEM TESTING

Testing is a process of executing a program with intent of finding errors. In software development,
errors can be injected at any stage of development. During testing, the program to be tested is executed
with a set of test cases and the output of the program for the test cases is evaluated to determine if the
program is performing as expected.

There are mainly two approaches of testing namely, functional testing and structural testing. Functional
testing is based on the functionality of the program and not the structure of the program. The test cases
are solely on the basis of specification or requirements of the program. This type of testing is also called
as black box testing.

Structural testing is also called as white box testing or glass box testing. Here the internal structure of
the program is tested. Test cases are designed by examining the logic of the program. “Online
Evaluation system” focuses on the functionality of the system and hence it mainly does the
functional/black box testing. The test cases of this system are completely based on the specifications of
the system.

The application was tested and found to be working as expected. There was no abnormal behavior
reported during the testing of the program. Testing is a method by which we try reducing the testing
efforts and bringing out the maximum output. Testing helps us in knowing whether the logical
assumptions that we have taken for the system are correct, and if they are correct we have obtained our
goal. We test the system to know the errors, to check the validity of the information, to also group the
modules with the aim that we meet the system requirements according to the system needs.

Testing is vital to the success of the system. System testing makes logical assumption that if all the parts
of the system are correct, we have achieved the mission successfully. System testing is the stage of
implementation that is aimed at assuring that the system works accurately and efficiently before the live
operation commences.
Testing includes several levels of testing. They are:
1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing

27
6.1 UNIT TESTING

Unit testing is the first level of testing. In this process the code produced during the coding phase is
verified. The goal is to test the internal logic of the modules. Each unit was found to be working
satisfactorily. This testing is carried out during the programming stage itself. In this testing step each
module is found to be working satisfactorily as regards to the expected output from the module. Using a
method called white box testing in which the software tester has knowledge of the inner workings,
structure and language of the software, or at least its purpose and where each module or component of
the software is tested individually. In the unit test case we will be testing the separate modules of the
Software. We will test the components by passing data through it and we will be monitoring data to find
the errors. We will be looking for entry and exit conditions of the data. We will make sure that all the
components work without any troubles.

Function Tested Expected Result Test


Cases

User should enter both username When the user enters only one or none, login screen As
and password will display an error message. expected

Logout when user wants to Displaying the user logout successfully As


discontinue login section expected

6.2 INTEGRATION TESTING

After splitting the program into units, the units were tested together to see the defects between each
module and function. It is testing two or more modules or functions together with the intent of finding
interface defects between the modules or functions. Testing completed at as part of unit or functional
testing, and sometimes, becomes its own standalone test phase. On a larger level, integration testing can
involve putting together of groups of modules and functions with the goal of completing and verifying
that the system meets the system requirements

28
6.3 USER ACCEPTANCE TESTING

Online evaluation system was tested by a small client community to see if the program met the
requirements defined the analysis stage. It was found to be satisfactory. In this phase, the system is fully
tested by the client community against the requirements defined in the analysis and design stages,
corrections are made as required, and the production system is built. User acceptance of the system is
key factor for success of the system. The system under consideration is tested for user acceptance by
constantly keeping in touch with the users at the time of developing and making changes whenever
required.
This was done regard to the following point:
 Input screen design
 Output screen design
 Menu driven system

6.4 TEST CASE DESIGN

User Authentication:
It checks whether the username and password of the user has a correct match.
Integer Field Check:
Checking whether a particular text field which is supposed to receive only integers, is receiving any
other characters.

Function Tested Expected Result Result


456 Display As expected
Zxcsf Doesn‟t display As expected
&*% Doesn‟t display As expected

Field Checking:
Checks whether the correct data is entered for the Expected Result Result
field. Function Tested
Name Can contain only characters and As
blank space expected
Phone number Can contain only 10 digits As
expected

29
6.5 TEST REPORT AND DEBUGGING

Testing means verifying correct behavior. Testing can be done at all stages of module development:
requirements analysis, interface design, algorithm design, implementation, and integration with other
modules. In the following, attention will be directed at implementation testing. Implementation testing is
not restricted to execution testing. An implementation can also be tested using correctness proofs, code
tracing, and peer reviews, as described below.

Debugging is a cyclic activity involving execution testing and code correction. The testing that is done
during debugging has a different aim than final module testing. Final module testing aims to
demonstrate correctness, whereas testing during debugging is primarily aimed at locating errors. This
difference has a significant effect on the choice of testing strategies.

 Report error conditions immediately - Much debugging time is spent zeroing in on the cause
of errors. The earlier an error is detected, the easier it is to find the cause. If an incorrect module
state is detected as soon as it arises then the cause can often be determined with minimal effort.If
it is not detected until the symptoms appear in the client interface then may be difficult to narrow
down the list of possible causes.

 Maximize useful information and ease of interpretation - It is obvious that maximizing useful
information is desirable, and that it should be easy to interpret. Ease of interpretation is
important in data structures. Some module errors cannot easily be detected by adding code
checks because they depend on the entire structure. Thus it is important to be able to display the
structure in a form that can be easily scanned for correctness.

 Minimize useless and distracting information - Too much information can be as much of a
handicap as too little. If you have to work with a printout that shows entry and exit from every
procedure in a module then you will find it very difficult to find the first place where something
went wrong. Ideally, module execution state reports should be issued only when an error has
occurred. As a general rule, debugging information that says "the problem is here" should be
preferred in favor of reports that say "the problem is not here".

30
 Avoid complex one-use testing code - One reason why it is counterproductive to add module
correctness checks for errors that involve the entire structure is that the code to do so can be
quite complex. It is very discouraging to spend several hours debugging a problem, only to find
that the error was in the debugging code, not the module under test. Complex testing code is only
practical if the difficult parts of the code are reusable.

31
7. SYSTEM IMPLEMENTATION AND MAINTENANCE

Implementation is an activity that is contained throughout the development phase. It is the process of
bringing a developed system into operational use and turning it over to the user. The new system and its
components are to be tested in a structured and planned manner. A successful system should be
delivered and users should have the confidence that the system would work efficiently and effectively.
The more complex the system being implemented the more involved will be the system analysis and
design effort required for implementation. Implementation is the stage of the system when the
theoretical design is turned into working system. The implementation involves careful planning
investigation of the current system and its constraints on implementing, design of methods to achieve
the change over, training of user over procedure and evaluation change over method. There are three
types of implementation:

1. Implementation of a computer system to replace a manual system. The problems involved are
converting files, training users, creating accurate files, and verifying printouts for integrity.
2. Implementation of a new computer system to replace an existing one. This is usually a difficult
conversion. If not properly planned, there can be many problems. Some larger systems have taken as
long as a year to convert.
3. Implementation of a modified application to replace an existing one using the same computer. This
type of conversion is relatively easy to handle, provided there are no major changes in files.

SYSTEM MAINTENANCE

Maintenance corresponds to restoring something to original conditions, covering a wide range of


activities including correcting codes and design errors and updating user support. Maintenance is
performed most often to improve the existing software rather than to a crisis or risk failure. The system
would fail if not properly maintained. The software maintenance is an important one in the software
development because we have to spend more efforts for maintenance. Software maintenance is to
improve the software quality according to the requirements. After a system is successfully implemented,
it should be maintained in a proper manner. The need for system maintenance is to make the system.
adaptable to the changes in the system environment. There may be social, economical or technical
changes, which affect system being implemented. Software product enhancements may involve
providing new functional capabilities, improving user displays and mode of interaction, upgrading the

32
performance characteristics of the system. So only through proper system maintenance procedures, the
system can be adapted to cope with these changes. We may define maintenance by describing four
activities that are undertaken to after a program is released for use. The first maintenance activity occurs
because it is unreasonable to assume that software testing will uncover all latent errors in a large
software system. During the use of any large program, errors will occur and be reported to the
developer. The process that includes the diagnosis and correction of one or more errors is called
corrective maintenance. The second activity that contributes to a definition of maintenance occurs
because of the rapid change that is encountered in every aspects of computing. Therefore, adaptive
maintenance – an activity that modifies software to properly interface with a changing environment is
both necessary and common place. The third activity that may be applied to a definition of maintenance
occurs when a software package is successful. As the software is used, recommendations for new
capabilities, modifications to existing functions, and general enhancements are received from users. To
satisfy requests in this category, perfective maintenance is performed. This activity accounts for the
majority of all efforts expended on software maintenance.

The fourth maintenance activity occurs when software is changed to improve future maintainability or
reliability, or to provide a better basis for future enhancements. Often called preventive maintenance,
this activity is characterized by reverse engineering and re-engineering techniques.

33
8. SCOPE OF THE PROJECT
The system promises of great chances in the future. The system can also add
many other different features in it. Online Evaluation System is very useful for
Educational Institute and Government to prepare an exam, save the time that will take to
check the paper and prepare mark sheets. Online Evaluation System will help the exam
conductors to test the students and their skills. We are providing a fairly simple, flexible,
customized and cost Effective Exam evaluation System that developed for Educational
Institutions.

34
9. CONCLUSION

Online Evaluation System is very useful for Educational Institute and Government to prepare
an exam, save the time that will take to check the paper and prepare mark sheets. Online Evaluation
System will help the exam conductors to test the students and their skills. We are providing a fairly
simple, flexible, customized and cost Effective Exam evaluation System that developed for
Educational Institutions..

The system is flexible, user friendly and has its own full data security and all data recovery facility.

 Easy retrieval of data available in database.


 Very user friendly.
 Does not require large amount of memory.
 Very less manual work is needed.
 Very cost effective

35
10. BIBLIOGRAPHY

 https://docs.opencv.org/

 https://github.com/ageitgey/face_recognition

 https://towardsdatascience.com/

 https://colab.research.google.

36
APPENDIX

Sample Inputs

37
38
39
Sample Outputs

40
41

You might also like