You are on page 1of 69

CHAPTER 1: INTRODUCTION

1.1 Topic of the System


Title: - “An Intelligent Movie Rise Application”

1.2 Project Abstract


The system “An Intelligent Movie Rise Application”deals with the android
application for booking the general and platform ticket online and validate those
tickets using the mobile network. The project objective is to book cinema tickets in
online. The Ticket booking System is an Internet based application that can be
accessed throughout the Net and can be accessed by anyone who has a net
connection. This application will reserve the tickets. This online ticket system
provides a website for a cinema hall where any user of internet can access it. User
is required to login to the system and needs a credit card for booking the tickets.
Tickets can be collected at the counter and Watching movies with family and
friends in theatres is one of the best medium of entertainment after having a hectic
schedule. But all this excitement vanishes after standing in hours in long queues to
get tickets booked. The website provides complete information regarding currently
running movies on all the screens with details of show timings, available seats.

Ticket reservations are done using credit card and can be cancelled if needed. Our
online tickets reservation system is one of the best opportunities for those who
cannot afford enough time to get their tickets reserved standing in long queues.
People can book tickets online at any time of day or night. Our reservation system
also provides option to cancel the tickets which are reserved previously
1.3 Purpose of the System

In the age of technologies where everything is on our fingertips nobody wants to


stand in unending queues and waste their precious time. The main motive of the
application is to ease the process of ticket booking by avoiding the hectic process
to stand in the queue and book the ticket . There are several applications available
in the market giving the information . But none of these applications include the
ticket booking process for general tickets. In the current scenario people can get
the general ticket by offline mode only by being in a queue at the ticket counter
and we still have to carry a printed ticket. The proposed system provides the
facilities to book the general ticket online, and get your railways tickets in your
smart phone and also save the ticket in the form of quick response code i.e. (QR
code) and the information of the user is stored in the database.

Target User

This time we are going to plan for a ticket system in based on android mobile
phone. This application is for all the users who are willing to this application for
the ease of ticket booking procedure and can avoid the unnecessary hustle that they
had to face while standing in the never-ending queue for hours. Also, this
application used by the all who are facing problem for checking the ticket. For
using this system one just need to have a smart phone with internet access and
some basic knowledge of using it.

1.3 Topic Background

As we know that the internet plays an important role in every individual's life and
everything in this world is evolving as per the technology development. At the
outset of present day period, Computers played a major role in computing and as
the technology expands everything has changed and the computers became
workstation computers, super computers and so on. Later developed the mobile
technology and now mobility got to be everything. Everything made simple using
mobility.

From last 2 decades, the utilization of mobile devices has incredibly increased,
which has led to ease of carrying out day to day activities. In addition, with the
advancement of wireless technologies, wireless networks have taken over the
entire world. Nowadays, business and financial transactions can be done easily and
securely, anywhere and anytime. Using the Internet, connections can be established
with any devices almost anywhere in the world and can share necessary
information amongst them.

Since the customers’ internet activities have shifted from using browsers to
mobiles, there arise the new opportunities to book your movie ticket from mobile.
The system is targeted to the android user.This application provides the facility for
buying the tickets online. The ticketing information of the user is stored in
database. It uses the smartphone facility to validate the ticket and delete it after
specific interval of time once the user reaches the desire.

1.6 PROBLEM CONTEXT

The main objective of “MOVIE BASKET” is to provide a convenient way to the


users to book the tickets for cinema hall online, through which they can book
tickets anytime and anywhere.

Our app will also give the facility to let the user select any timing slot and they
have the authority to choose any seat according to their convenience . This app is
basically made for providing customer an anytime and anywhere service for
booking the seat in the cinema hall and to gather information about the movies
online. The user can easily be able to know about the movies released and then
make the choices.

User can wish to see the trailer of movie released and did not need to browse to
other websites.

Features:

• Register – User have to create their account in our app .So that they get the
notificationabout the latest movies released.

• Login – Both user and admin can login in app with their respective
credentials .On Success Login, home page will be open.
• Change password – User can change his/her password by providing
appropriate details.

• Book Ticket - User can book their favourite movie ticket.

• Order Snacks – Apart from buying movie ticket, User can also buy snacks
at the time of ticket booking.

• Payment – User should pay the money after booking ticket and If user
ordered snacks then its payment is also done together with ticket payment.

• Send Ticket- After successful payment, user get ticket together with QR
Code, seat number and other essential information by email and sms.

• Cancel Ticket - In some situation, if user want to cancel the ticket then user
can do this if and only if certain terms and conditions (such as cancellation should
be before 3 hours of movie time and some other information) are fulfilled.

This app adopts a comprehensive approach to minimize the manual work and
schedule resources, time in a cogent manner.

E-ticket is a brand new ticketing method that allows us to print tickets at home
using your local printer connected to the computer. Internet customers will be
presented with a custom ordering program that allows them to book tickets from a
list of movies in the website.

Before they can order they have to provide their name and the mailing address.
Each ticket will be displayed with its movie name, show timings, price and the seat
numbers. The customers can book any number of tickets at a time.
The system computes the total price. The User has to enter the valid credit card
information to confirm their booking.

After completing all the necessary criteria, the original information is added to the
database and the ticket is confirmed for printing.

The ticket will be provided with the bar code for the security purposes. The staffs
check the barcode on the ticket before the entry.

1.7 Rationale behind the System: Why do we need this System?

The problems that are traced needs to be considered and the researcher has decided
to construct such an application that would focus on providing solutions for the
above-mentioned problems.

1.7.1 Benefits of the System: What are the potential benefits derived?

Upon implemented, the system could bring about significant tangible and
intangible benefits:

 Tangible Benefits

1. No investment Users doesn’t have to pay anything for using this system on
android mobile Everything in this system is free of cost.

2. Accessibility of system This system can be accessible anywhere if the user


has got the mobile. If any case happens that the mobile is not with him/her then
he/she can be access his account to any other mobile by just entering his/her email
and password.

3. View ticket history User have the option to view the transaction of the
booking ticket.

4.Accessibility User has the flexibility of using their mobile phones to book
tickets which saves their time and energy.

5.Economic benefit It is beneficial for railway department as much as the user can
buy ticket through this application as much government get the benefit

 Intangible Benefit

1.Time Saving This system ensures that user gets the value of their time and
don't have to rely upon anybody else for placing their order.

2.Friendly User Interface The application that is developed would facilitate


its end users with interactive graphical interfaces that would be easily adaptable.

3.Transparency This system will provide transparency in the ticket booking


system as the ticket will be booked by the person himself.

4.Maintainability Maintenance of the application is painless for its user. The


application will need no version updates and hence require no maintenance until
the user transforms the settings accordingly.

1.8 Objectives of the System

1.8.1 Project Objectives

In order to achieve the aim of the system, it is necessary to achieve the objectives
of the system. The prime objective is to design such a system for users which will
resolve the problem of users standing in never-ending queues for hours just for
ticket booking purpose. It will provide transparency in the ticket booking system as
the ticket will be booked by the person himself and least chances of selling tickets
illegally will be there. The other objectives are summarized below:

 This system is basically consisting of only one phase i.e. the android
application. These android application is internally sub divided into three part first
admin, second and last the user’s. All the interaction of users will be done through
mobile app with his interface after the login and same for the admin and the part all
have its own interface.

 As the discussion begins with booking ticket through mobile devices, first an
application is required through which user can facilitate for book ticket online.

 Secure data center is required to store and fetch the data as per requirement
because if the data is not secure then anyone can use the database and miss use the
database which is not better for this application.

 To begin with mobile based book ticket system throughout booking ticket
process an internet connection is essential.

 Assume that every 8 persons out of 10 having mobile phone on which our
application program will execute.

 Still there is a question of gathering user information. Before booking ticket,


online user must have to register first and his/her email and password for booking
the ticket.

1.8.2 Learning Objectives

The proposed system will allow the developer to attain relevant knowledge and
concepts in specializing android based software development and authoring tool.
The objectives are disreputably emphasized on its concepts and ideas rather than
trained expertise. The developer would have to undergo various sections of
software development, project management, human computer interaction, usability
factors along with the mechanisms of development principles so as to produce
highly reusable quality software on time. But the prime aim to undergo mobile
computing concepts is to increase preferred output with user satisfaction within
less effort and time to encounter an easy solution for the book ticket online and
reduce all the efforts that are required for getting ticket offline.

The following objectives listed below are of prime importance to the developer: -

 Learning how to deal with mobile based software and development along
with its database management.

 Able to perceive real time application with their integration on mobile


devices.

 Implementation and integration of database services with mobile


applications.

 Understanding of data gathering methods and its actual implementation.

 Better understanding of project management concepts i.e. scheduling,


budgeting, cost estimation, work break down structure, Gantt chart, Pert chart etc..

1.9 Scope of the System

The proposed system will be beneficial in a number of ways basic scope is limited
to the particular types of ticket booking such as general tickets only. The Ticket
Application will save a lot of time and also gives us relief to stand a long queue to
get a ticket.
Mainly this system focus on security and services to the layman so that they can
fetch their details whenever they require it is one of the main motto of this system.

1.10 Limitation of the System

Limitations are always a part of every project. The project scope is limited to a
confined boundary as listed below:

 The system is being developed for only android based phone.

 To validating the ticket the mobile device with at least 3.2 MP of rear
camera is required in order to have a scan the QR code.

 The customer will need the internet connection for booking the any type of
ticket.

 The application will be run after installation in the smart phone.

1.11 Assumptions Made

This system is although easy to use in terms of its functionalities but even then,
there are some assumptions that need to be made before the development of the
system:

 Good knowledge of English and basics of Internet is required, i.e. user needs
to be a computer literate.

 The smartphone users have not yet encountered any secure solution to
protect their data from being stolen or mishandled

 The user who would be using the app, is expected to have a smartphone with
a good quality front camera.

1.12 Success Criteria


Success Factors depends upon the depth of understanding and experience gained
from the applications viewed for the review and how efficiently the developer
cracks the problems faced in the application that lead to development of such an
application.

 Application must fulfil the core as well as enhanced system requirements


mentioned above.

 The developer will be able to provide successful implementation of mobile


application in terms of interactivity, effectiveness and efficiency.

1.13 Functionalities of the System

The proposed system having some core, enhanced and some special functionality.
So, let’s knowthem one by one and use of this functionality in this system.

1.13.1Core Features

An movie Ticket Application Using QR Code

1. Register All users at first have to register themselves to the system. All the
users will get a unique email and password.

2.Sign-in All users will get a unique email and password through which they
can logged in into the application.

3 .Transaction List This feature lists all the transactions done by the user.
The user can tap on any transaction to get its detailed info.

1.14 Conclusion

The Chapter 1 includes the background study for the system. Studying the system
has inferred the purpose of the system and goals/ objectives of the system. After
the purpose of the system is identified, the developer then came up with the
benefits of the system to its intended end-user and how the system can benefit its
users. The developer then cultivated the desirable features to be implemented in
the proposed system to resolve the problems that were identified in the problem
context section. The chapter has also included the deliverables the system will
produce after it is completed. The limitations for the system have also been
identified that limits the scope of the proposed project.

CHAPTER 2: PROBLEM DESCRIPTION

2.1 Current Problem Description

After the analysis of preliminary investigation, the researcher has spotted and
identified some of the main problem areas of the application which are briefly
described below:

2.1.1 Description of Problem Area

 Booking of General tickets: Currently users cannot book a general ticket


online, as it has option for only for online booking.

 Basic tickets: Basic ticket is one of the basic tickets are booked
numerously on every day, even then its’ booking facility is not available online.
 Reliability: As the ticket is booked offline so if the ticket gets lost or
misplaced there is no chance of getting it back or one doesn’t have a proof of it
either.

2.2 Problem Importance and Justification

The solution for the current system is to develop a system which will sort out all
the above problems. The proposed system will work upon the current issues and
will overcome the problem that it has right now:

 Booking of General tickets: Currently, one has to stand in never-ending


queues for booking a general ticket which can be sometime quite hectic for a user
as he/she might be in the hurry . So, the proposed system gives the flexibility to
book the general ticket online, as it would provide ease to the user.

 Location tickets: User will be able to book the platform ticket online also
which will be based upon their GPS location and will be valid for 2 hours. This
will also reduce much more efforts of the user.

 Reliable: As the system, will be online for booking the general or platform
ticket, now it will be more reliable in terms of cases like misplacement or loss of
the tickets.

 Over storage of junk data: IRCTC is currently facing the problem of


storing junk files over its server which is slowing down the processes of IRCTC.
This problem can be resolved by the introduction of cloud storage in the system.

2.3 Proposed Solution


The solution for the current system is to develop a system which will sort out all
the above problems. The proposed system will work upon the current issues and
will overcome the problem that it has right now:

 Reliable: As the system, will be online for booking the general or platform
ticket, now it will be more reliable in terms of cases like misplacement or loss of
the tickets.

2.4 Nature of Challenge

2.4.1 Domain Challenge

To build this app, the researcher would have to undergo some major challenges
during the development like:

 Mobile Commerce: To implement the concepts and ideas involved in


mobile commerce to develop the mobile application

 Synchronization: The primary challenge in developing this app would be


implementing the concepts of web services to communicate with the database in
order to sync with the application to fetch the relevant data.

 Interaction Principles: To understand the interaction principles between the


human and the mobile devices and to develop the application keeping in mind the
implementation of all those principles which will justify the successful
implementation of the application.

 Location Based Services: To understand the location based services which


contains GPS module to get the current location.

2.4.2 Technical Challenge


The challenges that would come on the way of the researcher while working on the
technology area are as follows:

 Android Platform: The very first thing that I would like to mention here is
the knowledge of platform. Since, the system is going to be developed on android
platform and I am totally unknown about this technology, off-course I have started
learning it but still I need to learn many concepts of android for successful
development of this project.

 Reading QR and Validating the Ticket: It is itself a challenging task to


create a QR code scanner for smart phone cameras taking into consideration the
varying camera features of the smart phones. After that decoding the QR code to
validating the ticket weather it is valid or not again creates challenge.

 Save Tickets: It’s a challenging task to save the tickets in the form of image
which consists only QR code.

 Integrating Various Modules in one Application: It will be quite


challenging to integrate various modules such as GPS location services, Web
Services, Database Integration, Save Image and many more at a single place. The
developer will have to learn numerous API’s to implement the system.

 Hardware Fragmentation: There are thousands of varieties of devices that


run on android platform and those various devices exist with different properties
such as memory, CPU speed, and graphical resolutions. There is also a
fragmentation possible on the operating system level. A famous example is the
fragmentation on Android devices with different screen sizes and resolutions.
Thus, developer must have to perform market research to find out which handsets
are most popular with the target audience and develop for those first.
 Software Fragmentation: Since, there are too many android versions are
available running into the devices. So, I as a developer can’t focus only on single
or latest version of because it’s not easy for users to upgrade their operating system
and therefore most of theusers must not have upgraded. Therefore, developer will
have to learn which operating systems are most popular and develop with the latest
widely adopted version in mind.

 Web Services: Since, the app needs to communicate with the remote
database in order to sync with the application to fetch the relevant data, thus the
developer must need to have deep knowledge of a web service as it will frequently
be used to fetch data from or suit data to remote database.

2.5 Feasibility Study

Feasibility study is done so that an ill-conceived system is recognized early in


definition phase. During system engineering, however, we concentrate our
attention on four primary areas of interest. This phase is really important as before
starting with the real work of building the system it was very important to find out

whether the idea thought is possible or not.. The feasibility study can be
categorized into following four parts:

 Technically feasibility

 Economic feasibility

 Schedule feasibility

 Operational feasibility

2.5.1 Technical Feasibility


During technical analysis, the technical merits of the system are studied and at the
same time collecting additional information about performance, reliability,
maintainability and predictability.

Technical analysis begins with an assessment of the technical viability of the


proposed system.

 What technologies are required to accomplished system function and


performance?

 What new materials, methods, algorithms or processes are required and what is
their development risk?

 How will these obtained from technical analysis form the basis for another
go/no-go decision on the test

system

Hardware Resources

1. Processor- Core i3 and later version

2. RAM (Memory) - 2 GB and more

3. Monitor – Any standard monitor

4. Pen Drive, Mouse, Printer, Keyboard

5. System Type- 64-bit OS

6. Hard Drive– More than 80 GB

7. Accessories – Internet connection.

8. Windows USB driver for Windows: To connect an Android-powered


device with the development environment over USB for USB Debugging.
Software Resources

1. Android Studio, XAMPP

2. Plug-In - JDK 6.0 or later (JRE alone is not sufficient)

3. SDK – Android SDK with API level More than 8 and later

4. Web Service – NetBeans

5. Database Technology –MySQL

6. Operating System (PC) - Windows 7 or later

7. Operating System (Mobile Phone) – Android OS

8. Case Tools - Microsoft Project, Microsoft Visio and Star UML

9. Documentation and Presentation tool - Microsoft Office 2010

Resources of Execution

1. Operating system - Android 4.0 and later

2. Android Smartphone - GPS enabled mobile phone, Rear Camera


(minimum 3.2 MP), Internet services like Mobile Data.

3. CPU: 600 MHZ

4. RAM: 100 MB (estimated)

5. Disk space: 50 MB (estimated)

6. A good data/internet connection for customers

2.5.2 Economic Feasibility


Among the most important information contained in feasibility study is Cost
Benefit Analysis and assessment of the economic justification for a computer
based system project. Cost Benefit Analysis delineates costs for the project
development and weighs them against tangible and intangible benefits of a system.
Cost Benefits Analysis is complicated by the criteria that vary with the
characteristics of the system to be developed, the relative size of the project and the
expected return on investment desired as part of company’s strategic plan. In
addition, many benefits derived from a computer-based system are intangible (e.g.
better design quality through iterative optimization, increased customer satisfaction
throughprogrammable control etc.)As this is an in-house project for the company,
to be used for its ownconvenience and also it is not that big a project

2.5.3 Schedule Feasibility

Schedule feasibility for a project is done to verify whether the project can be
completed within scheduled time or not as decided by the Gantt chart. Dates are
fixed for each phase throughout the project and it is to be ensured that the project is
able to complete within the specified dates and the schedule. If the project is able
to be completed within the schedule, the scheduled feasibility is high. Gantt chart
is a project management tool that can be used to measure the scheduled feasibility
of the project. The proposed timeline for the application would consume
approximately 38 weeks and time management for each task is carried out aptly
through Gantt chart.

Gantt Chart: - Refer to Appendix

2.5.4 Operational Feasibility


Operational feasibility measures to which extent the proposed system resolves the
problems identified in the starting phase of the project; how the project intends to
fulfil the requirements identified during scope definition and how the system
makes use of the opportunities identified during scope definition. The project will
be operationally feasible undoubtedly as the main motive is to solve the problems
of those who face problems in nowadays environment which are faced by masses.

2.5.5 Conclusion of Feasibility Study

The project is technically feasible since the hardware, software and the resources
needed for executing the system are ready. After evaluating the cost and benefits
incurred on and derived from the system, it is concluded that the project is
economically feasible. The project will be completed on time and deadlines will be
followed as scheduled in the Gantt chart. The system will be socially acceptable
and will satisfy the needs of users.

2.6 Conclusion

Chapter 2 is all about the problems identified in the current area of study i.e. the
problems in ticket environment. The developer has identified all the problems
which is generally facing by the general user. The problems have been documented
along with the justification for each problem. After all the problems are identified,
the developer’s next task was to provide appropriate solutions to resolve the
problems. For the same purpose, the solution corresponding to each problem has
been documented along with the justification. A feasibility study is then conducted
for the system to ensure that the proposed system is technically, operationally,
economically feasible and can be completed within a specified time frame. The
feasibility study is successful, creating a further path for the developer to move
ahead with the project.
CHAPTER 3: LITERATURE REVIEW

A literature review is a description of what work has already been done by other
researchers related to the present topic. It is conducted using published books,
journals and other research papers and is a baseline for present research. The
following are the purpose of a literature review:

 To perform critical evaluation of already conducted research to find out their


ideas, strength, weakness and their methodologies.
 To have an overview of already existing suggestions related to the subject,
review the findings and views of others.

 To answer certain questions and remove confusions related to the present


topic.

3.2 Advanced Preliminary Research

The idea came to the mind of developer while going through the to get the general
ticket with the counter after standing in long queue which is the offline mode.
Developer has seen that due to this long queue or we can say that due to less
counter some of the people who are in hurry to pick his train he/she didn’t able to
get the ticket only due to the long queue and the less counter and due to this it is
directly effect to the revenue . Then the developer has crack the idea in his mind
why not we do this in online mode, as we know that the irctc website for railway
which booked the Ticket only but developer think that why it is not possible that
we can book the general ticket in online to solve these problems which are facing
by the general user and it is also directly beneficial to the revenue of the people
get more ticket no any problem to stand in queue and it’s also save the time of the
people.

As we also know that we are in that era where android mobile is the common for
every user. If we take the hundred people 95% of the people having own
smartphone in his hand so why not, we develop the system in android mobile.. So,
developer wants to develop the application like irctc but only for the general as
well as for the ticket and stored the user information at the time of registration in
the database for the security purpose and also developer want to gives the facility
to the user to the balance through his e-wallet which is time saving process more in
compare to online transaction some time it being with friend or family transaction
process is lost. Also, developer wants to give the ticket to the users in the form of
QR code which is more better way in compare to printed ticket. It that QR code is
has scan by the where the all the user information is stored in the database and it
also show that the ticket is valid or not. These all the thing which developer think
that it is totally new because none of the system exists in now days so in future it
may be possible that it is directly

3.3 Academic Research

Before developing the proposed system, the developer conducted academic


research by reading research papers, journals etc. to understand the real need of
general ticketing application for the general users and its advantages.how it will be
useful to the users. It will also help the developer to refine the functionalities to be
included in the system.

3.3.1 QR Code Technology

Since QR scanning is one of the challenges of the proposed system, the developer
has gone thorough the ideology to implement QR code scanning and it’s decoding
in the system.

3.3.2 Software Methodology and Software Engineering Concepts

In order to deliver a user satisfied system within time, the developer has to research
for the methodology which best suits the app.
3.3.3 Human Computer Interaction Principles

It is necessary for a good design, evaluation, usable interface etc. that is user
friendly with visibility, affordance etc. The developer must be clear with the
interaction principles between the human and the mobile devices so that the
application is developed keeping in mind the implementation of all those principles
which will justify the successful implementation of the application.

3.3.4 Project Management Principles

Project management techniques will be aforethought for the system like


scheduling, feasibility, risk analysis to complete the development smoothly.

3.4 Domain Research

Domain research is necessary as the project domain varies in various cases and
once this is finished for a particular module, then we can work on analysis and
designing of that particular module provides ease of its use. During the stages of
research, the researcher acknowledged that there are enough problems faced by the
user in environment of getting ticket.

The application’s domain area is focused on android based application and mobile
computing. To have a deep knowledge of user requirements and important aspects
of the system, researcher has to implement the technology to reduce problems
faced by the user at the time of getting ticket.

3.4.1 Android
Android is a Linux based operating system and is more of a software stack for
mobile phones which chiefly comprises of an operating system, middleware and
key applications. Android OS is an open source operating system for mobile
devices having a kernel based on Linux kernel. Its middleware, libraries and APIs
are written in core C while the applications are developed for android using java
with android class extension.

3.4.2 Android Architecture

 Applications: At this top layer, there are applications that ship with the
Android device (such as Phone, Contacts, Browser, etc.), as well as applications
that we download and installfrom the Android Market mostly with Google Play
Store. These applications can be facebook application, twitter application, any
gaming application etc. Moreover, the applications that we write are also located at
this layer.

 Application Framework: Itexposes the various capabilities of the Android


OS to applicationdevelopers so that they can make use of them in their
applications.By providing an open development platform, Android offers
developers the ability to build extremely rich and innovative applications.
Developers are free to take advantage of the device hardware, access location
information, run background services, set alarms, add notifications to the status
bar, and much more. This will be helpful to the developer in developing the
application.

 Libraries: Android provides developers with a set of C/C++ libraries


through the application framework itself and some of the examples are mentioned
above. These libraries are accessible to the developer for developing feature rich
applications.

 Android Runtime: At the same layer as the libraries, the Android runtime
provides a set ofcorelibraries that enable developers to write Android apps using
the Java programming language. TheAndroid runtime also includes the Dalvik
virtual machine, which enables every Android applicationto run in its own process;
with its own instance of the Dalvik virtual machine (Androidapplications are
compiled into the Dalvik executables). Dalvik is a specialized virtual
machinedesigned specifically for Android and optimized for battery-powered
mobile devices with limitedmemory and CPU.

 Linux Kernel: This is the kernel on which Android is based. This layer
contains all the low-level device drivers for the various hardware components of an
Android device.Android depends on Linux kernel for system services such as
security, process management.

3.4.3 Security and Permissions

Every Android application runs its own process and security among which these
applications are applied with the help of Linux installations. Android has a safety
mechanism that restricts processes to perform various operations. Based on the
permissions a process can access data from other applications or other operations.
This concept will help developer to maintain the security of the application and get
access to all the permissions for the application. For example, developer can
specify access to the Bluetooth function of the device by the application.

3.5 Market Review


Since the app consists of threeinterface targeted to the (User, and Admin) each
with distinct functionalities making a complete retail software package. Thus,
market review is for the users which is faced by the user.

CHAPTER 4: RESEARCH METHODS

4.1.1 Primary Research


Primary research is defined as collecting data or the information about the domain
of the study from the real world directly, for the very first time about a given
subject directly from the real world. It is done to remove the confusion and
ambiguity that came in the mind of the developer after performing secondary
research by actually asking such questions directly to the forum users and
considering their suggestions. The developer can use this research to move further
in the development of the project. The primary research methods used by the
developer are questionnaire and interview which are described below:

4.1.2 Questionnaire

A Questionnaire consists of a number of questions printed in a piece of paper in a


definite order to elicit necessary information from the target users within a short
duration. The Questionnaire is provided to the respondents who are expected to
read and understand the questions and write down the reply in the space provided.
Since, user is the types of users for the proposed system; the developer will
distribute the questionnaire among them.

Justification for Conducting Questionnaire

The reason for choosing questionnaire as a primary data gathering method is


described below:

 Since the target users of the system are quite large in number, and it is
impossible to reach out to each of them individually to collect their requirements
and suggestions.

 With questionnaire, it is possible to reach to masses simultaneously


irrespective of their geological location which is less time consuming
 Since, the statistical techniques can be applied to it the analysis of
questionnaire is efficient which is done in the terms of graphs and charts which are
more accurate.

 Users are free to answer questions anonymously, so there are more chances
of obtaining exact requirements.

 It’s a cost-effective approach, as it can be emailed to the participants or be


distributed as paper-based questionnaire.

4.2 Secondary Research

Secondary research is usually conducted prior to primary research. It means


gathering information from already published books, journals, research papers
which are third party authenticated sources. It is done to learn from the mistakes
that others have committed on the related domain because it is better to learn from
other’s mistakes and save time rather than repeating the same mistake.

4.2.1 Technical Research

This is related to the technical part of the research means research related to
selection of platform, programming language, database, technology and
methodology. Conducting technical research for the proposed project is a critical
factor that can affect the implementation of the project and thus is conducted
before the system design and implementation phase begins. A wide-spread
research is conducted that compares various platforms, programming languages,
databases, technologies, methodologies and evaluates them to come to conclusion
which would be chosen for the proposed project.

Justification for Choosing Android as a Platform


The decision of choosing one platform over other has always been a difficult task
for the developer. Each platform has its own pros and cons so it is inadequate to
say that one platform is better than other ones. Let’s see why Android has been
chosen over other OS platforms.

What is Android?

Android is a platform that provides tools and technologies which can be used to
develop and build mobile applications. The android platform is an open source that
includes an operating system, middleware services and also key applications for
use in mobile devices. Android environment uses the Linux operating system at its
core has a kernel based on Linux kernel. Its middleware, libraries and APIs are
written in core C while the applications are developed for android using java with
android class extension.

Why Android?

The researcher opted to work on Android technology for the development of


application because of the following reasons:

 Huge Market: According to IDC Research, Inc. (2015),Android has


dominated the smartphone market with a share of 82.8%.Thus, being so popular in
the market, the researcher believes that the success rate would be high, if the
development is based on this technology.

 Android Support with Google-Map: Android and Google Map both are
initiatives of Google itself and for ease of use they have provided the packaged
libraries bundled with Android platform so use of Google-Map along with GPS
technology in android application is without compatibility issues, and this
compatibility can be used in the proposed system to get the current location.

 Code Reusability Using Android Reuse Models: Even complex applications


can be built easily and rapidly using Android because Android platform allows
reusability of code by providing different Android Reuse Models. This helps to
improve the overall quality of the app and saves lot of developer’s timetoo. The
following are the reuse models provided by android:

a) The APK (Android Package Kit)

b) The JAR (Java Archive)

c) The Android Library Project

 Rich Development Environment: Android hasrich application development


environment that enables effortless convenience to develop most attractive
applications easily and in lesser time. And since the application needs to be made
in the given time constraint it’s a great choice.

 Open Source Architecture: Since android is an open source platform, less


investment will be required in the development portion. And any software or
program that is produced needs to be tested which can be done without much
investment. Only required investment would be a physical device to test the
system.

 Java in its Application Development Environment: Since, android apps are


developed using Java therefore all the features (Simplicity, Robustness, Portability,
Multithreading, and Security etc.) that are associated with Java gets embed with
the android development and gives android development an edge. Moreover, since
the developer is well versed in Java, android becomes a great venture
Justification for programming language selection (Java)

For the development of the proposed system, the developer has decided to use Java
as a programming language. It’s an obvious thing to select so because the system is
to be developed in Android platform which uses Java programming language in its
development environment.

Justification for Database Selection (SQLite)

Why SQLite

 SQLite is an open Source Database which is embedded into Android. The


data stored in SQLite are much efficient and done in a structured way which is an
ideal for the proposed system because the train information needs to be stored in
structured way.

 SQLite supports the data types TEXT (similar to String in Java), INTEGER
(similar to long in Java) and REAL (similar to double in Java). And since, Java is
selection as the programming language it will be quite helpful for developer to deal
with it.

 It’s a lightweight database requires less memory at runtime, approximately


270Kbyte. So, it will make the system app compatible to even lowest android
version and also to the phones with low memory.

 SQLite supports standard relational database features like SQL syntax,


transactions and prepared statements. Thus, it will be easier for the developer to
cope up with.
Justification for Web Services Selection

Since, Android itself cannot communicate with the remote database. So, there
needs a bridge between these two and that’s a web service. Web Service will help
to fetch data from or suit data to remote database. For the implementation of the
proposed system application REST web service will be used. REST stands for
Representational State Transfer, which is an architectural style for networked
hypermedia applications; it is primarily used to build Web services that are
lightweight, maintainable, and scalable.

Why REST?(Justification)

 Lightweight: It’s a light weight web service and since the proposed system is
an android application thus it’s a great choice for the mobile application.

 Easy to Build: It is quite easy to build also doesn’t require any toolkits thus
it’s a good technology to adopt for the proposed system

 Human Readable Results: The results produced by REST are easily


readable, thus can be easily manipulated by the developer.

4.2.2 Development Methodology

As illustrated by (Erickson, 2005) software methodology provides a systematic


pathway or a road map for the successful development of software. It helps to
reduce risks; help handle the complexity of the software and develop the software
within budget and time with fulfilling requirements with quality. It helps to
determine if the development is deviating from the scheduled plan.The developer
has evaluated almost all the available methodologies to come up with the best
suitable methodology that would meet the requirements of the project such as
technical, organization and project considerations. After a brief analysis and
research study of the software development methodologies, the developer has
concluded to implement “V-MODEL” for the development of the project.

V-model Methodology

After reviewing all software methodologies, the developer chose “V-MODEL” as


it fits in with the constraints of the project. Any kind of changes in the system can
be implemented at a minimum cost because of its frequency of new increments that
are produced. The modifications can be discussed and features can be improvised
or deleted based on the feedback. This would effectively give its customer the
finished system they want or need. This methodology, divides its tasks into smaller
time frames so that targets can be achieved.

This methodology has following phase that developer will pursue while developing
the system.

 Requirement Analysis-It is the first step in the verification process. In this


stage the developer will not be going to deliberate how the system is going to be
built; it is going to be a generalized dialogue and a user requirement document is
put onwards. This document will convey information regarding the function of the
system, performance, security, data, interface etc. This document is required by the
business analysts to convey the function of the system to the users. Meanwhile it
will simply be a recommendation.

 System Design-In this stage the possible design of the product is expressed.
It is framed after keeping in mind the requirement summaries. Furthermore, while
pursuing the documents, if there is somewhat that doesn’t appropriate in the
design, then the developer is made responsive of it and changes are consequently
scheduled.
 Architecture Design- It is also known as the computer architecture design
or the software design should understand the modules and the functionality of the
modules which have to be integrated.

 Module Design-In this stage, the architectural design is again fragmented


into sub components accordingly they can be planned and described distinctly. The
units are known as modules. It can separately be decrypted by the programmer.

The Validation Phases of the V model

 Unit Testing-It is design in the module design phase are executed on the
code during this validation phase. Unit testing is the testing at code level and helps
reduce bugs at an early stage, however all faults cannot be revealed by unit testing.

 Integration Testing or Interface Testing- It is related with the architectural


design phase. Integration tests are performed to test the existence and
communication of the internal modules within the system. In other words, in this
phase the separate entities will be tested together to find out the faults in the
interfaces.

 System Testing-It is directly allied with the System design phase. Its check
the entire system functionality and the statement of the system under development
with peripheral systems. In addition, most of the software and hardware
compatibility issues can be revealed during system test execution.

 Acceptance Testing-In the acceptance testing, related with the business


requirement analysis phase and comprises testing the product in user environment.
It exposes the compatibility issues with the other systems accessible in the user
environment. Acceptance tests also determines the non-functional concerns such as
load and performance faults in the actual user environment.
 Release Testing-It is in at this time that decision has to be made if the
product or software which is created is suitable for the end user.

Justification for choosing V-Model

After some discussion, the developer chooses Waterfall Model for the development
of this system. The most attractive factor for selection of V-Model is-

 Stable project requirements: As in our project most of the user


requirements are restriction at the time of PSF so it specifies an unchanging project
requirements and Waterfall methodology entirely supports a project which has
requirements definite in advance.

 Progress of system is measurable: After each phase, it produces the


documentation and as the structure of our Final year project we need to submit the
documentation after each phase so it will be best suitable.

 Strict sign-off requirements: As the developers aim will be to content the


user and until the user will be gratified the developer will be providing the user
preferred functionalities and proper features so this methodology will be best
appropriate.

 The highlighting on requirements and design before writing a single line of


code confirms minimal wastage of time and effort and reduces the risk of schedule
slippage, or of end user expectations not being met.

 In modified waterfall model life cycle phases are acceptable to overlay.


Because of the phases overlap, a lot of suppleness has been familiarized in the
modified waterfall model in software engineering. Meanwhile, a number of tasks
can function concurrently, which ensures that the defects in the software are
removed in the development stage itself and the overhead cost of making changes
to the software before implementation is saved.

 Making changes to the basic design is also possible, as there are a number of
phases lively at one point of time. In circumstance, there are any errors introduced
because of the changes made, rectifying them is also easy (Testing can be done).

4.3 Conclusion

Chapter 4 is being all about the research methods. The researcher conducted
primary and secondary research under which technical research was conducted to
come to a final conclusion of user requirements and technologies and tools to be
used. Couple of research methods have been used by the developer, which includes
Questionnaires and Interviews. The research was necessary to avoid waste of time
in a later point of development phase. Now, the researcher is pretty sure of the
features to be included in the system and how to remove existing problems. The
developer is confident enough to implement the proposed app after performing
extreme research related to domain, technology, language, tools etc.

CHAPTER 5: ANALYSIS

5.1 Analysis of Questionnaire

Refer to appendix

5.1.1 Overall Conclusion of Questionnaire

The questionnaires were distributed among the users like student, service man,
business man etc. This type of primary research which is a kind of survey is
beneficial for the developer in knowing the user’s point of views about the
problems faced by the user while getting the general ticket at the counter and how
this can be enhanced in the environment. The survey performed using the
questionnaire helped the developer to have a complete knowledge and
understanding of the requirement of the customers while getting the general ticket.
So, their opinions helped the developer to include the functionalities preferred by
such users.

5.2.1 Overall Conclusion of Interview

The research was conducted to gather the opinions of the developer about the
proposed application to be developed. The type of research helped the developer a
lot in identifying the problems faced by the users while booking the general ticket
in offline mode in environment and what can be the convenient solutions for the
problems mentioned. The developer of the proposed system acquired knowledge
about the required functionalities, pros and cons of each module only by the actual
end-users who are going to implement the system. Thus, the developer targeted the
user who are willing and want to get the general ticket online where such a system
could be implemented. So, through this research, the developer will be able to
develop the proposed app in a productive manner, by integrating some new
features and modules like QR Scanner,

CHAPTER 6: SYSTEM DESIGN

6.1 Introduction

The design phase starts when the developer is done with the research and analysis
phase. The design phase includes the transformation of user’s specifications and
software components into the software interface to build a platform for establishing
the system. It covers the building of blue prints of the system that include physical
modelling using software engineering tools and methods.

In the design phase for the proposed system, the design is taking the requirements
as the input and will produce a guideline for the implementation as output. Three to
four design elements are to be produced for each and every module after
completing the research and analysis part which will be fed as input to the design.

6.2 UML Diagram

Use Cases: Use case will be required by the developer so that the flow of the
functionalities mentioned in the proposed system could be reviewed to validate the
architecture and evaluation of the complexity level of individual modules could be
assessed easily. Therefore, it would be helpful in testing the system through
forward and reverse engineering. (Booch, Rumbaugh & Jacobson, 2008)

Activity Diagrams: Activity Diagrams will be used by the developer to show the
flow of control of program modules from activity to activity. This would help us to
show the concurrency as well as branches of control in the proposed system.
(Booch, Rumbaugh & Jacobson, 2008)

Sequence Diagrams: Sequence Diagrams would help the developer to show the
series of interactions prevailing between users and system/modules. (Booch,
Rumbaugh & Jacobson, 2008)

Class Diagrams: UML class diagrams will be required to provide an independent


description of the objects that would be used in the system and which would be
helpful in the implementation phase. The design can be used as a reference to
implement on any platform using any development environment. (Booch,
Rumbaugh & Jacobson, 2008)
Entity-Relationship Diagram (ERD): ER diagrams will be required by the
developer to identify the entities and relationship between them is beneficial in
storing the data which would be then converted into tables in the normalization
phase. (Booch, Rumbaugh & Jacobson, 2008)

CHAPTER 7: IMPLEMENTATION

7.1 Introduction

After the completion of the design phase, the developer analyzed that it was
necessary that the requirements quoted down must meet the proposed system
development schema. Implementation phase is one of the most essential stages of
any project as the developer would work to implement the system design into a
real system. Implementation phase involves the vivid usage of tools to convert the
design modules into a real working system. For working on the real system, the
prerequisite for the developer would be a programming language and a
programming tool. The developer chooses to work Android SDK and the
development language chosen would be JAVA. The developer had to undergo
through a series of errors which was obstructing the implementation tenure. This
chapter further throws light on how the design has been implemented and what
were the shortcomings during the making of the system. Furthermore, list of
problems are mentioned and what were the probable solutions that were provided.

7.2 Tools used for Implementation

The developer has mentioned all the tools that has been used in the development of
the system.

Tools Purpose

Windows 10 Used as an operating system to run the all the below mentioned
tools for the development of the system.

Microsoft Visio 2010 Used to draw all the UML diagrams.

Microsoft Word 2010 Used to document the project.

Microsoft Project 2010 Used to prepare the Gantt Chart.

Microsoft PowerPoint 2010 Used to prepare the presentation slide.

Android Studio 2.2.3 It is used to design the pages of the application.

Android Device (One Plus X) A physical android device, used to give the
presentation demo.

MySQL 5.6 Used as a remote database (in the server side).


7.3 Implementation Plan

7.3.1 Implementation Approach

This plan would give the developer an overview of the procedures involved to
develop the real system. A strategic plan is required to successfully complete a
system. ‘Divide and conquer approach’ is used to divide the system into separate
modules to detect and recover from errors easily. The plan is made to prioritize
various modules on the basis of their complexity so that each and every module
can be implemented on time and the complex modules should be developed first.

7.3.1 Implementation Approach Steps

1. Since the system have only one app which consists of only three phases.
User, and last Admin. version can work only if any user has the book the ticket
when it details saved to the server the phase will work. So, firstly user phase of the
app needs to be developed then we move to the phase.

2. The first steps is to create the registration and login part of the app so that
anyone can able to login into the system and able to perform his functionality.

3. The next step we have to create first the forget password option in order to if
any user forget his password can able to recover it.

4. Then we have to move to the user functionality of the system after the login
and registration. Then first we have to do is to create the dashboard so as user can
navigate to various section of their module.

5. After creating the dashboard, we have to perform those tasks which is


dependent. For example, without completing the book ticket process we cannot
able to see the booking history. So, we need to perform first book ticket.
6. After completing the book ticket, we have to create the generate QR code so
that when we create the functionality of he has the functionality to scan QR code to
validate the ticket. So, next we have to generate the QR Code functionality.

7. After creating QR code next, we have to move to history part of the user, we
have to generate the history of the ticket so that user can able to view the ticket
history.

8. Next, we have to create the view profile functionality in order to make user
to view his profile.

9. Next, we have to move to the upload image in order to make user upload
their image and able to view when he/she will select the view profile.

10. Next, we have to move to the change password in order to change the
password of his account.

11. Next, we have to create e-wallet money so before this we have to move to
the panel because only will do the recharge of the user.

12. So, before creating the panel first it has some id and password to perform
the task. So, to perform the task of it must have to register first. So, perform the
task can register himself admin will register the user and give some opening
amount to recharge the user account so first we have to create the admin panel to
perform the task.

13. Next, we have created the admin dashboard to navigate throughout the page.

14. Next, we have created the register so that will able to login into the system.

15. After registering the , we need to first create the dashboard of the throughout
the page in order to navigate from one page to another.
16. After, creating the dashboard we have to create the recharge user account
functionality in order to perform the task.

17. Next, we have to create the scan QR code functionality to scan the QR code
that we have generated in the user part to validate the weather the ticket is valid or
not.

18. Next, we have to create the change password for the in order to change his
password.

19. After creating all these thing, we have to create the admin part, in this we
already created the dashboard and the register functionality so we directly move to
the next functionality i.e. register user. This the independent functionality so we
can create this functionality any time.

20. After this we have to create the search user functionality in order to know
that how many user are registered in the system in order to able to view and update
the profile of any user.

21. Next, we have to create the view all registered user functionality in order to
see the all registered user into the system.

22. Then we have to create the view profile of the admin.

23. And lastly, we have to create the change password of the admin.
CHAPTER 8: TESTING

“... we have as many testers as we have developers. And testers spend all their
time testing, and developers spend half their time testing. We're more of a testing,
a quality software organization than we're a software organization.” – Bill Gates

(Information Week 2002)

8.1 Introduction
Testing is the process of exercising software with the intent of finding and
correcting errors. The objective of the testing is to uncover different classes of
errors and to do so with a minimum amount of time and effort. In order to provide
highly acceptable and error free system, the system should have to face the testing
procedure and evaluation of each and every module and functionality. (Mustafa &
Khan, 2007)

8.2 Need of Testing

The significance of the testing phase is done to verify and validate the completed
system. So that it will executed and presented the way it was expected and all the
functionalities function as were defined in the project specification form. The
testing does not require that the developer has to test each and every section of
code to verify the bugs and recover from the errors and bugs that are present in it
but its objective is to uncover the situations that could impact the system or the
project or can lead in making the project unsuccessful. Thus, testing is done to
enhance the quality of the system produced so that it is acceptable by the intended
user with satisfaction.The highlights of this chapter include:

 The different types of testing done.

 The duration taken to test.

 The person(s) involved.

 The reported errors.

 The measures taken.

8.3 Test Plan

Software development processes typically focus on avoiding errors, detecting and


correcting the software faults that do occur and predicting reliability after
development. The test process, techniques and tools are significant contributors to
effective and efficient testing and quality assurance. (Mustafa & Khan,
2007).Various testing techniques to be implemented for proposed system are given
in the next section.

8.3.1 Type of Testing

Testing Technique Requirement

1.Unit Testing Testing of individual software component or modules of the


system. This type of testing is performed by the developers only because it requires
detailed knowledge of the internal program design and code. It includes
performing black box and white box testing.

2 Integration Testing Testing of integration modules to verify combined


functionality after integration. Various modules are integrated together and then
tested by the developer of the system to check whether the modules work properly
after integration.

3.System Testing Entire system is tested by the developer as per the requirements.
All the modules of the system are combined and check whether they work
perfectly after being integrated into one system as a whole.

4.Compatibility Testing Compatibility testing is used to determine if the system


causes any issues related to how it function in concern with the operating system
and different type of system hardware and software. The developer performs this
type of testing on various hardware/ software platform to test the compatibility of
the system on each platform.
5.GUI Testing The testing is to be done to verify the design of the system whether
it satisfies the six predefined HCIU design principle and whether the system is user
friendly.

6. Usability Testing The purpose of doing a usability test is to determine whether


a product or document works with its intended users or readers. This is to be done
by evaluating a product through observing the real people actually working on or
using it so as to improve or enhance the system. The end- users execute the system
to test it

7.User Acceptance Testing User Acceptance Testing tests that the system
satisfies all the essential user requirements and is performing to the acceptable
level as expected by the customer. This is done by defining a set of acceptance
criteria which the system must satisfy before the customer will accept it.

8.Documentation Testing Documentation Testing is to be done to verify the


system documentation whether it is meaningful and user friendly or not.

8.3.2 Pass/Fail Criteria

 The produced system meets all the specifications mentioned in the project
specification form and all the requirements of the user gathered during the research
phase.

 All the modules/ functionalities are implemented in a way that the desired
system produced runs without any bugs and quickly.
 System is to be verified for the usability that depends upon proven Human-
Computer Interaction (HCI) principles and aims to achieve in the application ease
of use, Navigation, time for completion and errors removal.

8.6 Criteria of Test Cases

The system must comply with the success criteria mentioned in the specification.
Some of the requirements are:

 Product Management Module should work efficiently.

 Transaction Management Module should work efficiently.

 Synchronization must work efficiently.

 System should satisfy all user requirements.

 UI should have a consistent layout and must follow the HCIU principle.

 The App should be easy to use.

(Note: For more details, please refer to section of PSF)

8.8 Users Involved in Testing

The developer will play the role of tester.

8.9 Unit Testing

In order to test each small part of the developed system individual test cases were
developed. Unit testing was very helpful as it helped the developer to test
individual units of source code. This is performed before any other testing because
it is easy to find out bugs at lower level that is at module level than to find them at
integration or system level. It is performed at two levels; black box test cases are
made and then white box testing is done. Two levels of unit testing were basically
conducted, namely black box (also called functional testing) and white box (also
called logical testing).

8.9.1 Justification for unit Testing

For the system produced named each module is tested and its corresponding test
case is produced. Therefore, individual test cases are produced for all the modules.
Unit testing is performed at the primary level for the system because for example if
book ticket functionality and scan ticket module are integrated before they are
tested and a bug occurs, it will be difficult to figure out which module the bug has
occurred. Therefore, it will be useful to test book ticket module after it is
completed and scan ticket module separately after its completion to figure out and
remove the bugs easily.

8.9.2 Black box testing (Functional Testing)

Black Box Testing, also known as Functional Testing, is a software testing


technique that exposes only the functionalities and the design of the system; hiding
the internal implementation/ structure of the system. The internal code or the
structure is not known to the user who is going to use the system.

 Justification for Black Box Testing

The testing is to be performed by the developer of the system but testing the
functionalities of the system and not going into the code of the system
8.9.3 White Box Testing (Conceptual Testing)

White Box Testing also known Code-Based Testing or Logical Testing is a


software testing technique that exposes the internal implementation or the internal
structure of the system or the code. The testing is to be performed by someone who
is a hard coder or the programmer. It is something ahead of the user interface as it
has nothing to do with the external structure or the interface but is concerned about
the internal design/ structure or the implementation. The testing is employed to
thus test the internal workings of the proposed system or the application.

Conclusion: The above result is the path found by the tester during testing the
code of update profile module through Control Flow diagram. The given paths are
favourable for module execution. Hence path and logic is correct in order to fulfil
the requirements of update profile module

8.10 Integration Testing

Integration Testing is a testing technique that combines the individual units or the
modules of the system and integrated them together to be tested whether the
modules work properly as expected after integration or produce any bugs. The
purpose of this testing to achieve the following:

 Each module should integrate with each other without any data loss.

 Each module should be independent of each other while running.

 To conduct incremental testing starting from lower level in the unit testing.

8.10. Technique used for Integration Testing


Bottom up integration testing is used which make sure that the module at the
lowest level are developed first and other modules which go towards the 'main'
program are integrated and tested one at a time.

8.10.2Justification for Integration Testing

Integration Testing is applicable when the developer has tested all the modules of
the system individually. After testing individual modules, modules are integrated
together to be tested whether they work properly after integration. For example,
Scan QR Code is Integrated with book general ticket because without booking the
ticket TTE cannot able to scan the QR code.

8.11 System Testing

System Testing is a testing technique that tests or verifies whether the system
performs well and executed fine at a level when all the modules are integrated into
one system as a whole. The testing also includes mapping of the requirements
specified with the output of the system or the application produced.

8.11.1Justification for System Testing

This type of testing is done for the proposed system to ensure that the system as a
whole works appropriately as per the requirements and does not produce any errors
or bugs after all the modules are integrated together and tested. After all the
modules of the system, for example view profile module, book ticket module have
been implemented and tested individually, one module is integrated with the other
module and tested for integration, then all the modules are done with integration
testing individually, system testing is conducted to test the system as a whole.
8.12 Compatibility Testing

Compatibility testing is a type of non-functional testing that is performed to test the


compatibility of the system produced with the hardware or the software platforms.
The testing ensures that the completed application or the system works perfectly
fine when tested on different platforms considering operating system and software
and hardware tools. The purpose of this testing is to find out whether the proposed
system executes in a particular environment consisting of hardware, software,
network, operating system etc.

8.12.1Justification for Compatibility Testing

 The system is first to tested for Android Operating System versions, on


which is runs properly, whether its Kitkat or Lollipop.

 The system is to be tested for hardware also, which processor is required,


how much RAM is needed for running the system properly.

8.13 GUI Testing

Graphical User Interface (GUI) testing is the process of testing the system's GUI of
the System. It involves testing the screens with GUI controls such as menus,
buttons, icons, and all types of bars - tool bar, menu bar, dialog boxes and windows
etc.

8.14 Usability Testing and its Justification

The usability testing is performed to check with how much ease and comfortable
the interface of the system can be used and how much the system is user friendly to
be used. It checks how much the system is usable or easy to use for different
category of users. Thus, it is done from the user’s point of view. Usability Testing
hence ensures that the users of the system can execute the system’s functionalities
easily, efficiently and effectively.Usability Testing is conducted by the end users to
measure the system on five components; learnability, efficiency, memorability,
errors and user satisfaction.

 Learnability: It measures how easy it is for end user to accomplish the


system’s functionalities or how much the system’s interface is easy to execute. For
example, proposed system has a user-friendly interface consisting of forms,
buttons and other interactive GUI controls that makes it easy to learn. Also hints in
the edit texts have been given for making it easier to use the system.

 Efficiency: It measures how fast system’s functionalities and tasks can be


executed. For example, the system is quite fast, directs the user from one activity to
other efficiently.

 Memorability:It measures how much the end user is able to memorize the
system and its functionalities when he/she accesses the system after a long period
of time. For example, the interactive interface and easy of using it makes it easy for
the user to memorize the functions of the system. Metaphors have been used to
enhance the memorability feature of the system.
 Errors:It measures how effectively the system can recover from errors. The
proposed system proposed system is not prone to errors; toast message is provided
wherever any error or exception is expected.

 User Satisfaction:It measures how much the user likes the system or
satisfied with the system. For example, achievement of the above-mentioned
components contributes towards user satisfaction, achieving learnability,
memorability, efficiency and removing errors achieve user satisfaction.

8.14.1User Acceptance Testing (UAT)

User Acceptance Testing is a software testing technique performed by keeping in


mind the view of the end-user towards the proposed system or the application
where the developer has to test the system to make sure that it satisfies the end user
and is acceptable by the end-user.

8.14.2Justification for User Acceptance Testing

The objective of UAT is to verify and map the requirements proposed in the
project specification form with the completed project’s features to make sure that it
is easily acceptable by the end-user.

User Acceptance Test It is performed when the developer has conducted various
other testing such as Unit Testing, Integration Testing, System Testing,
Compatibility Testing etc. The User acceptance test is conducted at the end to
enquire whether the developer has achieved the user satisfaction. Few individuals
were selected as the end-users (testers) for the system and their opinions were
collected as the result for User Acceptance Test.
8.16 Documentation testing

This testing is done to check the accuracy and completeness of document. All
important criteria must be satisfied and a well-presented document should be
published so that it meets the entire standard required by the project manager. The
completeness of Documentation was verified with the Final Year Project
documentation specification provided by the project manager.MS Word spell
check also helped to correct spellings as well as write grammar.

8.17 Conclusion

Testing allows developers to deliver software that meets expectations, prevents


unexpected results, and improves the long-term maintenance of the application.
Early testing is of vital importance if developer is trying to reduce costs, time loss
and rework, and trying to increase quality. Software Testing has helped the
developer to find out the bug or errors in the system ensure the productivity and
quality of the system, examine and execute code in various environments on
various platforms.

Depending upon the purpose of testing and the software requirements, the
appropriate methodologies are applied such as bottom up methodology for
integration testing. Various techniques of testing have been used at different levels
to test the system functionally as well as logically. To test the system functionally,
black box testing was conducted and to test the system logically, white box testing
was conducted.

Unit testing is the first phase in testing that tests the individual module of the
system, both functionally as well as logically. Test Cases have been produced to
test the functionality of the modules as well as the code flow of the modules to test
the bugs and errors if occurred and take further actions to remove them.

Integration testing, a logical extension of unit testing, is conducted when individual


modules have been tested and are to be integrated further so as to test them
whether they produce any issues or errors after integration. It is easy to perform
integration testing after unit testing has been conducted because it is useful in
identifying problems when units were combined. By using a test plan that required
the developer to test each unit and ensure the viability of each before combining
units, the developer knows that any errors discovered when combining units are
likely related to the interface between units.

After integration testing, system testing was conducted to discover the problems
encountered when all the units or modules were combined together to a system as a
whole and corresponding test case has been produced and documented.
Compatibility test was conducted for the system to check whether the system
developed built is compatible in an environment that consists of hardware,
network, software, database, operating system or some other software/ hardware or
some tool.

GUI Testing was performed to verify the design of the system; how much it is user
friendly and whether it satisfies the six HCIU design principles.

Usability and User Acceptance Testing were performed at the end by the end-users
of the system to obtain their views for the system, how much the system is usable
and if the system is such that it provides complete user satisfaction. System was
found to be usable; as it achieved learnability, efficiency, memorability, free from
errors and user satisfactory. User satisfaction was achieved making sure that the
system is now ready to be deployed.
Documentation Testing was performed finally to ensure the system is well
documented with proper level of English. 

CHAPTER 9: CRITICAL EVALUATION

9.1 Critical Evaluation

After completion of the project from the developer side, it’s time for critically
evaluating the project by mapping the project and its requirements with the
specifications given in the project specification form. Since the developer has
made an extensive research on the system’s functionalities, made a broad analysis
of the same. After research and analysis, developer has designed the system to set
the goals which were further implemented and then tested to recover any errors if
were present in the system so as to produce a bug free system. Now time has come
to critically evaluate the system that includes the complete assessment of the
system. The critical evaluation is not done module by module but whole system is
evaluated to determine the quality, significance and worth of the system.

9.2. Factors of Benefit (Usefulness of System to Target Audience)

The developed system renders much usefulness to the target users because the
system is able to solve the problems mentioned in the problem description section
of CHAPTER 2. The usefulness of the system was discussed in the tangible and
intangible benefits of section 1.7. Some of the usefulness and benefits are
recapitulated below:

Cost Efficient Benefits

 Since, the app targets to remove the limitations of a dedicated scanner or QR


Code reader and clunky PC. Thus, it will save ample amount of retailer’s money.

 The developer launched this app to be used free of cost and can be accessed
from anywhere and is readily available to its user. But this app would require little
bit Internet accessibility which would require little costing.

Mobility

 The entire POS has been molded to a mobile phone, thus users will get a
great advantage of mobility.

 The whole application will work on mobile for a user so user has a great
advantage of mobility while using application.
Increased Productivity

 The more number of user’swill book ticket easily, thus it will increase the
productivity in railway environment.

 By making the ticketing process faster and allowing direct book ticket the
system will save lot of time and will increase productivity.

9.3.1 Success Assessment

The success assessment consists of analyzing whether the output received matches
to what was proposed. It consists of comparing the project outcomes to the results
expected. The present project meets all the requirements mentioned in PSF

9.3.3 Critical Appraisal

The developer has tried to impose all the proposed functionalities into the
developed app. The proposed requirements have successfully been mapped into
real world system. Now, after the end of implementation and testing phase, a
security efficient app is ready to be deployed. There were many setbacks during
the development of system. The developer had to undergo many operability issues
of QR Code scanning. Rooting can hamper android phone’s regular functioning
and harm the processor and memory. There were server issues as developer cannot
work on heavy server as it would involve money and were very expensive and also
didn’t fit in for the level of project. The developer tried all his labor to complete
this module as proposed but due to some technical and software issues (refer
chapter 7) developer was not able to complete that. Developer has included the part
of the implementation he has done in the implementation phase and is now
working on the same subject as his research work. Apart from this, the functional
requirements, non-functional requirements like quality, usability, and user
interface, etc. is well achieved by the developer. Beside these, the project is tested
with various real time test cases to achieve a genuine result, evaluation, and
feedback. The System developed is working fine as proposed and is ready to
access.

its kind app which has been developed by the developer no such app is available
in market with such functionalities in a single app with such a versatility and user
friendly system with a high level of smart booking ticket.

CHAPTER 10: CONCLUSION

10.1 Success Criteria

The proposed system named “An RISE IN MOVIE TICKET Application” has
proved to be significantly useful for the end-user as it meets all the requirement of
the user as well as fulfils the entire criterion that judge the quality and success of
the system. The success for the proposed system is achieved as it has met the
success criteria and established what it was supposed to. The system has resolved
the issues that were discussed in the chapter 2 regarding the problems raised and
the solutions provided. The proposed system after evaluation has been found to
successfully guarantee the booking and checking at the real-time environment to
the end- user and hence has solved the problem what was expected.

10.2 Limitations and Errors in the Developed System:

 The project is strictly mobile based and all the features are for Android
based mobile only.

 For some of the features the mobile should have internet & GPS enabled.

 A user must login into the system for accessing all the features.

10.3 Future Enhancement

 The app can be improved in future by implementing personalization features


to allow users to personalize the app as per their requirements.

 The app can be implemented to provide the users with multi-language


support.

 The app can be enhanced in future with adding the money in his/her wallet
through paytm, freerechrge, mobikwik to perform transaction.

 The app can be enhanced to have a facility to see the ticket history after
selecting the particular dater from calendar.

 The application will be turned into a hybrid application, so it runs on


windows, iOS and all other OS.

10.4 What would have been done if given time to redo the project?
If the developer is provided a second chance to make this project then he would
certainly make this project a better one.

 Implement of all the features in mobile android app: If the developer gets a
chance then developer will implement all features in mobile.

 Connect with IRCTC server and Google Map: The developer would like to
connect with IRCTC server to show the all train list. Also, time and distance of
destination from the user’s location can be displayed on the map itself.

10.5 Computational Challenges

Using handlers, services and auto updating of data in a single activity was the main
computational challenge in the system as the developer had to do several things in
single activity like:

 Getting user’s real-time location via GPS device as getting GPS location
takes 5-10 seconds as the developer cannot be sure that in how much time he will
get the GPS location.

 Decoding QR Codeto perform retailing at the real-time environment was a


notch high in computational level since it involves performing computation at the
server side.

10.6 Learning Experience Gathered

 Learnt a lot from research work: In the preliminary stage of the project, the
developer was quite confused about what features to be included in the system. So,
the developer carried out secondary research by studying the research works of
various authors and pointing out what all mistakes they have done. It helped in
gathering intense knowledge about the subject domain and critically analysing
similar systems in terms of their features and drawbacks. Finally, the developer
conducted primary research to gather real time user requirements.

 Learned to manage stress and time: While working through the different
phases of SDLC, the developer played various roles as follows: analyser,
researcher, database and mobile app developer and tester. This gave the developer
the skill to manage both stress and time efficiently. The developer was able to
complete the project within the scheduled time period overcoming all stresses and
time constraints that came during the development phase.

 Gained technical expertise: The implementation of the system required not


only to apply learning outcomes achieved during academics but also a clear
understanding of various mobile technologies. It required studying various books
and articles to grab the concepts of android app development, various services,
MySQL database concepts, Web Services etc. It ultimately helped in widening the
technical knowledge and to gain a mastery over different languages and tools like
Java, XML, JSON, Android SDK etc.

 Had an experience of project management: The project gave a wonderful


experience and feeling of working as if in some corporate world. The developer
also played a vital role of a project manager by getting the completed-on time,
delivering a quality system, fulfilling user requirements, using fact finding
techniques to collect requirements. Divide and conquer approach was used to
divide the entire project into small tasks and completing them according to the
schedule prepared in the Gantt chart.

 How to resolve errors and learn from them: While implementing the
system, the developer encountered many errors and exceptions which were
corrected after applying various methods. This gave an understanding how to
debug and rectify errors using top down approach. Also, the developer came to
know how to find errors and fix them which is very unique skill needed to deliver
an error free system.

 Gained lot of confidence: Before implementing the system, the developer


was in a dilemma how to implement the complex modules of the system. But
gradually things became easier after doing research work in each phase of the
development which itself paved a pathway to plan the logic and flow of the entire
system. Although it required consistent and sincere effort, but the developer
became assure of one thing that ‘where there is a will, there is a way’. This
learning has motivated the developer to accept greater challenges by strongly
believing that to every problem there is a solution.

Last but not the least, this final year project gave a great learning and pleasant
experience of working on real time projects and created a deep interest in the
mobile application development field which will help in reaping benefits for
having a bright career in future.

10.6 Conclusion

 The documentation presents the proposed system’s report, how the system
went through various phases during its development. The developer started with
the background study of the system where he has inferred out the problems faced
by a user in today’s environment in context of booking ticket. The background
study phase is followed by the literature review which is a kind of research to
gather knowledge in the current area of study to develop a successful system.

 The developer has conducted both primary and secondary research. It is


concluded that to gather the desired information about the proposed system, the
developer had to go through various steps. Questionnaire and Interviews are the
data gathering techniques that have been used to identify the need of the target
people, the employees within an organization. Questionnaires have got filled by the
staffs/ employees while interviews have been conducted by the administrators and
the highly-authorized persons.

 The analysis of the questionnaire and interviews and focus groups have
helped the developer to have a complete knowledge and understanding of the
security measures of an organization as the users were taken from different
industrial sectors. Also, the technical knowledge has been gained by taking the
interview from the software developers and software designers. Their opinions
have been evaluated to get an in-depth knowledge of the technologies and the
databases on the basis of which the developer has decided to use Android
technology and MySQL as databases. In this way, the research part for the
proposed project has been completed.

 The developer then continues with the system design part in which the
system design is prepared that includes the logical and physical designs of the
system that further categorizes to UML diagrams, Physical designs of the system,
entity relationship diagram etc.

 Then comes the implementation phase that covers the implementation


approach to be followed by the developer to implement various modules of the
system starting with a module that has lower priority and moving towards the
higher priority modules. Other than that, a user manual as well as technical manual
is provided that guides the user about the flow of the system and how to use the
system and installation instruction respectively.
Then various types of testing have been conducted to test the system and its
various modules by conducting unit test, integration test, system test and many
more.

At last the final project is critically evaluated to come to a conclusion, how the
system can benefit its end-users and how much the project is successful from the
user’s point of view.

CHAPTER11: REFERENCES

11.1 Books
1. “Software Engineering- A practitioner’s approach (7th edition,2010)” by
Roger S. Pressman.

2. P.Jalote ,An integrated approach to software engineering , Narosa Publishing


house ,Ed. 3,2011

3. https://www.guru99.com (Incremental Model)

4. IEEE Software Engineering Standards committee, (IEEE recommended


practice for software requirement specification ", 2011).

5. Khan R.A. & Mustafa K. (2007) Planning for Software Testing. Software
Testing Concepts and Practices. New Delhi: Narosha Publishing House Pvt. Ltd.

11.2 Journals

 Android Application For Ticket Booking And Ticket Checking In


Railways". Indian Journal of Science and Technology 8(S2).2 (2015): 171-178.
Print.

 kharwade1,gujarkar2,Sharma3,Holey4,Datey5,Gupta6,
Pranjali ,Isha ,Vidhi,Shweta,Vaibhavi,Vivek. "Smartphone Application For Ticket
Reservation And Validation Using Mobile Network". International Journal of
Emerging Technology and Advanced Engineeri 4.10 (2016): 325,326. Print.

 "Android Application Generating Qr Code As Railway Ticket". International


Journal of Engineering Research & Technology 3.1 (2014): 3391,3392,3394. Print.

APPENDIX
Analysis of Questionnaire

Analysis of Interview

Gantt chart

Log Sheets

You might also like