University Institute of Information Technology: Ouick Learn - MCQ
University Institute of Information Technology: Ouick Learn - MCQ
University Institute of Information Technology: Ouick Learn - MCQ
Technology
PROJECT REPORT
ON
ANDROID APP
OUICK LEARN_MCQ
It is a pleasure that we find ourselves penning down these lines to express our sincere thanks to
the people who helped us along the way in completing our project. We find inadequate words to
express our sincere gratitude towards them.
The faculty of Pre examination coaching centre as a big project has given this project to us. We
are thankful to Prof. P.K. Ahluwalia for giving us this opportunity and believing in us.
Without his valuable supervision and beneficial criticism, this project would not have been
fulfilled. He gave us suggestion and help which have made our endeavour a great success.
We are thankful to Sir Satish our project guide under whose guidance, it became possible for us
to design the efficient project and fulfil its requirements.
We are indebted to Prof. Manu Sood for giving us this opportunity to work on this project.
We are indebted to teacher and all our friends for their help in the preparation and valuable
encouragement by way of discussion and suggestion.
At last, but not least we are thankful to our parents for the all goodwill and understanding, they
showed for us.
CERTIFICATE
This is certified that these students of B.Tech (I.T.) at University Institute of Information
Technology Himachal Pradesh have successfully carried out the work presented in this project-
report entitled QUICK LEARN MCQ for providing android app for pre examination coaching
centre during the academic session March-June 2017 is a bonafide piece of project work carried
out by
Team Size :4
6. Testing
7. Implementation
8. Conclusion & Scope for further development
SYSTEM DEVELOPMENT LIFE CYCLE-The Systems Development Life
Cycle (SDLC) provides the foundation for the processes used to develop an information system.
1. SYSTEM CONCEPT DEVELOPMENT
The whole process of assigning test and evaluating their scores after the test, is done manually
till date. It is very time consuming .Also it is difficult to keep the answer sheets being generated
as well as the maintenance of the record of each examination. The chance of loss of records is
high and record searching is difficult. Result processing takes more time and the presence of
more invigilators is a must if there are more number of students to write the exam.
So this project addresses this major concern and has put technology into force to develop an
android app for the students competing for various competitive examinations so that they can
take various tests and prepare themselves. This will also help the teachers assess the students
with problems and help them ahead. With the advent of technology, the manual hectic work has
been done away. This android app is a step towards encouraging students to work with
technology and use a different way of learning and for the teachers to improvise the way of
teaching.
1.2Statement of the formulation of the project
The project was proposed to us by Professor P.K. Ahluwalia Sir, Respected Professor of Physics
Himachal Pradesh University ex director of UIIT also for the pre examination coaching center of
HPU. This project proposed us (4 students of I.T.) to develop an android app to be made for
students that could help them take tests and excel in their respective competitive examination.
This project wanted us to make this app capable of feeding questions by the respective teachers
at back end and help them exercise control over them.
This app will serve two purposes one it will be for the students those who are registered
candidates and also for the students who cant come and work in the institute they can study and
work on assignments sitting at home.
This project proposes to remove manual work and put technology into force and improve the
way of learning.
The statement of the formulation of the project was done in various meetings conducted under
the guidance of Professor P.K. Ahluwalia, Professsor Joginder Dhiman and Sir Satish.
We noted down the synopsis of the project to keep note of the details and features to be included
in the app. Under the guidance of respective teachers we continued our work.
A whatsapp group was also created in order to keep track of the work and suggestions if any.
2. SYSTEM ANALYSIS
System analysis is not a preliminary study. It is an in-depth study of end user information needs
that produces functional requirements that are used as the basis for the design of a new
information system. System involves detailed study of:
The new system removes the manual work of assessments and uses the latest technology android
into force. The proposed system will teach and do cumulative assessments on its part of the
respective tests undertaken by the student.
Each student will have its respective id as the username and respective student password to login
into account.
The app will have SQLite database at its back end that will feed questions into the app. The
server will be connected that will help in connection. The database of the students and the tests
undertaken will be saved for future references too.
The SQLite database is then connected to a Web Database linked to a Website which allow
teachers to insert Question and update the question bank. Also the website provide information
of students, teachers registered to QuickLearn. Website also give information about Pre-
Examination Coaching Centre
This app will be multipurpose as this project is first such project undertaken to help students
study different subjects for their respective competitive examinations.
The app also will welcome feedback from the users for further improvements.
The proposed system aims to create an android app that will serve the students studying for
various competitive examinations like HAS, IAS, JEE, NEET etc.
This app will under one project will serve the students of various competitive examinations and
help in the learning with more efficiency. This app will cumulative assessment of the marks of
the students. The tests undertaken by the students will be given or set by the teachers themselves
who will be able to check the students themselves and do thorough assessments.
Feasibility Study The statement dont try to fix it unless you understand it apply describe the
feasibility study stage of system analysis. The goal of feasibility study is to evaluate alternative
system and to purpose the most feasible and desirable system for development.
3. Details of findings
Three key considerations are involved in the feasibility analysis: economic, technical, and legal.
FEASIBILITY STUDY
BEHAVIOURA ECONOMI
TECHNICAL
L C
Economic feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness
of a proposed system. It is more commonly known as cost benefit analysis, the procedure to
determine the benefits and saving that are expected from a candidate system and compare them
with costs. If the benefits outweigh costs then a decision is made to design and implement the
system. Otherwise make alterations in the proposed system.
The innovation of the new system has much influence on the economical side of the
company. Manual system is highly cost driven due to the high labor costs. So if a company
registers with the Quick learn MCQ app, they can automate their day-to-day activities. Thus the
system is economically feasible.
Technical feasibility
In examining Technical feasibility of the system, more importance is given to the
hardware interaction part of the system. The assessments of technical feasibility centers on the
existing system and to what extent it can support the proposed addition. This was based on an
outline design of system requirements in turns of inputs, files, programs, procedures, and staff. It
involves financial considerations to accommodate technical enhancements. Quick Learn MCQ
being an app that has a good interface, user friendly and help users easily adapt to it. This app
comes with a website that help teachers put questions for students.
Legal feasibility
People are inherently resistant to change, and computers and android applications have
been known to facilitate change. An estimate should be made about the reaction of the user staff
towards the development of a computerized system. The introduction of a candidate system
requires special effort to educate, sell and train the staff for conducting the business.
The system is designed such that even a mobile ignorant person can interact with the
system freely. So the system requires not much effort to train and educate people, the system is
that much legally feasible.
Behavioural Feasibility:
People are resistant to change, and computers and mobile platforms have been known to
facilitate change. An estimate should be made of how strong a reaction the user staff is likely to
have toward the development
2.5 PROTOTYPING-
We made small prototypes of the model just to get an idea of how we could put our plan into
action. The protypes were done in android studio by making XML sheets of the model in order
that we could connect them and put them into action.
Though the structure of new model was different from the old one we made prototypes for the
work itself.
Prototype Modal of Website Login Page
ADVANTAGES OF PROTOTYPING:
Prototype are an active, not passive, model that end user can see, touch & feel.
Prototyping can increase creativity because it allows for quicker user feedback which can lead
to better solutions.
DISADVANTAGES OF PROTOTYPING:
Administrator:-
The administrator is the one who manipulates and maintains the system. He can enter
into the Website by entering login name and password
That is, he is responsible for creating exams that include subject selection and assigning
scores etc.
Again, He can manage Teachers who add questions to the database
Add new user to the database and issue a valid ID for the user.
Admin Verifies New request of a teacher who want to add question to database
He is also responsible for sending the result to the email id provided by the user at the
start of his registration.
Teachers:-
Can request to become question adder.
2
Students/Users:-
Can do the member registration
After the registration, he will be issued with valid ID by the Administrator. The user can
log into the system with this ID.
After successfully login into the system, the user moves to the instruction web page
where he will get instruction about the examination process.
Then after clicking the start button the exam starts and timer also starts .In this manner,
the user can take up the test and on clicking the submit button , he will get the result of
that section immediately.
He must get the test result to his email id provided at the start of the registration
During the exam, he is allowed to go to the previous questions using a previous button.
At the end system displays the initial web page.
3.2 External Interface Requirements
It include the following interfaces
User Interfaces
Software Interfaces
Hardware Interfaces
User Interfaces:-
The interface must be easy to understand. The user interface includes
screen formats/organization: The introductory screen will be the first to be displayed
which will allow the users to do the member registration.
window format/organization: When the user chooses some other option, then the
information pertaining to that choice will be displayed in a new window which ensures
multiple windows to be visible on the screen and the users can switch between them.
data format: The data entered by the users will be alpha numeric.
end messages: When there are some exceptions raising error like entering invalid details,
then error messages will be displayed prompting the users to re-enter the details.
Hardware Interfaces:-
Server side hardware
Hardware recommended by all the software needed.
Communication hardware to serve client requests
Software Interfaces:-
4. PROCESS MODELLING
4.1 DATA FLOW DIAGRAM
A DFD also known as bubble chart, has the purpose of clarifying system requirements
and identifying major transformations. It shows the flow of data through a system. It is a
graphical tool because it presents a picture. The DFD may be partitioned into levels that
represent increasing information flow and may be partitioned into levels that represent increasing
information flow and functional detail. Four simple notations are used to complete a DFD. These
notations are given below:-
DATA FLOW:-The data flow is used to describe the movement of information from
one part of the system to another part. Flows represent data in motion. It is a pipe line through
which information flows. Data flow is represented by an arrow.
output s.
EXTERNAL ENTITY:-A square defines a source or destination of system data. External
entities represent any entity that supplies or receive information from the system but is not a part
of the system.
DATA STORE:- The data store represents a logical file. A logical file can represent either a
data store symbol which can represent either a data structure or a physical file on disk. The data
store is used to collect data at rest or a temporary repository of data. It is represented by open
rectangle.
OUTPUT:-The output symbol is used when a hard copy is produced and the user of the copies
cannot be clearly specified or there are several users of the output.
4.1ALL LEVEL DFDS OF THE PROJECT:
ADMINISTRATOR
0 Level DFD
UIIT RECORD
PRE EXAM
COACHING
CENTRE manage
EXAMINATIO store
N Student record
store
STUDENTS
Test Record
1 Level DFD
enter
manages
register Student record
Admin
use
Give Test
store test result
authorised display
Student
Display Result
2 Level DFD:
STUDENT
details
LOGIN
Maintain store
ADMIN manage Student program
AUTHENTIC
manages ATING use
SHOW RESULT
2 LEVEL DFD:
Pre examination
coaching centre Take exam
details
ready to take exam
Pre examination
coaching centre
enter Exam details
enter
admin
registered
Students Details
use
source App login
login
Display result
4.2ER DIAGRAM:
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is a component of data. In other words, ER diagrams illustrate the
logical structure of databases.
At first glance an entity relationship diagram looks very much like a flowchart. It is the
specialized symbols, and the meanings of those symbols, that make it unique
QUESTION
LAST
FIRST EMAIL-ID PASSWORD
NAME
NAME
EXAM
STUDENT REGISTRATION GIVE
MANAGE
VIEW
PWD
User name
Teachers first
ADMI
name
N N-
ID
gender questi
on QUESTION
department
Clg-name
option
4.3PERT CHARTS
Pert Charts are a tool used for showing how activities/tasks in a project are related to each
other.
A PERT chart is used to estimate the duration of a project by using critical path analysis.
The critical path is the longest path through a collection of tasks or activities which are critical to
the step-by-step completion of the project. There are usually a variety of paths or sequences of
tasks that often occur at the same time. The only way that it is possible to calculate the longest
path is to add up how long each of these sequences will take. The number of days or months for
the critical path indicates the shortest time that it will take to complete a project.
PERT chart projects are organised in terms of tasks and milestones. Microsoft Project, a project
management software tool, uses rectangles connected by arrows to indicate predecessors and
successors (that is, what task comes before and what after).
PERT charts help to estimate the time needed to complete a project, specifying actual dates for
tasks and allocating resources to them. Try to get access to Microsoft Project and use the tutorial
to explore PERT charts.
5. SYSTEM DESIGN
The design phase decides how the new system will operate.
Data structures that are passed among components, Data structured that are available to major
portions of the architecture, Files created for interim use are described.
SQLite Database:
SQLite is an open source SQL database that stores data to a text file on a device. Android comes
in with built in SQLite database implementation.
SQLite supports all the relational database features. In order to access this database, you don't
need to establish any kind of connections for it like JDBC, ODBC etc.
Database Package:
The main package is android.database.sqlite that contains the classes to manage your own
databases
Database - Creation
In order to create a database you just need to call this method openOrCreateDatabase with your
database name and mode as a parameter. It returns an instance of SQLite database which you
have to receive in your own object. Its syntax is given below
Apart from this, there are other functions available in the database package , that does this job.
They are listed below
This method only opens the existing database with the appropriate flag
mode. The common flags mode could be OPEN_READWRITE
OPEN_READONLY
2
open Database(String path, SQLiteDatabase.CursorFactory factory,
int flags)
It is similar to the above method as it also opens the existing database but
it does not define any handler to handle the errors of databases
4
openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory
factory)
This method is similar to above method but it takes the File object as a
path rather than a string. It is equivalent to file.getPath()
Database - Insertion
We can create table or insert data into table using execSQL method defined in SQLiteDatabase
class. Its syntax is given below
This will insert some values into our table in our database. Another method that also does the
same job but take some additional parameter is given below
This method not only insert data , but also used to update or modify
already existing data in database using bind arguments
Database - Fetching
We can retrieve anything from database using an object of the Cursor class.
We will call a method of this class called rawQuery and it will return a result
set with the cursor pointing to the table. We can move the cursor forward
and retrieve the data.
There are other functions available in the Cursor class that allows us to
effectively retrieve the data. That includes
Sr.No Method & Description
1
getColumnCount()
2 getColumnIndex(String columnName)
3
getColumnName(int columnIndex)
This method returns the name of the column by specifying the index of
the column
4 getColumnNames()
This method returns the array of all the column names of the table.
5
getCount()
6 getPosition()
This method returns the current position of the cursor in the table
7
isClosed()
This method returns true if the cursor is closed and return false otherwise
Database - Helper class
For managing all the operations related to the database, a helper class has been given and is
called SQLiteOpenHelper. It automatically manages the creation and update of the database. Its
syntax is given below:
Database description
1.1 Registration Module: - Each of the students must first register with the software. For the
registration part of the student will have to enter his details like name, address etc. and get a User
Id from the software. Once the student register with software they are able to give the exam.
ABOUT ANDROID
Android delivers a whole set of software package for mobile devices: AN OS, middle-ware
and key mobile applications.
Android is a Linux-based OS designed primarily for touch screen mobile devices like smart
phones and tablet computers. android was developed by the OHA( Open handset Alliance), light-
emitting diode by Google, and different companies.
Android is a combination of 3 components:
1. A free, open source OS for mobile device
2. AN open-source development platform for making mobile application.
3. Devices, significantly mobile phones, that run the android OS and also the application created
for it.
Android App development Open
Android OS was designed from the ground-up to modify developers to make compelling mobile
applications that take full advantage of all a phone should provide. It had been designed to be
really open as an example, AN application will decision upon any of the phones core
functionality like creating calls, causing text messages, or exploitation the camera, permitting
developers to make richer and a lot of cohesive experiences for users. android is made on the
open Linux Kernel. moreover, it utilizes a custom virtual machine that was designed to optimize
memory and hardware resources in an exceedingly mobile environment. Android is open source;
it are often liberally extended to include new innovative technologies as they emerge.
No application boundaries
Android breaks down the barriers to putting together new and innovative applications. as an
example, a developer will mix data from the online with information on an individuals mobile
like the users contacts, calendar, or geographic location to produce a additional relevant user
experience. With android, a developer will build an application that allows users to view the
location of their friends and be alerted after they are within the neighborhood giving them an
opportunity to connect.
What is an Activity?
An activity represents one screen with a user interface. as an example, AN email application
might need one activity that shows a listing of recent emails, Another activity to compose an
email, and another activity for reading emails. If AN application has over one activity, then one
in all them should be marked as the activity thats presented once the appliance is launched.
ACTIVITY LIFECYCLE:-
Monitoring key loops:
You may have an interest in monitoring these 3 loops in your activity:
2. EXPLICIT INTENT:
Explicitly starting new activities in android application. Explicitly select an Activity class to
start, create a new Intent, specifying the current application. Context and activity class to launch.
Intent intent = new Intent (MyActivity.this, MySecondAcitivity.class);
StartActivity(intent); After startActivity is called, the new Activity (in this example
MySecondActivity) will be created and become visible and active, moving to the top of the
Activity stack. Calling finish on the new Activity or pressing the hardware back button, will
close it and remove it from the stack.
3. PENDING INTENT: The Pending Intent class provides a mechanism for creating Intents that
can be fired by another application a later time. A pending Intent is commonly used to package
an Intent will be fired in response to a future event, such as a widget view being clicked or a
Notification being selected from the notification panel.
.apk Extension:
.apk extension for an Android Package file, which typically contains all of the files related to a
single Android application. The file itself is a compressed collection of an AndroidMainfest.xml
file, application code (.dex files), resource file and other files. A project is compiled into a
single .apk file.
Importance of Android in the mobile market:
Developers can write and register apps that will specifically run under the Android environment.
This means that every mobile device that is Android enabled will be able to support and run
these apps. With the growing popularity of Android mobile devices, developers can take
advantage of this trend by creating and uploading their apps on the Android Market for
distribution to anyone who wants to download it.
Android Architecture:
Android Architecture is made up of 4 key components:
Linux Kernel
Libraries
Android Framework
Android Applications
Android Architecture:
Android Architecture is made up of 4 key components:
Linux Kernel
Libraries
Android Framework
Android Applications
PHP:In the design php formed the designing software of the website we made. Along
with it we also used CSS for its designing.
The PHP Hypertext Pre-processor (PHP) is a programming language that allows web developers
to create dynamic content that interacts with databases. PHP is basically used for developing web
based software applications. This tutorial helps you to build your base with PHP.
PHP code may be embedded into HTML or HTML5 mark-up, or it can be used in combination with
various web template systems, web content management systems and web frameworks. PHP code
is usually processed by a PHP interpreter implemented as a module in the web server or as
a Common Gateway Interface (CGI) executable. The web server software combines the results of
the interpreted and executed PHP code, which may be any type of data, including images, with the
generated web page. PHP code may also be executed with a command-line interface (CLI) and can
be used to implement standalone graphical applications.[7]
Data types
PHP stores integers in a platform-dependent range, either a 64-bit or 32-
bit signed integer equivalent to the C-language long type. Unsigned integers are converted to signed
values in certain situations; this behaviour is different from that of other programming
languages. Integer variables can be assigned using decimal (positive and negative), octal,
hexadecimal, and binary notations.
Functions
PHP defines a large array of functions in the core language and many are also available in various
extensions; these functions are well documented in the online PHP documentation. [99] However, the
built-in library has a wide variety of naming conventions and associated inconsistencies, as
described under history above.
In 2017, the output of the above sample program is 'I am currently 36 years old.'
6. Testing
Generally, it has been specified thought for testing that:
Testing is the critical element of any software quality assurance and represents the ultimate
review of specification, design and code generation.
Software testing has a dual function; it is used to establish the presence of defects in
program and it is used to help judge whether or not the program is usable in practice. Thus
software testing is used for validation and verification, which ensure that software conforms to
its specification and meets the need of the software customer.
Developer resorted Alpha testing, which usually comes in after the basic design of the
program has been completed. The project scientist will look over the program and give
suggestions and ideas to improve or to correct the design. They also report and give after a
program has been created.
6.1.2 Compartmentalization:
In this step we divide the project into number of manageable activities and task like
Selection Module
System Admin data module
Dept. Admin data module
Store and assign rendered module
Employee data module
Task creation data module
Task allocation and reply data module
Testing Module
6.1.3 Interdependency:
Interdependencies of each compartmentalized activity were then found out. Some tasks
must occur in sequence while there are many tasks, which can occur in parallel.
6.1.4 Software Inspection:
Analyze and check system representations such as the requirements document, design,
diagrams and the program source code. They may be applied at all the stages of process.
Figure 7.1 (Testing Process)
The tested program gets certain inputs. Then the program does its job and generates a certain
output, which is collected by a second interface. This result is then compared to the excepted
output, which has been determined before the test.
7.3.6 Whitebox Testing:
It is also called GLASS BOX or STRUCTURAL testing. Tester has access to the system
design.
Simple Loops
Nested Loops
Concatenated Loops
Unstructured Loops
Continuous Loops
They can:
Examine the design document
View source code
Individual path examine
Logical path examine one time
Logical decision on their true and false
The intention in white-box testing is to ensure that all possible feasible flow of control
path through a sub-program is traversed while the software is under tested. This is not the same
as saying that all statements in the sub-program will be executed as it is possible for all
statements to be executed but for not all of the possible paths to be traversed. However, the
conversed is true; whether all the possible paths through a sub-program are traversed then all
statements in sub-programs will necessarily be executed.
When considering the number of possible paths through a sub-program two other factors
need to be remembered. The first is that some of the possible paths through a sub-program
turnout upon investigation to be non- feasible paths. The second consideration is that the number
of possible paths to a sub-program indicated by a flow-graph analysis will indicate the minimum
number of paths to ensure complete coverage. This may be less than the total number of paths
which are possible when combinations of paths are allowed.
White-box testing is used as an important primary testing approach. Here, code is
inspected to see what it does. Tests are designed to exercise the code. Code is tested using code
scripts driver etc. which are employed to directly interfaced with and drive the code.
The tester can analyze the code and used the knowledge about the structure of a
component to derive the test data.
Developer examined the code to be tested and explicitly list each call to an external component.
In the system, standards tests for various modules have been performed, which are follows.
All the menu functions and sub menu functions have been checked.
Validations for all inputs are done.
All required fields are not left blank.
Now we will discuss how testing and debugging is done of this application. Our application can
be divided into parts like:
To make queries to database and retrieve information from it.
IMPLEMENTATION
Prerequisites:
https://en.wikipedia.org/wiki/WampServer
https://en.wikipedia.org/wiki/PHP
https://www.google.co.in/search?
q=connecting+android+with+php+mysql+flowcharts+and+diagrams&tbm=isch&tbo=u&source=
univ&sa=X&ved=0ahUKEwiJ67zggI3UAhUBNo8KHSDOCTsQ7AkIPQ&biw=1366&bih=609#imgrc=
_
https://en.wikipedia.org/wiki/Android_Studio