0% found this document useful (0 votes)
82 views64 pages

APHExams Book

This project report describes the development of an Android-based online testing system that allows test administrators to create customizable exams and students to take tests on their mobile devices, providing mobility and convenience. The system aims to modernize testing by utilizing the widespread use of Android devices and enabling tests to be taken anywhere, anytime on users' mobile phones or tablets. It is intended to be used by educational institutions, companies, and other organizations for conducting various types of assessments in a secure, efficient manner.

Uploaded by

Naomer Olly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views64 pages

APHExams Book

This project report describes the development of an Android-based online testing system that allows test administrators to create customizable exams and students to take tests on their mobile devices, providing mobility and convenience. The system aims to modernize testing by utilizing the widespread use of Android devices and enabling tests to be taken anywhere, anytime on users' mobile phones or tablets. It is intended to be used by educational institutions, companies, and other organizations for conducting various types of assessments in a secure, efficient manner.

Uploaded by

Naomer Olly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 64

A Project Report

On

ANDROID BASED ONLINE TESTING SYSTEM

Submitted in the partial fulfillment of the requirement for the degree of

Bachelor of Computer Engineering

By
HARSHAL DALVI (A-12)

PRANAV FIRAKE (A-15)

ADITYA GAIKAR (A-16)

Under the guidance of

PROF. NUSRAT PARVEEN

University of Mumbai

Department of Computer Engineering

Datta Meghe College of Engineering

Plot No. 98, Sector-3, Airoli, Navi Mumbai

www.dmce.ac.in , www.dmce.edu

(Academic Year 2013-2014)


Datta Meghe College of Engineering
Department of Computer Engineering
Plot No. 98, Sector-3, Airoli, Navi Mumbai
www.dmce.ac.in , www.dmce.edu

CERTIFICATE

This is to certify that Harshal Dalvi, Pranav Firake and Aditya Gaikar
have successfully completed their project work on ANROID BASED
ONLINE TESTING SYSTEM in the partial fulfillment of the degree of
Bachelor of Computer Engineering, University of Mumbai during the
academic year 2013-14.

(Prof. Nusrat Parveen) (Prof. Amol. P. Pande) (Dr. S. D. Sawarkar)

Internal Guide Head of Department Principal

Internal Examiner External Examiner


ACKNOWLEDGEMENTS

I would like to express my sincere gratitude towards the Computer Technology


Department of D.M.C.E.

It gives us the pleasure to develop this project on Android-based Online Testing


System and would like to take this opportunity to thank everyone who has been a part of
making it.

Our gratitude and sincere thanks to Principal Sir Dr. S D Sawarkar and Prof. A. P.
Pande (HoD of Computer Department) for providing all the necessary system facilities and
privileges that enabled us to complete the project in time. I would also like to thank Mrs.
Nusrat Parveen for her guidance, genuine suggestions and constant encouragement, without
which this project would not be a success.

We would like to thank my colleagues and friends who helped us in the successful
completion of the project.

i
ABSTRACT

Online assessment is the process used to measure certain aspects of information for a set
purpose where the assessment is delivered via a computer connected to a network. Most often
the assessment is some type of educational test. Different types of online assessments contain
elements of one or more of the following components, depending on the assessment's
purpose: formative, diagnostic, or summative. Instant and detailed feedback, as well as
flexibility of location and time, is just two of the many benefits associated with online
assessments. There are many resources available that provide online assessments, some free
of charge and others that charge fees or require a membership.

‘Online Exam’ means the candidate sits in front of a computer at the examination center and
the questions are presented on the computer monitor and the candidate answers the questions
on the computer through the use of mouse. Unlike the traditional paper-pencil based test
which is generally offered on a single day to all candidates, Online Exam will be offered over
a period of time and the candidate can choose the Center, the Day and Time of his/her
convenience to take the test.

LIST OF FIGURES
Sr. No. Name of the Figure Page No.

ii
8.1 Waterfall Model 15

10.1 Software Architecture 21

10.2.1 Level 0 DFD 23

10.2.2 Level 1 DFD 24

10.2.3 Level 2 DFD 25

10.2.4 Level 3 DFD 26

11.1 Use Case Diagram 27

11.2.1 Login 29

11.2.2 Manage Tests 30

11.2.3 Answer 31

11.2.4 Generate Results 32

11.3 Class Diagram 29

11.4 Sequence Diagram 33

11.5 Collaboration Diagram 34

12.3 Project Timeline 35

13.2.1 Home Page 46

13.2.2 Admin View 46

13.2.3 Student Home 46

13.2.4 Verbal 46

13.2.5 Admin Registration 47

13.2.6 Quant 47

13.2.7 Student Registration 47

iii
13.2.8 About 47

13.2.9 User 48

13.2.10 studAuth 48

13.2.11 Exams 49

13.2.12 Vex 50

13.2.13 Results 51

LIST OF TABLES

Sr. No. Name of the Table Page No.

7.11.1 Project Risks 13

7.11.2 Product Risks 14

iv
7.11.3 Business Risks 14

12.2.1 studAuth 36

12.2.2 User 36

12.2.3 Vex 36

12.2.4 Exams 37

12.2.5 Results 37

13.1.1 Minimum Configuration 45

13.1.2 Optimal Configuration 45

CONTENTS
Certificate

Acknowledgements

Abstract

List of Figures

List of Tables

v
1. Introduction 01

2. Aim and Objective 02

3. Literature Review 03
4. Existing System 05

5. Problem Definition 06

6. Scope of Project 08
7. System Requirement Specifications (SRS) 09

8. Methodology 15

9. System Analysis 19
10. System Architecture 21

11. Design and Minutiae (ins and outs) 27

12. Implementation 36

13. Results and Observations 45


14. Conclusion and Future Scope 52

References 53

Bibliography (Textual references) 53

Webliography (Web references) 53

vi
1. INTRODUCTION

In recent times, you‟ll hardly find a college student or a job professional without any kind of
mobile device, be it smartphones, tablets, readers or anything else. It has become absolutely
essential to own one and majority of these devices, more than about 50% are operated on
Android operating system. The need to provide a means of taking tests for the users constantly
on the go has culminated in our desire to design an online testing service based on this operating
system.

Android based online testing system is an extension to the simple testing systems that exist as
the current means of conducting tests over desktop computers. The main objective of this system
is to provide the user with the ability to give test and access the various facilities of the system on
the go.

The system would allow administrators to create highly customizable tests depending on the
specialised requirements on the type of system to be conducted. The administrator would have
free reign as to the way in which the examination should be conducted and so on. The users
would be able to access these tests on their android based handheld devices and thus would
provide them with the required mobility and ease of use.

1
2. AIM AND OBJECTIVES

The objective of the android based online testing system is to enable users of mobile devices
operating on different versions of android operating system to take tests in case of the
unavailability of a hard and fast desktop computer or laptop in that instance. The main reason for
a testing system based on android would be to keep up with the changing times and offering
users the simplicity and effectiveness of just genuinely taking or giving a test on a device they all
love to have.

This system, when completed may be used by anyone ranging from the faculty of a college or
university, an organization conducting specific intelligence tests and even the placement cell of a
big company or even that of a college. It would enable a lot of users to take tests concurrently in
a given period of a professional sitting or even have these tests given by them in their own time
in the comfort of their homes or workplaces.

To ensure the integrity and security of the system, proper steps would be taken and as the
questions would mostly range from a given database of general intelligence quotient, vocabulary
and fast math problems, the risk of cheating by users can be effectively avoided. As results and
performance review would be quick and easy, it would result in a lot of time being saved and
costs being cut down.

2
3. LITERATURE REVIEW

Review on Google Android a Mobile Platform


Android is an open source mobile platform provided by Google. This is a software stack for
mobile devices which includes an operating system, applications development framework,
runtime environment and library. Android's mobile operating system is based on a modified
version of the Linux kernel. The application development uses Java programming language and
the virtual machine that optimizes the usage of memory and resources. Since its official public
release, Android has captured the interest from the market. The Android Market has experienced
tremendous growth since its inception and has democratized application development by
allowing anyone to upload applications to the market. Google entered into the mobile market not
as a handset manufacturer, but by launching mobile platform called as “Android” for mobile
devices such as Smart phones and PDA in November 2007. Google has a vision that Android
based cell phone will have all the functions available in the latest pc‟s. In order to make this
effort possible, Google launched the Open Handset Alliance. Google introduced Android as an
OS which runs the powerful applications and gives the users a choice to select their applications
and their carriers. Android is gaining strength both in the mobile industry and in other industries
with different hardware architectures. The increasing interest from the industry arises from two
core aspects: its open-source nature and its architectural model. Being an open source project,
Android allows us to fully analyse and understand it, which enables feature comprehension, bug
fixing, further improvements regarding new functionalities and finally, porting to new hardware.
On the other hand, its Linux kernel-based architecture model also adds the use of Linux to the
mobile industry, allowing taking advantage of the knowledge and features offered by Linux.

The Android platform consists of several layers which provide a complete software stack.
Android applications are Java-based and this factor entails the use of a virtual machine VM
environment, with its advantages. Android uses its own VM called Dalvik, which interprets and
executes portable Java-style byte code after transforming it, which is optimized to operate on the
mobile platform. All of these aspects make Android an appealing target to be used in other type
of environments. The remainder of this paper is organized as follows: Section II briefly describes

3
the Android mobile platform. Section III presents Android application execution process. Section
IV briefly describes the Android market share. Finally Section V concludes this paper.

Shyam Bhati, Sandeep Sharma, Karan Singh, (Department of Computer Science and
Engineering, SOICT Gautam Buddha University, India) (Department of Electronics and
Communication Engineering, SOICT Gautama Buddha University, India)

IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661, p- ISSN:


2278-8727Volume 10, Issue 5 (Mar. - Apr. 2013), PP 21-25 www.iosrjournals.org

4
4. EXISTING SYSTEM

The systems that exist currently in the field of online examination services are either automated
completely relying on huge resources generating large costs for the organisations involved or are
completely manual relying on a large workforce to successfully conduct, grade and supervise the
examinations.

The manual type of examination and testing has some definite disadvantages as it purely relies
on the older methods and paper based tests resulting in a lot of time wastage for people with
constraint. You would have to first reach a destined place for appearing the exam and then with
all the writing and marking, a definite amount of resource both on the part of the user and
conductor is used.

The desktop based online or offline kind of testing systems that exist are those that either
use Internet based servers and databases for relying to provide the intended services and use. The
offline systems use software data that are collected periodically resulting in the maintenance of a
backend larger data house.

Although the online desktop based systems that exist are very effective, they have a
disadvantage of being conducted on specifically designated machines with steadfast
requirements that may hinder a normal user from taking the benefits of the system that is
provided. The users, in order to access these systems, have to be at a specified place at a
specified time like the manual system of examinations as the integrity of the test or users can be
questioned.

Thus, the existing systems all have some or the other disadvantages which we hope to overcome
in the development of the android based online testing system.

5
5. PROBLEM DEFINITION

The primary concern of project will be to develop an application for online exam system.
Application should be designed as compatible to android OS. There will be two logins for the
system. One will be by an Administrator. And other will be by student.

An administrator would have an access to whole databases and system flow. Admin can
authenticate and authorise students. Admin can manage tests being conducted. Admin can set up
exam policy for each test in the future versions. Exam policy may include whether to follow
negative marking or not. Admin can also set marks distribution scheme under exam policy.
Admin can set up temporal aspects to the test. Tests will be regarding mainly aptitude ability
including quantitative knowledge and verbal proficiency. Admin can set up questions for the test.
Admin can modify details of test regarding number of questions. Admin can add, delete, and
modify the questions for the tests. Admin would give questions and answer options for the test.
Tests will be objective type of tests with 4 answer choices for each question. Tests will be graded
according to a +5 for the correct answer and -1 for a wrong one. Admin can view, modify, delete
the reports of students and also can have overview to overall online test system. Admin can add
or remove students in the system. Admin can see the reports of students and results of students.

Second login will be for students. Student must login to the application through their
android enabled handheld device. Authenticated students can choose which test to appear and
give the test. Students will be answering questions by clicking right choice from options offered
for that question. The student may choose to answer all the questions or only those that he knows
the correct answer to due to the inclusion of negative marking scheme. Database must be
maintained with question IDs and answer choice student has stated.

Marks evaluation process is handled by the system. As the student terminates the test or test is
over, system gets the database of students‟ questions and marked answers. Then system tallies
these answer with database having right answer choices stated by test maker. Mark evaluation
policy given by admin is strictly followed. After considering all constraints as negative marking,

6
if applied, Marks are evaluated and flashed on screen of student. Database entry is also done
stating the test ID, student ID and marks that student obtained.

System should be optimized to give quick results just after student gets finished with test.
Reports can be made about students result. System should be developed so that it can be used
under Android OS platform so that from handheld devices such as Android enabled Smartphones
and Tablets with varied versions of android OS.

7
6. SCOPE OF THE PROJECT

The system will provide the users with the following functionalities:

Create an account: Users will be able to create their own accounts registered on a valid e-mail
id and login name which would enable them to access the various services in the testing system
as a whole.

Appear for the test: The main aim of the system is to enable the users to give tests and it will
provide them with the functionality.

View results: As soon as a user is done with the test, his/her performance report or result will
automatically be displayed on the screen. After the duration of a few days or weeks, the user
would also be able to view his percentile performance based on the number of users who have
actually given the tests in the stipulated duration.

Administrators or invigilators of the system would be provided with the following


functionalities:

Set questions: Questions for the two sections, namely verbal and quantitative aptitude can be set
from the application itself.

Update questions database: The administrators always have the option of setting the questions
or in this case, actually updating the database of the question based on the requirements and so
that the questions remain fresh and different every time.

View users: The administrators have the ability to see the users that have been registered on the
system and make the necessary changes on their profiles.

8
7. SYSTEM REQUIREMENT SPECIFICATION (SRS)

The following requirements would be essential for the successful working and functioning of the
system in an effective way:

7.1 Purpose:
The purpose of the android based online testing system is to enable users of mobile devices
operating on different versions of android operating system to take tests in case of the
unavailability of a hard and fast desktop computer or laptop in that instance. The main reason for
a testing system based on android would be to keep up with the changing times and offering
users the simplicity and effectiveness of just genuinely taking or giving a test on a device they all
love to have.

7.2 Product Perspectives:


This can be used in educational institutions as well as in corporate world. This can be used
anywhere any time as it is a android based application (user Location doesn‟t matter). There is
no restriction that examiner has to be present when the candidate takes the test. It fulfils all an
office application automatically with minimal overhead.

7.3 Product Functions:


Users will be able to create their own accounts registered on a valid e-mail id and login name
which would enable them to access the various services in the testing system as a whole. The
system will provide the users with the option of scheduling test slots from the different available
slots. They would also be reschedule an already booked test and even cancel a test if they so
wish. Administrators will have the option of designing a test based on the requirements and
specific need like what type of test is to be taken, what would be the maximum score, the
marking scheme and so on.

7.4 User Characteristics:


The main objective of this system is to provide the user with the ability to give test and access
the various facilities of the system on the go. The system would allow administrators to create

9
highly customizable tests depending on the specialised requirements on the type of system to be
conducted. The administrator would have free reign as to the way in which the examination
should be conducted and so on.

7.5 General Constraints:


Environment under which application is being developed is android. So it is constraint to this
application that every user that seek for access to this application must have a handheld device
with android OS. Constraints for specially admin will be to manage tests and see the reports.
Students should give test under supervision.

7.6 Assumptions and dependencies:


Assumption regarding application is that all the students being consider and the admin have
android enable handheld device with internet connection in terms of Wi-Fi or any data
connection. It is assumed that student give test under supervision. Being an android application,
our system depends on hardware in terms of RAM and battery and also type of smartphone as it
is compatible with only android OS.

7.7 External Interface Requirements:


Being an online system, Application needs to have proper synchronisation of application
database over network. System requires online database to be maintained. So external interface
in terms of database servers such as sql servers are required to store the data. For executing this
application on computer device one must have an android simulator.

7.8 Functional requirements:


This section gives a functional requirement that applicable to the On-Line Exam system.
There are two sub modules in this phase.
• Student module.
• Administrator module.

The functionality of each module is as follows:

10
• Student module: The candidate will logon to the software and take his
examination. He can also check his previous examinations marks and his details.
The candidate will get result immediately after the completion of the examination.
• Admin module: The database is prepared & loaded into the software. Selection for
examination can be done language wise by the admin. The results will be
displayed immediately after completion of the examination. The administrator
collects all the results after successful completion of the examination.
The features that are available to the Administrator are:
• The administrator has the full-fledged rights over the system.
• Can create/delete an account.
• Can view the accounts.
• Can change the password.
• Can hide any kind of features from the both of users.
• Insert/delete/edit the information of available on system.
• Can access all the accounts of the faculty members/students.
• Can view the different categories of Test conducted by users.
• Can view their marks.
• Can view and modify Results.

The features available to the Students are:


• Can view the different categories of Test available in their account.
• Can change password.
• Can view their marks.
• Can view and modify its profile but can modify it to some limited range.

7.9 Non-functional requirements

7.9.1. Performance Requirements


Some Performance requirements identified is listed below:

11
• The database shall be able to accommodate a minimum of 1,000 records of
students.
• The software shall support use of multiple users at a time.
• There are no other specific performance requirements that will affect
development.

7.9.2.Reliability
System is reliable for whole application area. Reliability measures are followed in the
development of android based system.

7.9.3.Availability and portability


System will be available in form of .apk file which is extension used for android
applications. System is available everywhere as handheld mobile device inclines the view
to system towards more easily available and databases are maintained online, As far as
you have android device and you have internet connection you can access the system.
Even one can get system on PC via android simulators.

7.9.4.Security
Some of the factors that are identified to protect the software from accidental or
malicious access, use, modification, destruction, or disclosure are described below. Keep
specific log or history data sets
 User authentication and verification.
 Assign certain functions to different modules
 Restrict communications between some areas of the program
 Check data integrity for critical variables
 Later version of the software will incorporate encryption techniques in the
user/license authentication process.
7.9.5. Maintainability
The Quality of the System is maintained in such a way so that it can be very user friendly
to all the users.
The software quality attributes are assumed as under:

12
• Accurate and hence reliable.
• Secured.
• Fast speed.
• Compatibility.

7.10. Design constraints


The design implemented in the system will be according to the software development kit
given for android OS.

7.11. Risk Analysis

Project Risks:

Risk Probability Effects Risk planning


strategy

The experienced staff in low serious Use more than one staff for
the team leave the project each section, which might
before it finishes, or minimize this risk. Also,
someone was ill manager tries to increase
salary for him.

The methodology to solve high serious Must be study more than


the problem can't work in one methodology to
a proper manner. minimize this risk.

Budget not enough or low catastrophic Put a condition in the


there is no budget. contract if there any more
expenses, the funded side
must be pay it. To avoid
this risk.

13
HW requirement aren’t moderate serious See if there is any more
available in time. time to delay the project or
not. If there is no more
time work by the team
computers, to minimize
this risk.

Product Risks:

Risk Probability Effects Risk planning


strategy

Packages and high serious Put a condition in the


Development tools are not contract to increase the
enough. time of project delivery
depends on the problem
occur. To avoid this risk.

Cannot find high tolerable Programmer must have


suitable professional programming
components. skills to write a new code,
which minimize this risk.

Business Risks:

Risk Probability Effects Risk planning


strategy

Cannot find suitable moderate tolerable Monitoring the work by


place for meeting the Email every day. To avoid
team. this risk.

Damage the high serious There is a spare generator to


electricity avoid this risk.
generator.
Marketing the product low catastrophic Distribution of
system. advertisements, which
minimize this risk.

14
8. METHODOLOGY

For designing Android based Online Exam System, we will use following methodology:
8.1. Software Process Model:
To solve an actual problems in an industry, software developer or a team of developers
must integrate with a development strategy that include the process, methods and tools layer and
generic phases. This strategy is often referred to a process model or a software developing
paradigm.
Our project follows the waterfall model.
The steps of waterfall model are:
• Requirement Definition
• System and Software Design
• Implementation
• Integration and System Testing
• Operation and Maintenance

8.1: Waterfall model


8.2. Technologies Used:

15
Front End:
XML for frame design
Android SDK through Eclipse IDE

Back End:
Java
Parse Android SDK

Database Tools:
Parse.com

Java:
It is a general-purpose, concurrent, class-based, object-oriented computer programming
language that is specifically designed to have as few implementation dependencies as possible. It
is intended to let application developers "write once, run anywhere" (WORA), meaning that code
that runs on one platform does not need to be recompiled to run on another. Java applications are
typically compiled to byte code (class file) that can run on any Java virtual machine (JVM)
regardless of computer architecture. Java is, as of 2012, one of the most popular programming
languages in use, particularly for client-server web applications, with a reported 9 million
developers. Java was originally developed by James Gosling at Sun Microsystems (which has
since merged into Oracle Corporation) and released in 1995 as a core component of Sun
Microsystems' Java platform. The language derives much of its syntax from C and C++, but it
has fewer low-level facilities than either of them. It is most useful language and has vast
application over varied aspects.

Eclipse IDE:

16
Eclipse is a multi-language Integrated development environment (IDE) comprising a base
workspace and an extensible plug-in system for customizing the environment. It is written
mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins,
other programming languages such as python, PHP etc. Eclipse is platform that helps to
synchronise xml schema files, java swing with database query languages such as MySQL,
SQLite etc. One can also synchronise android SDK and ADT to back end programming using
Eclipse IDE.

Android SDK:
Android is an operating system for mobile phone and tablets owned by Google Inc. Android
SDK is software development kit for android OS applications. One can develop application that
is compatible to android OS with the help of SDK. Enhancements to Android's SDK go hand in
hand with the overall Android platform development. The SDK also supports older versions of
the Android platform in case developers wish to target their applications at older devices.
Development tools are downloadable components, so after one has downloaded the latest version
and platform, older platforms and tools can also be downloaded for compatibility testing. For
integrated environment, Android SDK is often used with Android ADT plugging which gives
varied abstract data tools for software development process.

XML:
Extensible Mark-up Language (XML) is a mark-up language that defines a set of rules for
encoding documents in a format that is both human-readable and machine-readable. Although the
design of XML focuses on documents, it is widely used for the representation of arbitrary data
structures, for example in web services. One can use xml for developing design for applications.
Many application programming interfaces (APIs) have been developed to aid software
developers with processing XML data, and several schema systems exist to aid in the definition
of XML-based languages.

Parse:

17
With Parse, you can add a scalable and powerful backend in minutes and launch a
fullfeatured app in record time without ever worrying about server management. We offer push
notifications, social integration, data storage, and the ability to add rich custom logic to your
app‟s backend with Cloud Code. Parse allows your team to focus on creating a great user
experience and forget server maintenance and complex infrastructure. Instantly add push
notifications, data storage, social integration, and more the moment you integrate a Parse SDK
into your app. Our native SDKs for iOS, Android, Windows 8, Windows Phone 8, OS X,
Xamarin, Unity and JavaScript make it easy to create beautiful and powerful apps for all of your
favourite devices. From desktop to mobile apps, Parse has a SDK for everyone.

9. SYSTEM ANALYSIS

The Online Examination application will have the following functionalities:

18
• The application will enable a user to Exam.
• The application will enable a student of the Institute to register to use the application.
• The application will enable registered members cannot re-Examination after entering
their Examination details.
• The application will enable to view Examination details to the administrator.
• The registered user cannot be able to modify any personal details such as address or
phone number after Examination.
Following are the modules of Online Exam software:

(1) Verifier:
This module verifies the authentication of the users/examinees and provides the further access to
authenticated users.

(2) Conductor:
This module conducts the examination and provides different menus to users/examinees.
The user interacts with the system with module. It provides a user friendly interface to users.
Student when chooses to start the test, Questions are flashed on device screen with options.
Students have to click on the answer which is probable answer by his/her perceptive. Activities
involved are:
1. Setting a test:-
Admin decides a particular test to be set for students. When admin creates such test would be
given unique test ID. 2. Setting marks evaluation policy:-
Admin decides set of rules for evaluating marks of student. Rules may include whether to
keep negative marking or not and so on.

3. Setting questions:-
Admin set questions, options for those questions as well as he/she state the right answer choice
to the system so that system can tally those answers in marks evaluation.

(3) Test Giver:-

19
Students are the actual test givers. They select test from test pool to answer. Students have to log
in first. Then they will give test. Various activities involved are
1. Authentication:-
Only the authenticated students can give the test. If students enter wrong user ID or password,
he/she won‟t be permitted to
2. Selecting the test:-
From pool of tests, students have to select the test he/she wanted to see.
3. Selecting the mode: -
Test will be in timed or practice mode. So student has to decide whether to give exam in practice
or timed mode. 4. Giving test: -
In actual test giving, student sees questions and marks the most probable answer.

(4) Result maker:


This module declares the marks/result after the examination. It takes care of marks calculation
scheme such as negative marking etc. Accordingly result is developed.

Examination process:
First of all the user/examinee gets a valid identification number - user ID (same as the roll no for
a normal examination).The user can log on with this identification no. and can take up the
examination. After logging in the user can see various options and can choose the option from
the menu.

Results:
After completion of examination the administrator can view the results within seconds.
And also these results are displayed on screen
10. SYSTEM ARCHITECTURE

10.1 Software Architecture:


The Project Architecture diagram describes the general software architecture used in this
project.

20
10.1: Software Architecture

The above Style is popularly known as the “blackboard style” under „shared memory and state‟
kind of architectural styles. The main reasons for adapting this style were:
• Requirement of a central database
• Allows a program to run on a machine without compiling the program into native code
Any architecture in general should follow any two of the three basic principles to achieve
success; they are Scalability, Performance and Functionality.
For our project, performance and functionality were of utmost important hence we choose the
above architectural style which best describes the same.
10.2 Data Flow Diagrams:

The Data flow Diagram shows the flow of data. It is generally made of symbols given
below:
A square shows the Entity.
A Circle shows the Process
21
An open Ended Rectangle shows the data store.
An arrow shows the data flow.

The DFD can be up to several levels. The 0 level DFD states the flow of data in the
system as seen from the outward in each module.
The first level DFD show more detail, about the single process of the 0 level DFD The
second level DFD can show even more details and so on.
Construction a DFD:
• Process should be named.
• The direction of flow is from top to bottom and from left to right.
• When a process is exploded into lower level details, they are numbered.
• The name of data stores, sources, and destinations are written in capital letters. Process
and data flow names have the first letter of each word capitalized.

22
Data F
10.2.1. LEVEL-0 low Diagram:

Online Exam Android


Application

STUDENT

Android

DATABASE

23
Data F
10.2.1: LEVEL 0 DFD
10.2.2 LEVEL-1 low Diagram:

ADMIN
RESULT
TABLE

STUDENT
RESULT

Exam System EXAM TABLE

Login

Admin

24
Data F

10.2.2: LEVEL 1 DFD


10.3.3 LEVEL-2 low Diagram:

See result
Login
EDIT
PROFILE

STUDENT RESULT

Login

LOGIN

RESULT DB
Join exam,
time table

EXAM

REGISTRATION

EXAM DB

10.2.3: LEVEL 2 DFD


25
10.3.4 LEVEL-3 Data Flow Diagram:

STUDENT

ADMIN
ADMIN DB
Manage EXAM HANDLE
Question

ADMIN
MODIFY
Login

Change Password

LOGIN
ADMIN DB

ADMIN

10.2.4: LEVEL 3 DFD

11. DESIGN AND MINUTIAE

11.1 Use Case Diagram:

26
System

11.1: Use Case Diagram


A use case diagram at its simplest is a representation of a user's interaction with the system and
depicting the specifications of a use case. A use case diagram can portray the different types of
users of a system and the various ways that they interact with the system. While a use case itself
might drill into a lot of detail about every possibility, a use case diagram can help provide a

27
higher-level view of the system. It has been said before that "Use case diagrams are the
blueprints for your system".

In the system, the administrator is provided with the facilities of setting user profiles,
authenticating student registration and managing tests. These tasks, in turn are all verified by the
system. A student can appear for the test and get the results. Authentication and result generation
tasks are performed by the system.

11.2 Activity Diagrams:

Activity diagrams are graphical representations of workflows of stepwise activities and actions
with support for choice, iteration and concurrency. In the Unified Modelling Language, activity
diagrams can be used to describe the business and operational step-by-step workflows of
components in a system. An activity diagram shows the overall flow of control.
The below illustrated diagrams shows the each activity in detail as it takes place accordingly in
the system detailing the flow of interaction between users and the administrative system.
Each of the following diagrams is unique in the aspect of the activity under consideration
and display.

11.2.1. Login Activity

28
Enter Username And
Password

Submit Username and


password

Verify Username and


password

invalid login

Valid Login

Redirect to admin
homepage

11.2.1: Login

29
11.2.2 Manage Test Activity

Login

Create new
Edit Test
test

Select Existing
test

Set test title

Give answer
Add question
choices

Set correct
Add more questions answers

Done with adding


questions

Allow practice
Set test mode
mode

Set time for


answering

Set negative
marks ratio

11.2.2: Manage Tests

30
11.2.3 Answer Test Activity

Students Login

Select Test

until all attempted / timeout


Select Test
mode

Answer
Questions

11.2.3: Answer

31
11.2.4 Generate Results Activity

Compare selected choices with


right answers

If Ans is right if ans is wrong

Add marks to
the score

if negative marking
enabled
no negative
marking

Deduct marks
from the score

for next question

Done with all


questions

Display Result

11. 2.4: Generate Results


11.3 Class Diagram:
32
11.3: Class Diagram
Class Diagram is a static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships
among the classes.

11.4 Sequence Diagram:

33
A sequence diagram is a kind of interaction diagram that shows how processes operate with one
another and in what order. A sequence diagram shows object interactions arranged in time
sequence. It depicts the objects and classes involved in the scenario and the sequence of
messages exchanged between the objects needed to carry out the functionality of the scenario.

11.4: Sequence Diagram


The above diagram shows the sequence of steps as they are performed between various objects
and classes. Here the objects are Student, Administrator and System and the arrows represent the
various methods accessing them. Each particular step shows the sequence in which everything is
carried out by the particular users of the system.
11.5 Collaboration Diagram:

34
A collaboration diagram describes interactions among objects in terms of sequenced
messages. Collaboration diagrams represent a combination of information taken from class,
sequence, and use case diagrams describing both the static structure and dynamic behavior of a
system.

11.5: Collaboration Diagram

The above diagram explains the interactions between the various objects in this system. Here,
the objects which access the system and perform their respective functions are shown
collaborating according to their individual sequences. The users, the administrators and the
system all come together to form a responsible and successful interaction application amongst
themselves.

12. IMPLEMENTATION

35
12.1 Introduction
Implementation is the carrying out, execution, or practice of a plan, a method, or any design for
doing something. As such, implementation is the action that must follow any preliminary
thinking in order for something to actually happen. In an information technology context,
implementation encompasses all the processes involved in getting new software or hardware
operating properly in its environment, including installation, configuration, running, testing, and
making necessary changes. The word deployment is sometimes used to mean the same thing.

12.2 Database Schema Design studAuth

StudUserName StudPassword StudPhnNo

User
username Password

Vex
vqno vque vopt1 vopt2 vopt3 vopt4 vrightans

Exams
qno Que opt1 opt2 opt3 opt4 rightans

36
Results
Studname quantmarks verbmarks totalmarks

12.2 Coding

The XML file:


The easiest and most effective way to define application layout is with an XML file. XML offers
a human-readable structure for the layout, similar to HTML. The example XML file for the
frame of start page of quant test is as below:

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" android:orientation="vertical" >

<Button
android:id="@+id/qtsexit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"

android:text="Exit Test" />

<Button android:id="@+id/qtssubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"

37
android:layout_marginLeft="26dp"
android:layout_toRightOf="@+id/textView7"
android:text="Submit" />

<Button android:id="@+id/qtsnext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Next" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView9"
android:layout_marginTop="14dp" android:text="Question"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/textView8" android:text="Hello"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"

38
android:layout_centerVertical="true" android:text="Option (4) :"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/TextView02"
android:layout_toLeftOf="@+id/textView9" android:text="Option
(3) :"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/TextView03"

android:layout_toLeftOf="@+id/textView9"
android:text="Option (2) :" android:textAppearance="?
android:attr/textAppearanceMedium" />

<TextView android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/TextView01"
android:layout_alignParentLeft="true" android:text="Option (1) :"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

39
android:layout_above="@+id/textView4"
android:layout_alignLeft="@+id/qtssubmit"
android:text="Opt1"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView5"
android:layout_alignLeft="@+id/textView3" android:text="Opt2"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView6"
android:layout_alignLeft="@+id/textView4" android:text="Opt3"
android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/TextView02"
android:layout_marginTop="26dp" android:text="Answer"
android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

40
android:layout_below="@+id/textView7"
android:layout_toRightOf="@+id/textView7" android:ems="10"
android:hint="Write option number here" />

<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:layout_above="@+id/textView7"
android:layout_alignRight="@+id/textView9" android:text="Opt4"
android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

The Java File:


The JAVA files works as backend of the frames. It generates functionalities for buttons, text
views from the XML file. The corresponding Java file of start page of quant test is as follows:

package com.example.Aphexams;
import com.parse.*; import
java.io.*; import java.util.*; import
android.os.Bundle; import
android.app.Activity; import
android.app.ProgressDialog; import
android.content.Intent; import
android.widget.*; import
android.util.Log; import
android.view.Menu; import
android.view.View;
import android.view.View.OnClickListener;
import android.app.Activity; import

41
android.content.Intent; import
android.widget.*; import
android.view.Menu;
import android.view.View; import
android.view.View.OnClickListener; import
java.util.*; public class QTestStart extends
Activity{

Button bqtssubmit,bqtsnext,bqtsexit;
TextView oop1,oop2,oop3,oop4,textView1,qquestn;
EditText ccorrect; public static int num4=1; public
static int counter=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.qtest_start);
Parse.initialize(this, "eX31t72OF1l2SfT72YlLNkBiCiMwRGCf6S8QGMHB",
"r70qpWRJ6IMNgTn7YW2dLZUFMmvTn5GQRfNQcwsd");
counter=0;
num4=1;

Intent intentIndex = getIntent();


final String studname = intentIndex.getStringExtra("studentInvoking");
final TextView tw= (TextView)findViewById(R.id.textView9);
tw.setText("Hello "+studname); final String tillNow =
intentIndex.getStringExtra("tillnow"); final String verbo =
intentIndex.getStringExtra("verbo"); final String quanto =
intentIndex.getStringExtra("quanto")
ParseQuery<ParseObject> query = ParseQuery.getQuery("exams");
query.whereEqualTo("qno",num4); query.getFirstInBackground(new

42
GetCallback<ParseObject>() { public void done(ParseObject object,
ParseException e) {
if (object == null) {
Log.d("que", "The getFirst request failed.");
} else {
Log.d("que", "Retrieved the object.");
String questiondata=object.getString("que");
final TextView qquestn = (TextView)
findViewById(R.id.textView2); qquestn.setText(questiondata);
String option1=object.getString("opt1"); final TextView oop1 =
(TextView) findViewById(R.id.textView3); oop1.setText(option1);
String option2=object.getString("opt2"); final
TextView oop2 = (TextView) findViewById(R.id.textView4);
oop2.setText(option2);
String option3=object.getString("opt3"); final
TextView oop3 = (TextView) findViewById(R.id.textView5);
oop3.setText(option3);
String option4=object.getString("opt4"); final
TextView oop4 = (TextView) findViewById(R.id.textView6);
oop4.setText(option4); }}}); bqtssubmit =
(Button)findViewById(R.id.qtssubmit);
bqtssubmit.setOnClickListener(new OnClickListener() { public void
onClick(View v) { if(num4==20){
final ProgressDialog dlg = new ProgressDialog(QTestStart.this);
dlg.setTitle("Please wait."); dlg.setMessage("Processing request. Navigating to
result evaluation. Please wait.");
dlg.show();
Intent indexIntent=new Intent(QTestStart.this,Result.class);
indexIntent.putExtra("studentInvoking",studname);
indexIntent.putExtra("quanto",Integer.toString(counter));
indexIntent.putExtra("verbo",verbo);

43
indexIntent.putExtra("which","verbal"); if(tillNow.equals(""))
{indexIntent.putExtra("tillnow","q");} else if(tillNow.equals("v"))
{indexIntent.putExtra("tillnow","vq");} startActivity(indexIntent);
}else{
final EditText ccorrect = (EditText) findViewById(R.id.editText1);
String cor=ccorrect.getText().toString().trim();
ParseQuery<ParseObject> query = ParseQuery.getQuery("exams");
query.whereEqualTo("qno",num4);
query.whereEqualTo("rightans",Integer.parseInt(cor));
query.getFirstInBackground(new GetCallback<ParseObject>() { public void
done(ParseObject object, ParseException e) {
if (object == null) {
Log.d("que", "The getFirst request failed.");
ccorrect.setEnabled(false);
counter=counter-1;
} else {
Log.d("que", "Retrieved the object.");
counter=counter+5;
ccorrect.setEnabled(false); }}}); }}});
bqtsnext = (Button)findViewById(R.id.qtsnext);
bqtsnext.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
num4++;
if(num4==21){
Intent indexIntent=new Intent(QTestStart.this,Result.class);
indexIntent.putExtra("studentInvoking",studname);
indexIntent.putExtra("quanto",Integer.toString(counter)); indexIntent.putExtra("verbo",verbo);
indexIntent.putExtra("which","verbal"); if(tillNow.equals(""))
{indexIntent.putExtra("tillnow","q");} else if(tillNow.equals("v"))
{indexIntent.putExtra("tillnow","vq");} startActivity(indexIntent);
}

44
final EditText ccorrect = (EditText) findViewById(R.id.editText1);
ccorrect.setEnabled(true); ccorrect.setText("");
ParseQuery<ParseObject> query =
ParseQuery.getQuery("exams"); query.whereEqualTo("qno",num4);
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) { if (object ==
null) {
Log.d("que", "The getFirst request failed.");
} else {
Log.d("que", "Retrieved the object."); String
questiondata=object.getString("que"); final TextView qquestn =
(TextView) findViewById(R.id.textView2);
qquestn.setText(questiondata); String option1=object.getString("opt1");
final TextView oop1 = (TextView) findViewById(R.id.textView3);
oop1.setText(option1);
String option2=object.getString("opt2");
final TextView oop2 = (TextView) findViewById(R.id.textView4);
oop2.setText(option2);
String option3=object.getString("opt3"); final
TextView oop3 = (TextView) findViewById(R.id.textView5);
oop3.setText(option3);
String option4=object.getString("opt4"); final TextView
oop4 = (TextView) findViewById(R.id.textView6);
oop4.setText(option4); }}});}});
final int fverbo=0;
bqtsexit = (Button)findViewById(R.id.qtsexit);
bqtsexit.setOnClickListener(new OnClickListener() { public
void onClick(View v) { final ProgressDialog dlg = new
ProgressDialog(QTestStart.this); dlg.setTitle("Please wait.");
dlg.setMessage("Processing request. Exiting the test. Please wait.");
dlg.show();

45
Intent indexIntent=new Intent(QTestStart.this,Result.class);
indexIntent.putExtra("studentInvoking",studname);
indexIntent.putExtra("quanto",Integer.toString(counter));
indexIntent.putExtra("verbo",verbo);
indexIntent.putExtra("which","verbal"); if(tillNow.equals(""))
{indexIntent.putExtra("tillnow","q");} else if(tillNow.equals("v"))
{indexIntent.putExtra("tillnow","vq");}
startActivity(indexIntent);}});}
@Override
public void onBackPressed() { Log.d("CDA",
"onBackPressed Called");
Intent indexIntent=new Intent(QTestStart.this,MainActivity.class);
startActivity(indexIntent); }

12.3 Timeline

46
12.3: Project Timeline

13. RESULTS AND OBSERVATIONS

47
13.1 Observations
The following things were observed over the course of development of the application:
• The application was developed according to the problem definition and most of the
requirements are satisfied by the application
• The online cloud database was deployed in the perfect fashion and works even with large
number of users and devices accessing the application
• The application can be successfully scaled with advanced versions with much improved
functionality and use
• The following are the typical configurations demanded by the app:
The minimum configuration required for running the application:
Device Android Smartphone with version Éclair and above

Processor > 500 MHz speed

RAM > 278 MB

Memory > 512 MB

The optimal configuration required for running the application:


Device Smartphone LG Nexus 4

Processor 1.5 GHz Krait Adreno 320

RAM 2 GB

Memory 16 GB

13.2 Screenshots

48
13.2.1: Home Page 13.2.2: Admin View

13.2.3: Student Home 13.2.4: Verbal

49
13.2.5: Admin Registration 13.2.6: Quant

13.2.7: Student Registration 13.2.8: About

50
13.2.9: User
The above table includes Admin database. The default User of parse.com is assigned to Admin
in our application. By default the password field in this table is invisible for security purpose. It
has following attributes: username – Username of the Admin password – Password of Admin

13.2.10: studAuth
The above table includes database of Students who have registered for online examination. It has
following attributes: StudUserName – Name of registered students

51
StudPassword – Password of registered students
StudPhnNo – Contact number of registered student

13.2.11: Exams

The above table includes database of Quantitative ability questions, their answer choices and
correct answer for the respective questions. It has following attributes:
qno – It tells about question number.
que – It is actual question. opt1, opt2, opt3, opt4 – These are four attributes of four answer
choices for particular question. rightans – It is right answer of the question.

52
13.2.12: Vex

The above table includes database of Verbal ability questions, their answer choices and correct
answer for the respective questions. Each question has been specifically designed and extracted
taking into consideration the requirements for exams conducted for aptitude analysis. It has
following attributes:
vqno – It tells about question number. vque
– It is actual question.
vopt1, vopt2, vopt3, vopt4 – These are four attributes of four answer choices for particular
question. vrightans – It is right answer of the question.

53
13.2.13: Results

The above table includes Results of the students who have successfully completes the test. It
includes following attributes:
Studname – Name of the student.
Quantmarks – Marks obtained in Quantitative ability test.
Verbmarks – Marks obtained in Quantitative ability test.
Totalmarks – Total marks obtained in both test.

54
14. CONCLUSION AND FUTURE SCOPE

For project of development of android based „Online Test System‟, it was a very fine
experience. The system did fulfil preliminary goals such as android application development
through which students can give test from their handheld device easily, thus adding to our
experience. We have tried our best to implement the system efficiently. It may find its effective
usage in aptitude tests or other objective tests. It is proving to be one of the efficient and agile
methodologies regarding online testing experience.

14.1 Limitations of System


Present system carries certain drawbacks and limitations as listed below
1. Current system provides only multiple choices but single correct answer selection.
Faculty may wish to provide multiple choices multiple selection responses.
2. In case questions and/or answers need to be in graphics, current system has no
provision.
3. Security logs though not implemented in this system would be well available through
the respective database management system and web server software.
4. Application is compatible with only the smartphone or tablets having android OS.
5. Supervision for test is necessary.

14.2 Future Scope


In future we will look forward to provide some updates to our system. Those may include
the support for questions or answers in graphics, the provision for having multiple choice
questions with multiple answers correct. We may add some security parameters regarding
authentication of student through more advanced security tools like face recognition, fingerprint
scanning, voice password system and so on.
Finally we would like to express our thanks to all those who have been associated with the
project.

55
REFERENCES

Bibliography
Books:
 1. Android applications (Lauren Darcey, Shane Conder).
 2. Mastering in XML(Black Book)
 3. Apache Tomcat7(Aleksa Vukotic, James Goodwill)
 4. O‟RELLY‟ publications: Learning Android by Mark Gargenta.

Webliography
Websites:
 developer.android.com
 stackoverflow.com
 vogella.com
 parse.com

56

You might also like