Sie sind auf Seite 1von 47

APTITUDE LEARNING &TEST APPLIATION

Abstract

The students appearing for placements and various other exams like GRE, GMAT, and
GATE prepare by coaching classes or by self-study and they are appearing for mock tests
and search for the study material from different website. And for this they require internet
connection, which is not possible to access by everyone at any place.

Today, the smart phones are able to replace desktop PC’s and laptops up to great extents.
There are offline android applications available for aptitude tests but there exists none
that provides the test for all sections with random set of questions, timer for each test,
tutorials, score calculation and maintaining statistics in one single application. This
provides a different feature from the existing aptitude applications available in Android
play stores along with the idea of developing an application that overcomes the problems
of the existing applications which are available from which some have very easy pattern
of the question or some have different category of the questions but even these levels can
not exactly determine the level of the users. We are providing an application which
automatically judges the level of the user when the user uses the learning application.
Learning application also have tutorials to refer to if the user faces problems directly
entering the practice session. Admin application will be used to upload questions and
maintain user’s database (uploading new questions etc.). Technology used will be
android tools(JVM, android studio), for coding the application, PHP language will be
used at the sever end for uploading the questions via excel sheets. The main aim of our
Application is that “we don’t give all, but we give what user need". This way the user
will not waste time doing questions of the same level over and over.
CONTENT
1. INTRODUCTION
1.1 Preamble
1.2 Need of the project
1.3 Problem Statement
1.4 Goals &Objectives
1.5 Proposed Solution Approach
1.6 Organization of the Report

2. LITERATURE REVIEW
2.1 Summary of Reviewed Literature

3. BACKGROUND STUDY
3.1 Fundamentals/Relevant Concepts
3.2 Tools / Technology to be used in the Project

4. ANALYSIS
4.1 Detailed Problem Statement
4.2 Analysis of Existing Technologies/ approaches
4.3 Requirement Analysis, Feasibility Study, Resource Requirement etc

5. DESIGN
5.1 System Architecture Diagram of Proposed System
5.2 Activity Diagram
5.3 Data Design Diagram/ ER Diagram

6. IMPLEMENTATION
6.1 Hardware &Software Used
6.2 Description of Classes and Functions Used
7. TESTING AND RESULT
7.1 Test Cases/ Test Scenarios
7.2 Result

8. CONCLUSION &FUTURE WORK


8.1 Conclusion
8.2 Future work
List of Figures

4.1 Usecase Diagram


4.2 Description usecase Diagram
5.1.1 System Architecture Diagram(overall)
5.1.2 System Architecture Diagram(Android)
5.1.3 System Architecture Diagram(Test)
5.1.4 System Architecture Diagram(Learning)
5.2.1 Activity Diagram 1(Learning)
5.2.2 Activity Diagram 2(Login and Registration)
5.2.3 Activity Diagram 3(Testing)
5.2.4 Activity Diagram 4(Update and View account)
5.2.5 Activity Diagram 5(View resource and update question)
5.3 E-R Diagram
7.2.1 Screenshot 1
7.2.2 Screenshot 2
7.2.3 Screenshot 3
7.2.4 Screenshot 4

List of Tables

5.3.1.1 Admin Database


5.3.1.2 Student Database
5.3.1.3 Slevel Database
5.3.1.4 Rlevel Database
5.3.1.5 Testinfo Database
5.3.1.6 Testques Database
5.3.1.7 tr Database
5.3.1.8 Question Database
CHAPTER-1 INTRODUCTION

1.1 Preamble

Today, we can see that many people who are prepare for their exams are studying in
buses, in parks or in a cafe with a test book keep in hands. The tests prepared through
electronic exam systems, now, have provides a better choice for those who prepare for
their exams by using their personal computers or mobile devices. Connecting such
services requires a computer. In other words, it is necessary that students must be in an
environment which provides above mentioned conditions in order to access such
electronic exam systems. Mobile is a useful part of daily life. But now with increasing
technology, customers are demanding best and very efficient applications. It is
challenging work to develop such a mobile application in this competitive era that will
meet the expectation of customers. The advancement in mobile technology is improving
everyday life.

Now a day’s different mobile technology as well as mobile phones available in the
market. The users wish to use various applications in their day to day life to reduce work
load by some way. Now students are using mobile technology in study related purpose
also. Student can easily find their assignments and questions through internet. So our
application is also used by the student who are appearing for placements and other
engineering related entrance exams, have to prepare by own in technical as well as non-
technical areas. For this they required study material from different sources. Also there
are many mobile applications available that provide mock tests. But these applications
generally waste the time of students because they can't able to judge the level of
intelligence of the student. Some time student doesn’t find anything beneficial for them.
So our application places the question by judging students level of accuracy and the time
taken to solve the particular question.

The application we are designing will be divided in 3 different parts: Learning


application, testing application, and Administrator application. The learning application
will include theory to study and learn the topics of aptitude. It will also include formulas
and short-tricks to solve the questions in required time. He/she will also be provided with
tutorial video for additional help. The Learning application will focus on analysis of the
level of student so that user doesn't waste time in solving question of the same level over
and over. If the analysis concludes that user's performance is too low the user will
automatically be moved to lower level and if the performance is good he/she will be
moved to higher level. The Testing application will notify users about the test updates
and users will be able to take the tests online.

1.2 Need of Project

 To increase accuracy: for students who are preparing for aptitude based exam
through different apps they only provide random questions not based on level of
students which decreased accuracy but this app provides them questions as per
level which will increase accuracy.

 To save time: user can save their time which is waste in solving easy questions
because App only present question according to the level of user.

 Tutorials: Tutorials in form of text and also in form of videos, because many
people like to learn by videos.

 Score Board: After each test, the score will be calculated. This section wise
statistics will also be available for future reference.

 Random test: The test that we generate will include random questions of all three
sections. The score evaluation of this test will also include negative marking.

 Categorized learning: Learning application will be well categorized so that the


user gets to work on the particular category.

 Timer: For each test, timer will be provided that is enough to complete that
particular test. The user can also finish the test before time complete.

 Separate Application (Learn & Test): Separate application decrease the


complexity of application and the performance of the application increases.

1.3 Problem Statement


To make aptitude learning and test application which can be accessed on the smart
phones of users as well as online. This app saves all the data and performance of users.
We are providing a application which automatically judge the level of the user and then it
will give the question accordingly. The main aim of our Application is that “we don’t
give all, but we give what user need". This way the user will not waste time doing
questions of the same level over and over.
The Pocket Aptitude App is rated in the top 5 aptitude applications in android market
developed by SinduRajan and designed by YaliniKumaraguru. Pocket Aptitude is a
collection of 1000+ quantitative aptitude questions and word problems frequently asked
in competitive examinations and placement papers. It is designed as a preparation tool for
job aspirants and those waiting to crack CAT, XAT, MAT, GRE, GMAT, SAT, NTSE
and various bank exams. People with an inclination towards mathematics can use this app
to sharpen their IQ, test their aptitude skills and enrich their knowledge. This application
has various fine points and flaws like it provides a good user interface but only
quantitative tests are conducted. It provides score calculation for practice test but does not
store it for future reference. Another flaw is that the user gets the same set of questions
each time they appear for the test.
Logical Reasoning helps in improving problem-solving skills by focusing on Logical
Reasoning Questions. Logical Reasoning will help you in preparation of admissions tests
and other different kind of exams, but the user interface is not interactive, the user has to
scroll horizontally to view the entire answer. It just has MCQ’s without timer for test and
without score evaluation.
The Aptitude Interview Questions Application developed by Programmer world and the
Aptitude Questions Application developed by Lakeba Mobile Apps are the applications
that do not provide a test. They just consist of quantitative questions and answers, yet
they are in the list of top rated apps in android market. These apps can be used for just
gaining some information, but not to test one’s knowledge. In Aptitude Interview
Questions Application, sections are not named properly, this may confuse the user which
section has what kind of questions and also it is not compatible with all devices. In
Aptitude Questions Application, the questions are not categorized.
The Aptitude App is developed by Pradeep Kumar Rapolu is another most frequently
used app. This Offline Application provides the entire stuff for the students and job
seekers to crack the Campus recruitment tests. Complete information regarding formulas
and FAQs has been provided, for almost all type of topics in Arithmetic and Verbal
reasoning. Good navigation flexibility, makes operating the application very simple, but
the user interface is not attractive. It does not provide test, just simple questions and
answers.

1.3 Goals and Objectives

The goal of the project is to develop aptitude learning and test application which is useful
to users. In order to achieve this goal, the main objective is to build smart aptitude
learning and test application with the following features/facilities:
 Application should online.
 The application should record data and store the same data on server.
 The user should not be able to kill the application.
 Users can check their recent performance and accuracy.
 Users can easily use and access it.
 Admin must have a facility to set reset the uploaded data.
 Users can use app at any location where they want.

1.5 Solution Approach

The solution approach of the study is to provide questions as per level to the users. When
the user downloads the application user will be provided with all the previously uploaded
question and answers and learning material. User will also get updates on the new
learning material and tests. Administrator will provide the question with different levels.
He will upload the question on portal and the users will get the questions on their mobile
app. The application will be divided into three different parts. Learning, Testing and
Administrator.

1.5.1 Learning Application: Learning application will analyses the level of the user and
upgrade or degrade the level.
1.5.2 Testing Application: Testing application will generate test from the following
Categories: -
 Logical Reasoning
 Aptitude
 Verbal
 Mixture of Logical reasoning, Aptitude, and Verbal.

1.5.3 Administrator Application: Administrator application controls all the activities of


the user through application updates. Administrator has the right to upload test for test
application.

1.6 Organization of the Project Report

Chapter 1- Introduction: This chapter gives an over view of the project and explains the
purpose of the project.

Chapter 2- Background: This chapter describes in detail the Android Studio, and Jdk as
the frontend, and My SQLite, MySQL, Dalvik and Java as background.

Chapter 3- Analysis: This chapter describes the problem statement of the thesis work. It
deals with the feasibility study, functional and non-functional requirements; hardware
and software specifications use case analysis, activity diagrams and ER diagram.

Chapter 4- Design: This chapter focuses on the design details comprising of the basic
Architecture of the application, the basic Architecture of the system, protocols to be used,
database design and its description, Sequence diagrams and class diagrams.

Chapter 5 - Implementation: This chapter focuses on the implementation details of


different modules.

Chapter 6- Testing: This chapter focuses on the test cases of different modules.

Chapter7- Conclusion and Future work: This chapter summarizes and derives a
conclusion about the project. It briefly discusses the entire research work that has been
done for the project. It also discusses the features, advantages, limitations and the future
scope of the project.

The next section of the report contains the background study of the system, the literature
that has been referred to get a detailed insight into the developments in the similar fields.
It also briefly describes the tools and technologies that shall be employed to fulfill our
objective.
CHAPTER-2 LITERATURE REVIEW

2.1 Summary of Literature Review

The research papers discusses about many aptitude application that have been developed.
It focuses mainly on the features these applications are providing and the drawbacks they
have.

 User Interface: The pocket aptitude app has a very user friendly interface that is
interactive and provides easy navigation throughout the app. -The logical and
reasoning app is not interactive as the user has to horizontally scroll for viewing
the answer.

 Categorization: The Pocket Aptitude App provides test facility for only
quantitative section.

 Random Questions: The Pocket Aptitude App and the Logical and Reasoning
App provides same set of questions each time the user appears for the test.

 All in One Test: The Pocket Aptitude App and the Logical and Reasoning App
does not provide All In One test facility

 Timer: The Pocket Aptitude App provides timer for only the practice test. -The
Logical and Reasoning App does not provide timer facility.

 Hint: The Pocket Aptitude App and the Offline Android Aptitude Application
provides hint during test. -The Logical and Reasoning App does not provide hint
during test.

 Score Board: The Pocket Aptitude App and the Logical and Reasoning App do
not maintain score board for future reference.

The Aptitude Interview Questions Application developed by Programmer-world and the


Aptitude Questions Application developed by Lakeba Mobile Apps are the applications
that do not provide a test. They just consist of quantitative questions and answers, yet
they are in the list of top rated apps in android market. These apps can be used for just
gaining some information, but not to test one’s knowledge. In Aptitude Interview
Questions Application, sections are not named properly, this may confuse the user which
section has what kind of questions and also it is not compatible with all devices. In
Aptitude Questions Application, the questions are not categorized.

Best way to find out the flaws with our application will be the user feedback and
comparison to previous android application. User feedback can be seen through the rating
the user gives online and the comments they post on the play-store. Comparing each
element of the application to the previous application will lead to a better application. We
will provide users with email on which they can tell us the problems they are facing with
the application. By considering the need of the students for placements and other entrance
exams, this application must be developed in the most preferred mobile operating system
i.e. Android. The application must be properly categorizing the sections, providing
section wise tutorials, random set of questions and timer for each test, maintaining score
board along with a user friendly and attractive and easy to use user interface. It is
designed as a preparation tool for job aspirants and various aptitude tests.
CHAPTER-3 BACKGROUND STUDY

2.1 Fundamental Concepts


2.2 Tool and Technology Used

2.2.1 Android Studio: Android Studio is the official IDE for Android application
development. Android Studio provides a number of improvements to assist you in
debugging and improving the performance of your code, including an improved virtual
device management, inline debugging, and performance analysis tools. Android Studio
provides a memory and CPU monitor view so you can more easily monitor your app's
performance and memory usage to track CPU usage, find reallocated objects, locate
memory leaks, and track the amount of memory the connected device is using.
Features of the Android Studio:
 Customize, configure, and extend the build process.
 Create multiple APKs for your app with different features using the same project
and modules.
 Reuse code and resources across source sets.

2.2.2 Java Development Kit: The Java Development Kit (JDK) is an implementation of
either one of the Java SE, Java EE or Java ME platforms released by Oracle Corporation
in the form of a binary product aimed at Java developers on Solaris, Linux, Mac OS or
Windows. The JDK includes a private JVM and a few other resources to finish the recipe
to a Java Application. Since the introduction of the Java platform, it has been by far the
most widely used Software Development Kit on 17 November 2006, Sun announced that
it would be released under the GNU General Public License (GPL), thus making it free
software. This happened in large part on 8 May 2007, when Sun contributed the source
code to the OpenJDK.

2.2.3 My SQLite: SQLite is a relational database management system contained in a C


programming library. In contrast to many other database management systems, SQLite is
not a client–server database engine. Rather, it is embedded into the end program.
SQLite is ACID-compliant and implements most of the SQL standard, using a
dynamically and weakly typed SQL syntax that does not guarantee the domain integrity.

SQLite is a popular choice as embedded database software for local/client storage in


application software such as web browsers. It is arguably the most widely deployed
database engine, as it is used today by several widespread browsers, operating systems,
and embedded systems, among others. SQLite has bindings to many programming
languages.

2.2.4 MySQL: MySQL is written in C and C++. Its SQL parser is written in YACC, but it
uses a home-brewed lexical analyzer. MySQL is offered fewer than two different editions:
the open source MySQL Community Server and the proprietary Enterprise Server.
MySQL Enterprise Server is differentiated by a series of proprietary extensions which
install as server plugging, but otherwise shares the version numbering system and is built
from the same code base.
Major features as available in MySQL 5.6:
 Cross-platform support
 Stored procedures, using a procedural language that closely adheres to SQL/PSM
 Triggers
 Cursors
 Updatable views
 Online DDL when using the InnoDB Storage Engine.
 Information schema
 Performance Schema
 Embedded database library
 Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.

2.2.5 Apache Tomcat: Apache Tomcat is an open source software implementation of the
Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket
technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java
WebSocket specifications are developed under the Java Community Process. Apache
Tomcat powers numerous large-scale, mission-critical web applications across a diverse
range of industries and organizations.

2.2.6 Protocol: A protocol is a standard used to define a method of exchanging data over
a computer network such as network, Internet, Intranet, etc. Each protocol has its own
method of how data is formatted when sent and what to do with it once received, how
that data is compressed or how to check for errors in data.

 Hypertext Transfer Protocol


The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed,
collaborative, hypermedia information systems. HTTP is the foundation of data
communication for the World Wide Web. HTTP functions as a request-response
protocol in the client-server computing model. A web browser, for example, may be
the client and an application running on a computer hosting a web site may be the
server. The client submits an HTTP request message to the server. The server, which
provides resources such as HTML files and other content, or performs other functions
on behalf of the client, returns a response message to the client. The response contains
completion status information about the request and may also contain requested
content in its message body.
CHAPTER-4 ANALYSIS
4.1 Detailed problem statement

Previous aptitude applications have many flaws that need to be addressed and should be
removed in order to make a better aptitude application.
Disadvantages of previous application:
1. Performance of the user is not analyzed.
2. No online test available.

The user performance is not analyzed in the previous application the user will waste time
doing the questions of same level over and over. Thought this judgment the user will to
skip to higher level and save time not doing easy questions. Also the user may get stuck
doing the higher level than the user must be recommended to come down a level.

Online test is very important. Through online test the user gets updated with the new
questions. By giving the online test user will also to know the online ranking and will
capture more users to use this application. That will not only connect users but will create
a better interaction between the user and the application.

The Pocket Aptitude App is rated in the top 5 aptitude applications in android market
developed by SinduRajan and designed by YaliniKumaraguru. Pocket Aptitude is a
collection of 1000+ quantitative aptitude questions and word problems frequently asked
in competitive examinations and placement papers. It is designed as a preparation tool for
job aspirants and those waiting to crack CAT, XAT, MAT, GRE, GMAT, SAT, NTSE
and various bank exams. People with an inclination towards mathematics can use this app
to sharpen their IQ, test their aptitude skills and enrich their knowledge. This application
has various fine points and flaws like it provides a good user interface but only
quantitative tests are conducted. It provides score calculation for practice test but does not
store it for future reference. Another flaw is that the user gets the same set of questions
each time they appear for the test.
Logical Reasoning helps in improving problem-solving skills by focusing on Logical
Reasoning Questions. Logical Reasoning will help you in preparation of admissions tests
and other different kind of exams, but the user interface is not interactive, the user has to
scroll horizontally to view the entire answer. It just has MCQ’s without timer for test and
without score evaluation.
The Aptitude Interview Questions Application developed by Programmer world and the
Aptitude Questions Application developed by Lakeba Mobile Apps are the applications
that do not provide a test. They just consist of quantitative questions and answers, yet
they are in the list of top rated apps in android market. These apps can be used for just
gaining some information, but not to test one’s knowledge. In Aptitude Interview
Questions Application, sections are not named properly, this may confuse the user which
section has what kind of questions and also it is not compatible with all devices. In
Aptitude Questions Application, the questions are not categorized.
4.2 Analysis of Existing Technologies/ approache

4.3 Requirement Analysis, Feasibility Study, Resource Requirement

4.3.1 Requirement Analysis

Information useful for designing this system is gathered. They are listed as follows:
1. Research papers to understand the underlying concepts.
2. Need of the project in present scenario.
3. Environment in which the software would be useful.

Lastly, information is gathered related to the applications that are required by the users.
There are different categories of users like developers, normal users etc. A user belonging
to a particular category can easily find a particular application of that category.

4.3.2 Functional Requirements: Functional requirements of the system describe the core
part of the system and describe the main functionalities of the system. Functional
requirements of the system proposed are as follows:
 The application will help the student to practice general aptitude, verbal and
reasoning for placement purpose.
 Only authorized person can access related details.
 The student can register themselves for using the application.
 User can practice questions offline.
 User can get their position(rank) among all the users of testing application.
 User can have diffident levels in learning application and next question come
according to the level of previous.
 The students can login through USER-ID and PASSWORD and give their exams.
 Administrator will be responsible for updating the site.
 The organization can change questions and test papers whenever needed.

3.3.2 Non Functional Requirement: Non Functional requirements are those which
specifies the criteria for judging the performance of the system rather than testing the
specific behaviors. It particularly deals with degree of performance and not the way of
performing the task. Non Functional Requirements shows how a system is supposed to be
and to what degree. Also the specific qualities of the system are depicted by these
requirements.

The Non Functional requirements of our system are as follows:

 Security: -Security is the facility provided to protect the data and restrict the
access from unauthorized user. This is realized using level security measures, first
level is by authenticating user using the credentials previously chosen by user and
second level is encrypting the data according to the protocol chosen by the client
from the list given by the server.
 Recoverability: -The system should be restored to the previous state in which it
was, when the user last used it. Users data must not get lost when the user closes
the system abruptly.

 Usability: -The system should be easy to use. Any user not familiar with the
system should be able to interpret the vocabulary used in the system and easily
access.

 Reliability: - System should be reliable in the sense that it should work for an
adequate period between two failures. Users must be confident of the reliability
and must not fear for the failure at any time.

 Configuration Management: - Configuration Management is used to maintain


the performance, operations and the consistency of the system. When the team
consist of more than 2-3 members then problem of inconsistent changes in the
documents is observed, thus for facilitating proper informed changes throughout
the team configuration management is required.

 Cost: - Cost of the system should be affordable for the user.

 Compatibility:-It should be compatible to android version (jelly bean) and after


that.

 Response Time: -Response time of the system should be under the specified
limits.

 Scalability: - System should be scalable after practical implementation of the


project and should work for a large network and able to handle large number of
clients.

 Deployment:-Deployment of the system must be very easy as the users using this
system will have very less knowledge about the internal working and the source
code so that later on if the user changes the network he should not suffer from any
problem.

4.3.3 Feasibility Study

Feasibility is defined as the possibility and practicality of the proposed project.


Feasibility study is done to identify the strength and weaknesses of the project. This
further specifies the opportunities and the threats of the project. Other factors which are
analyzed in feasibility study are the resources available and the prospects of ultimate
success of the project. It not only focuses on the technical aspect of the project but on the
economic aspect also. It is a process of analyzing, focusing, clarifying and resolving the
key issues that are subject to the viability of the project. Feasibility study is provided to
identify the primary issues related to the project idea. A project is possible or not is
identified by its feasibility study. The feasibility study focuses on helping answer the
essential question of “should we proceed with the proposed project idea” All activities of
the study are directed toward helping answer this question.

Feasibility study permits the team to describe the idea and its prospects on the paper
before implementing it directly as chances of failure increase if the planning is not done
properly with major issues like time, cost and technicality of the project. Risks and
returns associated with the project are identified during feasibility analysis. If the project
promises for an adequate output with the specified input and available technologies then
we should proceed with the proposed idea otherwise taking the considerations, once
again do feasibility analysis and even if then the promising output is not obtained then the
project idea must be dropped. Feasibility study is done before the business plan
proposition because if the project seems to be viable then only the hard work should be
done on the planning otherwise whole project is ruined and nothing can be gained even
after substantial amount of efforts and costs.

Decision making in the project is very important at the start of planning phase for the
continuation of the project because based on that decision the project coming into reality
is finalized and tried for execution with proper business plan and funding propositions.
All these decisions of working on the project are taken into account only if feasibility
study is done and that too with taking all the constraints into the considerations. Also the
issues related to the project idea are also analyzed at first and then proceedings are
undertaken. The decisions like make or break are taken only after the study. Removing of
all the projected and analyzed roadblocks are done after the feasibility study.

Mainly three factors that it analyzes are market, finance and organizational aspects:
1. Technical feasibility
2. Economical feasibility
3. Operational feasibility

4.3.3.1 Technical Feasibility: Technical Feasibility assesses the current resources and
technology, which are required to accomplish user requirements in the software within
the allocated time and for this, the software development team ascertains whether the
current resources and technology can be upgraded or added in the software to accomplish
specified user requirements.

The technical requirement for the system is economic and it does not use any other
additional Hardware and software. Most of the LAN computers have these specifications,
so they will not pose any technical feasibility issue.

4.3.3.2 Economic Feasibility: This is the most frequently used method for evaluating the
effectiveness of a system. It is also called as a cost analysis. The system being developed
is economic with respect to user point of view. It is cost effective in the sense that has
eliminated the paper work completely.
The technologies used are readily available and will suffice for the development of our
software. Also for implementation of the software no special hardware resources are
needed. The application developed in android which is freely available and also provides
offline facility. So the budget would not become a constraint or a limiting factor for the
application under development. Hence, the software is economically feasible.

4.3.3.3 Operational Feasibility: Operational feasibility study tests the operational scope
of the project to be developed. Operational scope normally means that the usability of the
project must be very high. This means that the product at the end must be of use and of
usable quality and must provide the specifications as per the objectives determined.

Our project is for android platform so already available users on the android are the main
target for this project. This is an offline application so it can access without internet.
4.4 Diagrams

4.4.1. Usecase Diagram

Figure 3.4.1: - Usecase Diagram


Figure 4.4.2: - Detailed Usecase Diagram
4.4.2.1 Usecase Description
Actors:
User-
 User can register for the application.
 User can login and enter password for access the application.
 User can view his/her account of application and change password and following
operation will do.
 User can have a platform to learn for placement and apply for test.

Admin-
 Admin can login and enter password for access the application.
 Admin can update the questions.
 Admin can view user details.
CHAPTER- 5 DESIGN
5.1 System Architecture Design

Figure 5.1.1: Architecture diagram


Figure 5.1.2: Architecture diagram (Administrator)
Figure 5.1.3: Architecture diagram (Test)
Figure 5.1.4: Architecture diagram (Learning)
5.1.1.1 Description

 Home-It represents the home page that user or admin will see in the
starting of the application. This page will have multiple options to go to.

 Study mode- This mode will provide user with quiz divided in categories. During the
quiz the user can see the solution too but that question will not count as part of
attempted question. Study mode will also have option to refer to notes of that topic.

 Video Tutorials- Video tutorial will not be downloaded along with the application
but user will be given a link that will allow user to either stream the video or
download it.

 Tips and Tricks- Tips and tricks will have formulae and short-trick which will help to
solve the questions quickly.

 Scoreboard- The scoreboard will have a score of the user according the level the user
stands at.

 About us- A short description of our application will be in this section also including
contact details in case of assistance.

 Upload question – Only the administrator will have priority to upload questions .
Questions will be uploaded using the excel file.

 Conduct Test- Admin will upload a test only for a limited time for which the users
will be notified earlier. Test will have expire time and the test will be removed
when expire time occurs.

 Rank – Rank will have decided individually as per category.

 Graphics- This module will provide GUI to users and admin.

 Server- Apache tomcat server will be used to sync between MySQL database and
SQLite database using PHP script as a interface between them.

 Database- Database will be online as well as offline

 Audio- Audio will be needed only during the time of tutorials.

 Activity − Controls all aspects of the application lifecycle and activity stack.

 Resource Manager − Provides access to non-code embedded resources such as


strings, color settings and user interface layouts.
 Notifications Manager − Allows applications to display alerts and notifications to the
user.

 View System − An extensible set of views used to create application user interfaces.

 Android Handset- Any handset that supports android version 4.1(jelly beans) or
higher.
5.2 Activity Diagram

Learning Activity

Figure 5.2.1: Activity Diagram 1


Login and Registration Activity

Figure 5.2.1: Activity Diagram 2


Testing Activity

Figure 5.2.3: Activity Diagram 3


Update and View Account Activity

Figure 5.2.4: ActivityDiagram 4


View Score and Update Question Activity

Figure 5.2.5: Activity Diagram 5


5.3 Entity Relational (ER) diagram

Figure 5.3: ER Diagram


5.3.1 DataBase Tables
Admin

Uname Pass

Table: 5.3.1.1
Student

Email Pass Cnumber Uname

Table: 5.3.1.2
Slevel

Semail Sname Slevel

Table: 5.3.1.3
Rlevel

Semail Sname 10 L1 L2 L3 L4

Table: 5.3.1.4
Testinfo

Tname Tdes Neg Time

Table: 5.3.1.5
Testques

Qid tname Ques A B C D Answer

Table: 5.3.1.6
Tr

Semail tname Percentile

Table: 5.3.1.7
Question

Id Sname Ques A B C D Answer Slevel

Table: 5.3.1.8

CHAPTER- 6 IMPLEMENTATION
6.1 Hardware and Software Used
Hardware requirement:
Hardware requirement of the target mobile phone:
• RAM – 512MB.
• Operating System - Android OS, v4.1.2 (Jelly Bean).
• CPU - Dual-core 1.2 GHz Cortex-A5.
• Resolution – 480 X 800 pixels.
• Pixel Density – 217 ppi.
• WiFi - 802.11 b/g/n.

Software Tools :
• Android Development Kit.
• Native Development Kit.
• Android debug bridge/ Android emulator.

6.2 Description of Classes and Functions Used


We have three module in our project in which two of them module are based on Android and
one is based on php. Learning and Test application are coded in Android and the third is
Admin website is coded in php.

6.2.1 Learning Module


In this application there are many methods and classes are commonly used:-

 On create: onCreate(Bundle) is where you initialize your activity. Most importantly,


here we will usually call setContentView(int) with a layout resource defining UI, and
using findViewById(int) to retrieve the widgets in that UI that you need to interact with
programmatically.

In our project we call this method for user interface through activity_main.xml and also we
use onclicklistener() method.
 OnClickListener Interface: Interface OnClickListener is inside the View class. This
interface can be used for handling the button so it is implemented into MainActivity
class.

 setOnClickListener(View.OnClickListener: This method takes the reference to the


Listener and registers a callback to be invoked when the View is clicked. So listener is
present in the same class MainActivity for passing the reference using this.

 setContentView(R.layout.activity_main): This method takes a layout and it set the


view as the layout to the activity. We created a layout named activity_main.xml. As all
the ids for all the components are generated automatically and stored inside R.java file
so we are selecting the id of our layout from R.java file (R.layout.activity_main). It gets
the resource object that represents the layout as defined by the XML file created by the
designer and makes it the current ContentView i.e. it is what is displayed on the screen.
That is it makes the connection between the layout you have defined using the designer
and stored in the XML file and the user interface that appears on the devices screen.
 AsynTask: AsyncTask enables proper and easy use of the UI thread. This class allows
performing background operations and publishing results on the UI thread without
having to manipulate threads and/or handlers.
An asynchronous task is defined by a computation that runs on a background thread
and whose result is published on the UI thread. An asynchronous task is defined by 3
generic types, called Params, Progress and Result, and 4 steps:
called onPreExecute, doInBackground, onProgressUpdate and onPostExecute.
 MainActivity.java: The entire control and workflow is described in this class. It has
mainly two methods oncreate() and setContentView().
In our project we call onclicklistener() four times for different purposes:-
Help.class
Signup.class
Exit
Login: If user successfully login then the session will started after that longoperation
class will executed.
 Longoperation class: Longoperation class of mainactivity.java file is used to send the
data to server and to receive or get the response from the server. It will send email and
password to server “fp.php” and “fp.php” check the value in database and send reply to
mainactivity.java. If the user is valid user then sends to next activity (question.java).
For the background processing we use AsynTask class.
 Help.java: It gives information about the learning application.
 Signup.java: User can fill all the details then this file is used for check all the criteria is
correct or not, If it is correct then it will jump to Longoperation class.
Longoperation class of help.java file is used to send the data to server and to receive or
get the response from the server. It will send email and password to server “nu.php”
and “nu.php” get value from client and store it into database.
 Question.java: We call oncreate() method for user interface through question.xml and
onclicklistner() four times.

1. logical
2. Aptitude
3. Verbal
4. Result
If we click on logical, aptitude, or verbal we have list of category respectively and
choose any of them the username, category, level(0) is send to test.java file.
 Testpage.java: we call Oncreate() method for user interface through tp.xml
First class- This class of Testpage.java file is used to send the data to server and to
receive or get the response from the server. It will send email, category, level(-1) to
server “qlvid.php” and “qlvid.php” reply user actual level and all level qid of the user.
Level shows the current status of the user and qid gives the position of question number
for that level of the corresponding category.
 Long operation(): This method is call for every question to fetch each question. This
class of Testpage.java file is used to send the data to server and to receive or get the
response from the server. It will send category, qid(question id), level to server
“que.php” and “que.php” reply question of same category and next next of that qid.
Our timer which is set to 20 minutes is start after every five question complete, and user
level is change according to the analysis of time and correct answer of attempted 5
questions and finds the accuracy and performance of the user.
If question is over or any error in given question then popup message is generated “No
more question in database”.
No more questions found:- If there is no more questions found in database or if the user
is already attend that question of a particular category after that if the same user again
click on that category and more questions are not available for that category . Then it
shows the popup message “No more question” because question are not repeated for the
same user.
 Result: This activity has three buttons Aptitude Verbal and Logical. Each button has as
.setOnClickListener(). On clicking any three of the buttons ResultLoadActivity is
called.
ResultLoadActivity is called with the parameter email and the variable corresponding
to the button. In this class we call lresult.php which is on the server side. The sever
side code fetches all the subcategories and there levels from the database and is stored
on form of array and passed as an object to Jason. Now the control comes back to the
Result.class.
onPostExecute() is called at last in which the JasonObject is returns the result of the
server side. As mentioned above and array was passed from the server side, this array is
now passed on to the adapter called ListAdapter. ListAdapter displays the array list on
the screen with the help of viewHolder class. Inflator is used here to convert the xml
elements to an object. Xml used to display the list is chiiled_list.xml.
6.2.2 Test Module

Activity_main.xml: This page has four buttons: Login, Help, SignUp, and Exit.

It also has a one text field User Login and two Edit View Email and Password used to
fetch information from the user.
 MainActivity.java: This is the first activity that is called when the app is launched. First
method that is called on the start of the activity is onCreate(). onCreate method sets the
layout by calling the method setContentView(); ConnectionDetector class is used to
check used to check whether the user is connected to the internet or not. To implement
this we used and alert box to ask user to connect to the internet. If the user selects ‘NO’
the app closes immediately. If the user selects yes he is sent to the settings of the phone
with the help of intent class:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS),
0);

After Turning on the internet user gets 4 options:


1.Login: If user successfully login then the session will started after that longoperation
class will executed.
2.Help
3.Sign up
4.Exit

Help , Sign Up button calls the class Help.java and Sign Up.java respectively.
Exit button calls method finish() to simply finish the activity and exit.
Longoperation class:- Longoperation class of mainactivity.java file is used to send the
data to server and to receive or get the response from the server. It will send email and
password to server “fp.php” and “fp.php” check the value in database and send reply to
mainactivity.java. If the user is valid user then sends to next activity (Tr.java).

 Help.java: It gives information about the learning application.


 Signup.java: User can fill all the details then this file is used for check all the criteria is
correct or not, If it is correct then it will jump to Longoperation class.
Longoperation class of help.java file is used to send the data to server and to receive or
get the response from the server. It will send email and password to server “nu.php”
and “nu.php” get value from client and store it into database.
 Longoperation class: Longoperation class of mainactivity.java file is used to send the
data to server and to receive or get the response from the server. It will send email and
password to server “fp.php” and “fp.php” check the value in database and send reply to
mainactivity.java. If the user is valid user then sends to next activity (TR.java). For the
background processing we use AsynTask class.
 TR .java: onBackPressed(): user to avoid user form going back.
 onCreate(): First method that is called as soon as the activity is launched. It contains
three buttons Test, Result and Logout.
Test button calls the Questions.class.
Result button calls the PreResult2.class.
Logout button calls the MainActivity.class.

 nextScreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP): It is used to clear all


current running activities running in the background. This is important because as soon
as the user comes to the home page and press the exit button or the back button, the
user must exit the application and not go to the previous activity.
 Question.java:

 Longoperation class: In this class we call the server side file testinfo.php. This file
goes and fetches the all the test name available in the database. The list of test is saved
to the arraylist.
This list is then passed on to the adapter MyCustomAdapter.
The task of this adapter is to simply display the list.

 MyCustomAdapter.java: The adapter class uses-:


Inflator is used to convert the xml elements to object. This is done to pass the object to
view. Button is present to select the test user wants to attempt. This button calls
TestPage.java.
 PreResult2.java:

 Longoperation class: In this class we call the server side file testattemted.php. This file
goes and fetches the all the name of the test attempted by the user from the database.
The list of test is saved to the arraylist.
This list is then passed on to the adapter MyCustomAdapter2.
The task of this adapter is to simply display the list.

 MyCustomAdapter.java:The adapter class uses-:


Inflator is used to convert the xml elements to object. This is done to pass the object to
view. Button is present to select the result user wants to se. This button calls
Result2.class.

 Testpage.java : After clicking any of the test the email and test name send to the server
precheck.php and precheck.php reply Boolean value True or False(with test time).
Then an alert box is come whether user want to attend test or not by pressing on yes
button then it directly goes to server with test name and email on teststart.php and this
php file insert value in database tr table that user attempted the test so user can not
apply test again in any case like timer is finish or click on exit button or finish test, So
the timer is started and set the timer value according to value get before so tr.php file is
call after test is finish. So the user data is updated and goes to result.java class.
Questions come different for different user through shuffle() function.
 Collection.shuffle(): The shuffle(List<?>) method is used to randomly permute the
specified list using a default source of randomness.
 Result.java: This class show the result of the user in which we display attempted and
right answer.

6.2.3 Admin Module


We use some common methods and function to implement the Admin module.

 POST() Method: The POST method transfers information via HTTP headers. The
POST method does not have any restriction on data size to be sent. The data sent by
POST method goes through HTTP header so security depends on HTTP protocol. By
using Secure HTTP you can make sure that your information is secure. The PHP
provides $_POST associative array to access all the sent information using POST
method.

 Md5(): md5 is stands for message digest 5 which is used to encrypt the secure
information like password.
Syntax - md5(string,raw)
The md5() function calculates the MD5 hash of a string. The md5() function uses the
RSA data Security. md5(); function is use to make your login system more secure.
Example: $password="123456"; md5($password);
Use md5(); to encrypts password to make it more secure

Overview

These two databases, it's the same person and same info, the first one we don't encrypt his
password, but the second one we encrypted his password.
 Admin1.php: This is the first file of the application in which user name and password
of admin and the login button. If password or user name is not correct and it generates
the error message or user can not login. After hit into login button the user name and
password send to the login.php page for verifying the correct user through post()
method.
 Login.php: The user name and password is received by the post() method. After
receiving the user name and password it check connectivity to the database through the
mysqli_connect() function. If the connection is not detected then it generate error
message “Failed to connet to mysql”. If connection available then session is started,
user name is send to admin2.php page and logged in successfully. For the security
purpose we use MD5() encryption method to encrypt password of the admin.
 Admin2.php: After login successfully Session is started for further processing . There
are four button display to admin:
 Logout: If admin want to exit the session then he can hit on logout button and send to
logout.php file.
 Upload_Learning_Questions: If admin want to upload the learning question for the
learning application then he can hit on this button and send to browsefile.php.
 Upload_Testing_Questions: If admin want to upload the Test for the Finaltest
application then he can hit on this button and send to testdetails.php file.
Create admin: If admin wants to create a new admin then only he have authority to
create new admin. When admin hit on create admin button it send on cradmin.php file.
 Logout.php: Current session is finished through the session_destroy() function and
admin directly back to the admin1.php.
 Browsefile.php: Admin will select the category among verbal, reasoning, and
quantitude.
After selecting the particular category it show the further options or subcategory of that
particular category. When admin select the subcategory then send on upload.php file.
 Upload.php: Through post() method we receive the subcategory selected by the admin
and we have id of each subcategory mentioned in this page. For uploading the Excel
file of particular subcategory we have to mention path of file. After selecting the file it
checks whether file is in correct format or not. For Example:- File is already exist, File
is not an excel sheet, File is to large, File is fake or image.
If file is not successfully uploaded then it shows the error message “Sorry, there was an
error uploading your file”. And come back on browsefile.php. Otherwise forwarded on
questionupload.php.
 Questionupload.php: It receive category name and file name with full address. Each
question is read and goes to database table.
 Excel_reader2.php: Question files are excel sheets but we need to read the excel sheet
and store it into the database. So we use this file.
 db.php: we define the server, username, password, database name in db.php file and
establish the connection using mysqli_connect() function in config.php file.
 testdetails.php: Admin have to enter some details of particular test which is select by
the admin. Like- testname (tname), Negative marking (yes/no), time (Dynamic).
Through the post() method this information is passes to tdetail.php.
 tdetail.php: It check all the details given by testdetail.php, if any details is incorrect or
missed, then again back on testdetail.php otherwise it link that details to database.It
checks some constraint like- test already present in database.
 testupload.php: After selecting the file it checks whether file is in correct format or not.
For Example: File is already exist, File is not an excel sheet, File is to large, File is
fake or image. If file is not successfully uploaded then it shows the error message
“Sorry, there was an error uploading your file”. And come back on browsefiletest.php.
Otherwise forward on uploadtest.php
 Uploadtest.php: It receive test name and file name with full address. Each question is
read and goes to database table. There is constrain in this file for test question if all
question of test is not uploaded then testinfo is not updated.
 Cradmin.php: When admin create a new admin then it will goes on the signup.php file
through post() method with admin name and password by clicking submit button.
 Signup.php: After getting the admin name and password through the post() method, it
checks the connection by calling the config1.php and insert these admin information
into the database table (admin). If information is added successfully new admin is
created and it goes to admin2.php.
 Config.php: This file is used for database connection. If the connection is not
successfully establish it shows the error message “Database Connection Failed”.
CHAPTER-7 TESTING & RESULTS

7.1 Test Cases/ Test Scenarios

Analysis of Time and Accuracy


1. Time Required 

Correct Answer Level


0-1 Level Down
2-3 Same Level
4 Level Up
Table 7.1.1
2. Time Required 

Correct Answer Level


0-2 Level Down
3 Same Level
4 Level Up
Table 7.1.2
3. Time Required 

Correct Answer Level


0-2 Level Down
3-4 Same Level
Table 7.1.3
4. Time Required 

Correct Answer Level


0-3 Level Down
4-5 Same Level
Table 7.1.4
5. Time Required 

Correct Answer Level


0-4 Level Down
Table 7.1.5
7.2 Results
If we correct 5 answers then our level jumps by 2.

Figure 7.2.1: Screenshot 1

If we correct 1 answer out of five then our level decrease by 1.

Figure 7.2.2: Screenshot 2


If we didn’t correct any answer than our level decrease by 2.

Figure 7.2.3: Screenshot 3

If we correct 2 answer then our level is same.

Figure 7.2.4: Screenshot 4


CHAPTER-8 CONCLUSION & FUTURE WORK

8.1 Conclusion

Work carried out in Phase I

As our project work is divided into two phases, first phase is the requirement gathering,
analysis and design of the project and second phase is the implementation of the project. In
phase 1, we first gathered what are the requirements of our project. We searched about the
existing systems that are already present and the systems that are performing nearly equal tasks
that our intended system is supposed to perform. Then we discussed about the protocols
available to implement our proposed system. After that we listed the detailed Functional and
Non-functional requirements. Then we did the feasibility study of our system whether the
technologies are available or not that can be used to implement it. Is this project possible
technically. After the feasibility it was then confirmed that the project is achievable in the
specified time restrictions. Then we listed the hardware support required to run the system and
software support to build this system. Then we discussed about the software development life
cycle models, which model should be used, and decided to choose Iterative model. Then, we
made the use case diagram to get the basic functionalities of the system. After use case
diagram, and use-case description we made architecture diagram of the system and following
it, the activity diagram, flowcharts, and ER-diagram are made.

Work to be carried out in Phase II

First phase aims to cover the three most important stages in software development life cycle
i.e. Requirement gathering, Analysis and Design. But the design part remains incomplete thus
it will be the first priority of the project to complete the diagrams of the design part. Design
part is very important stage in the SDLC model as properly designing all the aspects of the
projects will help in further implementing code and testing them. Even after that, in
assembling all the components and deploying all of them at their proper place would only
result in the correct output of the project.

As project is planned to follow object oriented approach and is performing the software
development in iterative as well as in modular manner, the project is in the design stage. The
next task to be performed would be the study of behavioral interaction between the identified
classes of the project. On the basis of that study, interaction diagram would be made and that
would be either sequence or collaboration diagram. Sequence diagram should be made as it
represents the interaction on the scale of timestamps and managing the order of object
interaction would be very crucial. The next thing to be done would to create a state chart
diagram for every object in the project and showing process flow on the occurrence of
different events. Modules can be created in respect of the similar functionalities provided by
the different classes and they can be divided among team members so that parallel
implementation of code can be performed. Similarly designs for test cases should also be c
reacted in advance for performing testing in the future.

After that, implementation of design can be started in the already chosen programming
language JAVA and Android. After the successful completion of different modules, test cases
should also be implemented using JUnit in JAVA and should be applied on the classes. This
would cover the unit testing for the project. After that, integration testing should be applied
after integrating respective modules and finally the whole assembling of modules will be
performed. After that Component diagram should also be made in order to show all the
executable components of the project and Deployment diagram for showing the actual
hardware implementation in the project. This would complete the 37 project in all respect as
this project need to be deployed on the Google Play Store. Testing the project properly and
assuring that it works properly for all the clients would finish the second phase of the project.

References:

• http://research.ijcaonline.org/volume94/number11/pxc3895954.pdf

• http://www.pocketaptitude.com/

• http://aptitude-test.com/verbal-aptitude.html

Das könnte Ihnen auch gefallen