[go: up one dir, main page]

0% found this document useful (0 votes)
538 views103 pages

Sarthak

This document is a project report for a Java-based book selling application. It was submitted by Sarthak Sarangle to fulfill the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The project aims to design an Android application that allows users to easily buy and read books without having to go to physical bookstores. Key features of the application include searching for books, different book genres, offline reading capability, buying books, and admin login. The objectives are to provide an improved user experience for buying e-books at affordable prices and consolidating different book types on a single platform.

Uploaded by

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

Sarthak

This document is a project report for a Java-based book selling application. It was submitted by Sarthak Sarangle to fulfill the requirements for a Bachelor of Technology degree in Computer Science and Engineering. The project aims to design an Android application that allows users to easily buy and read books without having to go to physical bookstores. Key features of the application include searching for books, different book genres, offline reading capability, buying books, and admin login. The objectives are to provide an improved user experience for buying e-books at affordable prices and consolidating different book types on a single platform.

Uploaded by

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

A Project Report

JAVA BASED BOOK SELLING APPLICATION

Submitted in partial fulfillment of the requirements


for the award of the degree of

Bachelor of Technology
in
Computer Science & Engineering

Submitted By
Sarthak Sarangle (2819100)

Under the Supervision of


MS. Mani Singh
Asst. Prof. (PIET)

Panipat Institute of Engineering & Technology, Samalkha, Panipat


Affiliated to

Kurukshetra University Kurukshetra, India


(2021-2022)
CANDIDATE’S DECLARATION:

We hereby declare that the work presented in this training report entitled
“JAVA BASED BOOK SELLING APPLICATION”, submitted in partial fulfillment of
the requirement for the award of the degree of Bachelor of Technology in COMPUTER
SCIENCE ENGINEERING, submitted to Panipat Institute of Engineering &
Technology, Kurukshetra University, Kurukshetra, India is an authentic record of my
own work carried out during the period from Jan 2022 to June 2022 under the guidance of
Ms. Mani Singh .

The work reported in this project report has not been submitted by me for the award of any
other degree or diploma.

Signature :
Name :Sarthak Sarangle
Roll No. :2819100
Place: PIET, Samalkha
Certificate

This is to certify that the Project -I report (PROJ-CSE-302A) entitled “JAVA BASED BOOK SELLING
APPLICATION” done by 2819100 /Sarthak Sarangle is an authentic work carried out by us at PIET
Samalkha ,Panipat under my guidance. The matter embodied in this project work has not been submitted
earlier for the award of any degree or diploma to the best of my knowledge and belief.

Ms Mani Singh Mr. Gaurav Gambhir


Mr. Jitender Kumar
(Project Guide)
(Project Coordinators)
Acknowledgement

It is my pleasure to be indebted to various people, who directly or indirectly contributed in


the development of this work and who influenced my thinking, behavior, and acts during
the course of study.
I offer our special thanks to our Project guide Ms. Mani Singh, Assistant Professor, P.I.E.T,
without his help and support throughout this project would not have been this success. I am
thankful for his support, cooperation, and motivation provided to me during the training for
constant inspiration, presence and blessings.

We also extend our sincere appreciation to Mr. Gaurav Gambhir who provided his valuable
suggesstions and precious time in accomplishment of the project report. Lastly I would like
to thank the almighty and our parents for the moral support and my friends with whom I
shared my day to day experience and received a lot of suggestions that improved my quality
of work.

Name: Sarthak Sarangle


Roll no. :2819100
ABSTRACT
Now a days, the network plays an import role in people’s life. In the process of the improvement of the people’s
living standard, people’s demands of the life’s quality and efficiency is higher, the traditional bookstore’s
inconvenience gradually emerge, and the book store App has gradually be used in public. The book store App
is a revolution of book industry. The traditional bookstores’ operation time, address and space is limited, so the
types of books and books to find received a degree of restriction. But the book store App broke the management
mode of traditional bookstore, as long as you have a computer, you can buy the book anywhere, saving time
and effort, shortening the time of book selection link effectively. Android was choosing because the platform
makes it more compact and reachable as market share of the android is approx. 71.59%.
CHAPTER 1: INTRODUCTION
1.1 Topic of the System
Title: - “JAVA BASED BOOK SELLING APPLICATION”

1.2 Project Abstract


The system “JAVA BASED BOOK SELLING APPLICATION” is an This System is an android based
application that will enable users to buy books from our app and can save it for reading it offline .
Our E-Book Application allows user to download or read any book at the convenience of his home or
anywhere. There is no time restriction that whenever one wants to go on our app and use it also there is a
return option if someone wants to return his book then he can do so.
1.3 Purpose of the System
• Providing E-books at a cost-effective price with good user experience.
• Users can buy books so they can read it in printed form .
• Books are a great way of relieving stress that many people nowadays suffer due to work .
• They can calm you mind and help you to sleep as some people struggle to have a good sleep
at night .
• Our Android application collab all types of book on one platform .
• User can register, login, read the books, download books to read offline, share books via social
media apps, rate them and search them
1.4 .Target User
This App is made for all the students , professionals or any person who wants to read books of their interest or
of their course curriculum and can even buy them and purchasing it .
1.5 Topic Background
Now a days, the network plays an import role in people’s life. In the process of the improvement of the people’s
living standard, people’s demands of the life’s quality and efficiency is higher, the traditional bookstore’s
inconvenience gradually emerge, and the book store App has gradually be used in public. The book store App
is a revolution of book industry. The traditional bookstores’ operation time, address and space is limited, so the
types of books and books to find received a degree of restriction. But the book store App broke the management
mode of traditional bookstore, as long as you have a computer, you can buy the book anywhere, saving time
and effort, shortening the time of book selection link effectively. Android was choosing because the platform
makes it more compact and reachable as market share of the android is approx. 71.59%.
1.6 Problem Context
The book shops that used to sell books are limited to the no. of books it can have and the no. of people
that can buy and read it , the types of books and the space that the store has . There is a degree of
restriction in this , but the book store app broke the management mode of traditional bookstore , as long as
you have the computer , you can buy the book anywhere ,saving time and effort ,it reduces the time of
book selection drastically .
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
Functionality Discription
Search Users can search the book they want to buy
or read .
Genres Our app provides various categories and
genres of books.
Offline read Users can read their book in offline mode .
Buy Users can buy their book and read it in
printed form .
Admin login Admin login page with all the access .
Your orders Users can preview their orders before buying
it .
Checkout This feature enables users to check out their
order so they can buy it .

 Intangible Benefits

• Providing E-books at a cost-effective price with good user experience.


• Users can buy books so they can read it in printed form .
• Books are a great way of relieving stress that many people nowadays suffer due to work .
• They can calm you mind and help you to sleep as some people struggle to have a good sleep at night
.
• Our Android application collab all types of book on one platform .
• User can register, login, read the books, download books to read offline, share books via social media
apps, rate them and search them .
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 allow users to buy books easily without going out and
without wasting much time .The user can also read the book by downloading it in our app in online mode.

1.8.2 Learning Objectives


The proposed system will allow the developer to attain relevant knowledge and concepts in specializing
webbased 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 computing concepts is to increase preferred output with user satisfaction within less effort and time to
encounter an easy solution for the coin tracking and portfolio management.

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

 Gaining knowledge android development and database management.


 Learning the concepts of Services such as Google API , firebase.
 Understanding HCIU- Design guidelines and principles to ensure system being developed will be
usability and quality product.
 Understanding of firebase and its actual implementation.
 Better understanding of project management concepts i.e., scheduling, budgeting, cost estimation, work
break down structure, Gantt chart etc.
 Learning queries for updating data from the mobile to server.
 Learning and Practices of Gradle Build.
 Learning and Practices of Firebase and Google API.
1.9 Scope of the System
• The app will be more interactive as more books and categories will be introduced.

• We will also bring sponsors on our platform for financial and strategical support.
• We will get in touch directly with publishers.

• In upcoming phase’s magazine, newsletters and comics will also be introduced


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:

➨E-books require power source that is battery. So if battery is not charged or power source is not available,
reader is deprived of access of e-books.

➨Files can not downloaded if appropriate software is not installed on e-book devices.

➨ Technologies are evolving and E-books are required to be upgraded accordingly so failing so, will lead to
risk of losing saved files or books and formatting of documents.

➨ Notifications on the e-books distract the readers. This is observed more in phone or tablet.

➨There are health issues while reading during night time mostly on tablets and with backlit e-readers. It can
cause sleep deficiency, eye strain and/or damage health.

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:

 Users need to have basic knowledge of using android phones


 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 good internet connection

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 led to
development of such an application.
 Application is properly working and compatible with mentioned OS. Application will be useless if it is
unable to run properly on the physical device. There should not be any anomalous or false functioning
during its working on physical device.
 System meets all requirements of the proposed solution. If the application provides desired operations
and produces expected output i.e., if it is meeting user requirements, passing of above test cases.
Application must fulfil the core as well as enhanced system requirements mentioned above.
 Project will be treated as constructive if it is proper evaluation of Usability & HCI. 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 know them one by
one and use of this functionality in this system.

1.13.1 Core Features

Functionality Discription
Search Users can search the book they want to buy
or read .
Genres Our app provides various categories and
genres of books.
Offline read Users can read their book in offline mode .
Buy Users can buy their book and read it in
printed form .
Admin login Admin login page with all the access .
Your orders Users can preview their orders before buying
it .
Checkout This feature enables users to check out their
order so they can buy it .

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


• Cost Effective :The cost of a book that a person buys from a normal shop is quiet high .

• Lack of Time : The user has to go to the shop which takes time so it lacks flexibility.
• Lack of categories :The shop that sell books doesn’t always have the category of book the user wants.
• Lack of flexibility : The person has to carry the book with him in physical form that takes space.
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:
• Cost Effective :The cost of a book that a person buys from a normal shop is quiet high .

• Lack of Time : The user has to go to the shop which takes time so it lacks flexibility.
• Lack of categories :The shop that sell books doesn’t always have the category of book the user wants.
• Lack of flexibility : The person has to carry the book with him in physical form that takes space.

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:

• Cost Effective :The cost of a book that a person buys from a normal shop is quiet high .Our Android
Application will allow the user to buy books at a very affordable price.

• Lack of Time : The user has to go to the shop which takes time so it lacks flexibility. Our Application
will allow user to buy books on our app anytime and read it whenever he or she wants.

• Lack of categories :The shop that sell books doesn’t always have the category of book the user wants.
Our application will provide many categories of books that user can choose from.
• Lack of flexibility : The person has to carry the book with him in physical form that takes space. The
user can read the book of his choice anywhere and anytime from our application.
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:

 API Connection: Searching for the right API is very important as all data is fetched using the API
 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.
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 windows 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
Studio for successful development of this project.
 Importing books : It is a quite challenge to understand how to import that many books with its own
pdfs in one application .
 Integrating Various Modules in one Application: It will be quite challenging to integrate various
modules such as Admin Panel, Database Integration, Save Image and many more at a single place.
 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 the users 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.
2.5 Feasibility Study
Feasibility study is an analysis and evaluation of a proposed project to determine if it is feasible technical,
economically, timely and operationally. Feasibility study for the project is conducted to analyze whether the
proposed project is possible/ feasible to be developed within scheduled time, available resources, within
estimated budget. After feasibility study is done, it is evaluated whether to proceed with the project 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
Technical feasibility is conducted to verify whether the project is feasible to be developed within the available
resources or not. The technical feasible takes into account the technical requirements for the project, the
technical resources required by the project for its successful and efficient completion. The specific technical
resources to be available for completing the project successfully are given below: Hardware Resources
S. No. 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.
Table 1: Hardware Resources
Software Resources
S. No. Software Resources
1. Android Studio
2. Gradle Build
3. Google – API
4. Database Technology –Firebase
5. Operating System (PC) - Windows 7 or later
6. Operating System (Mobile Phone) – Android OS
7. Documentation and Presentation tool - Microsoft Office
Table 2: Software Resources
Resources of Execution
S. No. Resources for Execution
1. Operating system - Android 4.0 and later
2. Android Smartphone , 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
Table 3: Resources for Execution
2.5.2 Economic Feasibility
The main purpose of conducting economic feasibility is to identify the financial benefits and costs associated
with the project development. As for any system if the estimated benefits equal or surpasses the expected costs
that is calculated for the system then the project would be economically feasible. Since the proposed system
programming environment is based on android which is an open-source platform, so there is less of investment
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.

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 cryptocurrency
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

3.1 Introduction to 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 when he was in need of a book for his studying purpose .He tried to
find the book in different stores and stationaries but he wasn’t able able to find one and if he did the price was
too high. Our Android Application that we have developed has numerous books and is easy to use and portable
.The user can find any book of his interest just on one application .Also with minimal price everyone is able to
afford the books one wants to buy.

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 e- book 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 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 application
3.3.2 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.3 Project Management Principles
Project management techniques will be aforethought for the system like scheduling, feasibility, risk analysis to
complete the development smoothly.

The books, journals and online articles referred for doing academic research are as follows:

 Books
Topic Book Referred
Pressman, R. (2005). Software Engineering: A Practitioner's
Software Development Approach. 5th ed. Boston, Mass.: McGraw-Hill. Shelly
Life Cycle Cashman (2002). System Analysis and design,2nd Ed., Shelly
Cashman Series, Sydney.
Valacich, J., George, J. and Hoffer, J. (2001). Essentials of
systems analysis and design. Upper Saddle River, N.J.:
Prentice Hall.
Kendall and Kendall (2005); System Analysis and Design,4th Ed,
New York: Prentice Hall.

Android development Android Programming :A big nerd ranch guide


Android app development for dummies by Michael Burtor
Learn Java for Android Development by Geoff Friesen
Human Computer Dix, A., Finlay, J., Abowd, G. and Beale, R. (2004). Human
Interaction Principles computer interaction. Harlow, England:
Pearson/Prentice-Hall.
Human Computer Interaction- Alend Dix, Janet Finlay, Gregory
D. Abowd, Russell Beale
Table 4:Books References for Academic Research
 Journals
Topic Journals Referred
Book Selling Cavanagh, J. (2004). Alternatives to economic globalization: A
better world is possible. BerrettKoehler Publishers.
Application
Hirst, P., & Thompson, G. (2001). Globalisasi adalah Mitos:
Sebuah Kesangsian terhadap Konsep Globalisasi Ekonomi Dunia
dan Kemungkinan Aturan Mainnya. Yayasan Pustaka Obor
Indonesia.

Fery Mulyanto. 2015. “Pemanfaatan Cryptocurrency Sebagai


Penerapan Mata Uang Rupiah Kedalam Bentuk Digital
Menggunakan Teknologi Bitcoin”. Indonesian Journal on
Networking and Security Vol. 4 No. 4.Bandung : Universitas
Pasundan Bandung, hlm. 19.

Hayes, A. S. (2017). Cryptocurrency value formation: An


empirical study leading to a cost of production model for valuing
bitcoin. Telematics and Informatics, 34(7), 1308-1321.

Frankel, J. A., & Rose, A. K. (1998). The endogenity of the


optimum currency area criteria. The Economic Journal, 108(449),
1009-1025.

Chaum, D. L. (1982). Computer Systems established, maintained


and trusted by mutually suspicious groups (Doctoral dissertation,
University of California, Berkeley).

Nakamoto, S. (2009). Bitcoin open source implementation of P2P


currency. P2P foundation, 18.

Peter Mahmud Marzuki. 2011. Penelitian Hukum. Jakarta:


Prenada Media Group, hlm. 35
Table 5:Journals References for Academic Research
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 Android Development.

The application’s domain area is focused on Android application. To have a deep knowledge of user
requirements and important aspects of the system, researcher has to implement the technology to reduce
problems.
3.4.1 Gradle Build :

Gradle is a build automation tool known for its flexibility to build software. A build automation tool is used
to automate the creation of applications. The building process includes compiling, linking, and packaging the
code. The process becomes more consistent with the help of build automation tools.

It is popular for its ability to build automation in languages like Java, Scala, Android, C/C++, and Groovy. The
tool supports groovy based Domain Specific Language over XML. Gradle provides building, testing, and
deploying software on several platforms.

The tool is popular for building any software and large projects. Gradle includes the pros of Ant and
Maven and curbs the cons of both.

Why is Gradle Used?

Some of the chief reasons to use Gradle are:

• Gradle resolves all the issues faced on other build tools like Maven and ANT.

• The tool focuses on maintainability, usability, extendibility, performance, and flexibility.

• It is well-known to be highly customizable when it comes to different projects dealing with various
technologies. We may use Gradle in several ways, like Java projects, Android projects, and Groovy
projects.

• Gradle is popular to provide high-speed performance, nearly twice as fast as Maven.

• The tools support a wide variety of IDE's, which provide a better user experience, as different people
prefer working on a different IDE. It provides the users that like to work on the terminal with the
command-line interface, which offers features like Gradle tasks, Command line completion, etc.

Gradle Core Concepts

Projects
A project represents a thing that is to be done, like deploying applications to staging environments. A Gradle
project requires a set of tasks to execute.

Tasks

A task refers to a piece of work performed by a build. It might be something as simple as compiling classes,
creating JAR files, making Javadoc, or publishing some archives.

Build Scripts

A build script is known as build.gradle and is located in the root directory of the project. Every Gradle build
comprises one or more projects.

Features of Gradle

High Performance

Gradle quickly finishes the task by considering the outputs from the previous executions. The jobs whose
inputs are changed are the only ones that are executed. This helps in avoiding unnecessary tasks and yields
higher performance.

Provides Support

Known to provide support, we use Gradle for ANT build projects. Tasks can be imported from ANT build
projects and can be reused in Gradle.
Gradle also supports Maven repositories that are made to publish and fetch dependencies of the project.

Multi-Project Build Software

Gradle ensures magnificent support for multi-project builds. These projects can contain a root project and any
number of subprojects.
Gradle supports partial builds, which states that the tool will determine if a project on which our project
depends, needs any kind of rebuilding. In case the project needs rebuilding, Gradle will do that before
building any further projects.

Incremental Builds

Gradle provides an incremental build that states it executes the tasks that are only necessary. If we run any
source code, Gradle first checks if that source code has gone through any previous execution. If the code has
some changes, it will then be executed, but if there are no changes, then it will skip the execution of that
code.

Build Scans

We relate the term build scans to providing information about build run used to identify any build issues.
They are concerned with any problems with the build's performance, and these scans are extremely worthy
especially for fixing an issue with the build.

Familiarity with Java

To run Gradle, a JVM is necessary, so the machine being used should contain the Java Development Kit
(JDK). The tool is well-familiarized with Java features, and we can use standard Java APIs while building
plugins and custom talks. This makes it easy for Gradle to run on several different platforms.

Demos in Gradle

Here in this article, we will explore three different demos:

1. Gradle Installation

2. Java project in Gradle

3. Gradle Project in Eclipse

All of these three demos may be easily found in this video on Gradle Tutorial.
Gradle Example

Let us run a Gradle build using the “gradle” command. This command is used to look for a build.gradle file in
the current directory. We call this build.gradle file a build script which defines a project and its tasks.

Now, let’s create a build script named build.gradle.

Move to the containing directory in a command-line shell, and execute the build script with gradle -q hello.

We have now defined a single task, “hello” with an action (a block containing some code to execute) on it.
When you run the gradle -q hello, Gradle will execute the hello task, which will in turn execute the action
associated with it.
3.4.2 Google Firebase :

Google Firebase is a Google-backed application development software that enables developers to


develop iOS, Android and Web apps. Firebase provides tools for tracking analytics, reporting and
fixing app crashes, creating marketing and product experiment.

Firebase offers a number of services, including:

• Analytics – Google Analytics for Firebase offers free, unlimited reporting on as many as
500 separate events. Analytics presents data about user behavior in iOS and Android
apps, enabling better decision-making about improving performance and app marketing.

• Authentication – Firebase Authentication makes it easy for developers to build secure


authentication systems and enhances the sign-in and onboarding experience for users.

This feature offers a complete identity solution, supporting email and password accounts,
phone auth, as well as Google, Facebook, GitHub, Twitter login and more.

• Cloud messaging – Firebase Cloud Messaging (FCM) is a cross-platform messaging tool


that lets companies reliably receive and deliver messages on iOS, Android and the web
at no cost.

• Realtime database – the Firebase Realtime Database is a cloud-hosted NoSQL


database that enables data to be stored and synced between users in real time. The
data is synced across all clients in real time and is still available when an app goes
offline.

• Crashlytics – Firebase Crashlytics is a real-time crash reporter that helps developers


track, prioritize and fix stability issues that reduce the quality of their apps. With
crashlytics, developers spend less time organizing and troubleshooting crashes and
more time building features for their apps.
• Performance – Firebase Performance Monitoring service gives developers insight into
the performance characteristics of their iOS and Android apps to help them determine
where and when the performance of their apps can be improved.

• Test lab – Firebase Test Lab is a cloud-based app-testing infrastructure. With one
operation, developers can test their iOS or Android apps across a variety of devices and
device configurations. They can see the results, including videos, screenshots and logs,
in the Firebase console.

3.4.3 Security and Permissions


In the web app, users can have a secure access to their respective accounts by logging .

3.5 Critical Evaluation of Literature Review


The development of the proposed web app for user is researched upon so as to come to the conclusion
what all features are required to make the web app quite interactive. The literature review creates the
groundwork to carry out further research giving an idea about the proposed system. The systems similar
to the proposed system have been researched upon to create a base line for the system; what problems
the developer can face, what are the features that cannot be implemented at all.

While reviewing the literature, domain, technical and academic research have been carried out to get
the in-depth knowledge of the features to be implemented in the proposed system and to explore the
technology to be used in implementing the system. Therefore, secondary research is done under
literature review by studying other’s work which will guide the developer towards developing the
proposed system.

3.6 Critical Evaluation of Market Review


In this part, research is done on the similar web apps available in the market. After comparing the
existing systems, there are no such systems .There are few or no such web apps available in the market
that are similar to the proposed system. The app to be developed provides such type of functionality
that is required for each and every user to know about Android Development. The research conducted
results in the need to features like offline read,search, buy books of different generes .While
developing the proposed web app, the developer can utilize the information provided by the similar
apps and also can integrate own new ideas into the existing ideas. Since the similar apps have proven
to be very effective in real world, and the entire research provides support to the developer for better
understanding in creating the whole app, the proposed app thus will be efficient in enhancing the retail
environment .

3.7 Critical Success Factor


The offline read,search, buy books of different generes features will be providing to its users are the
critical functionalities of this project. The developer needs to complete all the features identified during
the literature review; secondary research that are to be implemented in order to deliver an efficient system
to the end-user.

3.8 Conclusion
Chapter 3 includes review the literature of the past to establish a baseline for the proposed project. Under
literature review, existing systems have been studied to gather knowledge in the area of the study; what features
are new in the market and what all features the developer can integrate into his new system. The chapter also
includes the information and resources that are a part of the literature review and are studies or will be studied
in future to collect the data and information about the area of study.
CHAPTER 4: RESEARCH METHODS

4.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.1 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, users are the actual user of 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.

Questionnaire for Customer


QUESTIONNAIRE
A STUDY TO ANALYZE HOW TO ENHANCE THE BOOK SELLING APPLICATION MADE

Respected Sir/Mam,

First of all, we thank you for being a part of our survey. This survey asks about your experiences of using
the conversion scale.
The researcher is a final year student of Panipat Institute of Engineering and Technology, Panipat
pursuing B Tech in the stream of Computer Science. For primary research work and gathering data is
done via survey for final year project. Researcher is requesting you to spare a few minutes to go
through the questions and help us to complete this survey by filling these questions below. Questions
have been carefully designed by following all the ethical guidelines for the research work of the
Kurukshetra University. The title of the project is “Java Based Book Selling Application”. The
purpose of this survey is to find out the problems faced by the user while answering any query related
to ancient measures and its awareness and how to overcome this problem.

This survey will help the developer to know the various preferences of the user and to modify the
currently available system. The results of this evaluation will be very useful in getting necessary details
for developing the system.

Instruction

This questionnaire sections will help the researcher to estimate about the project research deliverables. It is
important that you answer all applicable questions thoroughly.

Section A: - This section is optional and comprises of your personal and professional details.

Section B: - Check the most suitable options from the questions below, you may check more than one option
based on the requirements.

Section C: - Feel free to share your views/ suggestions and help researcher to understand the basic
requirements.

Disclaimer
Your response to this survey or any particular question is completely confidential. Your identity will not be
revealed and the data here obtained will only be used for statistical purposes only.

SECTION A

Age

Gender

Profession _

Qualification _

SECTION B

Question 1 Do you own any mobile device?

Justification This question will help the researcher to analyze the availability of mobile
devices amongst the target audience so that the researcher can analyze the target
audience app with an ease.

If yes, then

Question 2 Which type of operating system your mobile device has?

Windows  iOS Android

Justification The above question will help researcher to analyze the cross-platform working of
the web app.

Question 3 Which type of browser do you use?

Google Chrome Safari Mozilla Firefox

Justification The analysis of above question will help researcher to analyze the compatibility
and responsiveness issues related to the web app.
Question 4 How many E-Book plateforms are you aware of?

 Few Almost all


 None All

Justification This question will help researcher to know the number of users who are aware
about cryptocurrencies.

Question 5 Do you use any E-book Application ?

Yes No

Justification This question will help researcher to know more about the percentage of users
trading crypto. It gives an idea to the developer about the need of developing
the current system.

Question 6 If your response is yes, reason you preferred this?

Easy to understand Gives good return


Better than stock market Good Investment

Justification This question will help researcher to know why the user’s trades or invest in
crypto.

Question 7 Do you prefer physical books or E -Books ?

 physical books  E -Books


Justification This question will help researcher to know about how many users will going to
use this webapp

Question 8 Have you heard about any E- Book Application ?

If yes, please specify: …………………………

Justification This question will help researcher to know about the number of people who
think this system should be implemented or not.
Question 9 Do you think having a portfolio is beneficial?

Justification This question will let the researcher to know whether people really want to have
portfolio option added in the webapp.

Question 10 Do you agree that this system needs to be developed?

Justification This will give the idea to the developer whether the development of the proposed
system is beneficial or not.

Question 11 Do you think that this app will be used by many users and will be helpful?

Justification This question will help researcher to know about the mass of target audience
using this app and if it will be beneficial.

Table 19: Questionnaire for Customer

SECTION C

Additional Requirement:
_ _
_
_ _
_
Any Suggestion:
_
_
_ _
_

Thank you for your cooperation and for providing the valuable information. Your concern and your
help are highly appreciated. Please ensure once, whether you answered every question in the
questionnaire or not. After fully completion of the questionnaire kindly deposit or submit this
questionnaire to the researcher.

4.1.2 Interview
Interview is a type of primary research method in which a set of questions are pre-planned and are
asked to the interviewee face to face. The questions are generally open ended. It is designed to
assemble detailed information about a topic. For the proposed system, those questions are asked in the
interviews whose answers require bit detail description to understand the requirement. The interviewees
for the proposed system is developer. The purpose was to get an exclusive view of the users to gather
maximum information about the system requirements.

Justification for Conducting Interview


The reason for choosing interview as a primary research method is as follows:

 It provides first-hand information, so there are more chances of getting actual facts and quality rich
data, new insights and conclusions.
 It will help in gathering detailed information about the functionalities of the proposed system as it is
best for investigating problems.

 Apart from what they say, a person’s feelings, thoughts, gestures can be noticed which can enable the
interviewer to confirm that what they discuss is right or wrong. Interview Questions for Developers
1. Do you think such a system should be implemented and why?
_
_
_

Justification: This will help the developer to know the mindset of the user whether the user
wants to run with the technology or just want to remain where he/she is. If the user replies
with a yes, then most of the questions marked by him/her will be valuable.
2. Do you think that this system will be going to help you? If yes, please specify how?
_

Justification: This question will explain how this system is going to be useful for you so that
it is clear how it will helpful.
3. What are the probable problems that can come during the development phase of the
application?
_

_
Justification: The developer wants to know if there are any probable chances of errors or
mishaps that could come in the way of development. If there are any technology, chances
that has currently occurred which could hamper the ongoing development procedures.

4. Are there any existing systems like that? If yes, which?

__
_
_
_ _
Justification: Its response will help to learn whether there are any existing systems and how
developer can learn from it.

5. Have there been any problems with the existing software? If yes, describe problems?

__
_
_
_
_

Justification: Its response will help to understand the problems faced by the retailers in the
existing software, so that those problems can be eliminated in the proposed system.
Table 21: Interview Question for Developer

4.2 Secondary Research


Secondary research is usually conducted prior to primary research. Its 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 s 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.

Google Firebase :

Google Firebase is a Google-backed application development software that enables developers to


develop iOS, Android and Web apps. Firebase provides tools for tracking analytics, reporting and
fixing app crashes, creating marketing and product experiment.

Some Reasons to use Google Firebase :

Now, let’s analyze the various benefits that Firebase offers to the app development to make their
app development journey simpler:

1. Real-time Database Helps to Store and Synchronize Data

The cloud-hosted NoSQL database is offered by Firebase real-time database that helps you store
and synchronize data between the clients. This indeed makes it easier for the developers to access
the data using any of the devices and helps developing collaborative feature.

Another advantage of a real-time database for the developers is that they do not need the support
of backend to build apps as it comes with SDKs for various platforms, including Android, iOS and
Web.

It assists in the execution of backend code responding to events activated by databases.


Furthermore, it is optimized for offline use too.

2. Firebase has Become Smarter with Google Analytics


Now you can easily track down your user’s journey on a number of devices. It means you would
know whether he is using a smartphone, tablet or laptop.

You can also export your mobile app data to BigQuery with the help of Google Analytics. It can
further support in engaging more users once you match the UX based on user id.

3. Firebase Offers Facility of Crash Reporting to Fix Bugs Quickly

It has often been seen that a lot of apps suffer due to bug issues, which tends to slow down
navigation speed and users opt out of it. The result is that rating of the app also declines.

However, you have to credit Firebase as now it is offering the facility of crash reporting to fix the
bugs at the quicker pace and with ease. The app developers and QA testers can identify the
problems in the stages, whether it is the app version, the device or the OS.

The Firebase SDK provides log crashes that ultimately save much time as you don’t have to find
the cause of the problem. The coding database is available for both native and cross-platform apps.

4. Fast and Secured Web Hosting

The benefit of Firebase Hosting allows you to set-up a single-page, a mobile landing page, web
page or progressive web page with ease. It also helps to deliver the content rapidly anywhere.

The developers can deploy the web apps as well as static content at CDN (Content Delivery
Network).

The Firebase hosting also automatically configures the free SSN certificate for custom domains.
You can now deploy a local directory to the web with just a single command.

5. Firebase Authentication

Nowadays, most of the apps have the login facility and the developer aims to simplify and secure it
better. Therefore, the support of Firebase Authentication is there to do that task with an easy signin
process.

Some of the chief reasons to use Gradle are:

• Gradle resolves all the issues faced on other build tools like Maven and ANT.

• The tool focuses on maintainability, usability, extendibility, performance, and flexibility.

• It is well-known to be highly customizable when it comes to different projects dealing with various
technologies. We may use Gradle in several ways, like Java projects, Android projects, and Groovy
projects.
• Gradle is popular to provide high-speed performance, nearly twice as fast as Maven.

• The tools support a wide variety of IDE's, which provide a better user experience, as different people
prefer working on a different IDE. It provides the users that like to work on the terminal with the
command-line interface, which offers features like Gradle tasks, Command line completion, etc.

Gradle Core Concepts :

• Projects

A project represents a thing that is to be done, like deploying applications to staging environments. A Gradle
project requires a set of tasks to execute.

 Tasks

A task refers to a piece of work performed by a build. It might be something as simple as compiling classes,
creating JAR files, making Javadoc, or publishing some archives.

 Build Scripts

A build script is known as build.gradle and is located in the root directory of the project. Every Gradle build
comprises one or more projects.

Features of Gradle

 High Performance

Gradle quickly finishes the task by considering the outputs from the previous executions. The jobs whose
inputs are changed are the only ones that are executed. This helps in avoiding unnecessary tasks and yields
higher performance.
 Provides Support

Known to provide support, we use Gradle for ANT build projects. Tasks can be imported from ANT build
projects and can be reused in Gradle.

Gradle also supports Maven repositories that are made to publish and fetch dependencies of the project.

 Multi-Project Build Software

Gradle ensures magnificent support for multi-project builds. These projects can contain a root project and any
number of subprojects.

Gradle supports partial builds, which states that the tool will determine if a project on which our project
depends, needs any kind of rebuilding. In case the project needs rebuilding, Gradle will do that before
building any further projects.

 Incremental Builds

Gradle provides an incremental build that states it executes the tasks that are only necessary. If we run any
source code, Gradle first checks if that source code has gone through any previous execution. If the code has
some changes, it will then be executed, but if there are no changes, then it will skip the execution of that code.

 Build Scans

We relate the term build scans to providing information about build run used to identify any build issues.
They are concerned with any problems with the build's performance, and these scans are extremely worthy
especially for fixing an issue with the build.

 Familiarity with Java

To run Gradle, a JVM is necessary, so the machine being used should contain the Java Development Kit

(JDK). The tool is well-familiarized with Java features, and we can use standard Java APIs while building
plugins and custom talks. This makes it easy for Gradle to run on several different platforms.  Demos in

Gradle

Here in this article, we will explore three different demos:

4. Gradle Installation

5. Java project in Gradle

6. Gradle Project in Eclipse

4.2.2 Development Methodology


Development Methodology is the way of showing the software in different phases and how the system and
software will work thoroughly all this comes under development methodology.

Our application Model comprises of the different phases which work to show how a system or software runs.

Application Development Methodology


Using Android Studio first we fixed the design for the app and what will be the layout for every page that we
are going to integrate in the app, all the features that we are going to provide to the user in the app and after
completing the code testing of the application is done.
Fig4.1 Flowchart of Registration for User Login

The User has to login first to access the application and if user don’t have any existed account, then the user
has to register first to login in the application.

For user login the app is divided into 2 modules where in first module the user has to register himself as new
user and in the second module if user is already registered then he can easily login in the application.
Fig4.2 User Login Modules

The admin will be the one who will control the whole application. Admin will be logging in into the system
to do his functions. Admin cannot have new registration. He has to be already existed one. He will have the
features of the admin panel where he has many functions to perform.

Admin panel is the most important module of this project that will contain all the functionalities including the
view feedback, add books, add to cart, return policy, read books and manage the users. All these
functionalities are managed by the admin in the admin panel.

Fig4.3 Admin Login Module


4.2.3 Development Plan
TOTAL 38 weeks START DATE 6th March,2022 END DATE 29th May,2022
DURATION

PHASE AND DURATION TASKS

PROJECT  Idea Generation


DEFINITION
 Project Title Selection
 Abstract Draft Project Proposal
Duration: 2 weeks  Project Proposal Form

PROJECT PLANNING  Work Breakdown Structure


 Schedule and Time Estimation
 Gantt Chart
Duration: 3 weeks
 Define and Finalize Requirement Specification
REQUIREMENT » Project Background
ANALYSIS
» Problem Context

» User Requirements
Duration: 7 weeks
» Set Objectives
» Identify Scope of Project

» Features and Functionalities


 Organizing Project Specification Form  Research
and Analysis
» Research
 Academic Research
 Secondary Research
 Human Computer Interaction

» Analysis
 Domain Analysis
 Existing System Analysis
 User Requirements
 User Profiling and Modelling
 Risk Analysis

 Navigational Design
SYSTEM DESIGN » Storyboarding
 Abstract Interface Design
Duration: 4 Weeks » Mobile Application Architecture

» Functionality Design

» Interactivity Design
 Design for Test Plan
» Acceptance Test

» System Test

» Interface Test
PROTOTYPING  Creating Prototypes
Duration: 6 weeks  Evaluate Prototype feedbacks

PRODUCTION AND  Program Code Generation


IMPLEMENTATION  Integrating Backend and Front end

Duration: 7 weeks  Module creation and Integration


 Implementation of working system
 Midpoint Interview

TESTING & EVALUATION  Prototype Evaluation


 Test Plans
 Unit Testing
Duration: 7 weeks
 Integration Testing
 System Testing
 Critical Evaluation

PROJECT ENDING  Submission of the finished product


Duration: 2 weeks

Table 22: Development Plan

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
As per the analysis of questionnaire, it has been found that-

 All the users have at least one mobile device.

  Users prefer automated conversions.

  Users want to use this app.

  Developers loved this app as it is a full-fledged platform.

 Developers like it as they can access it anywhere.



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 that is beneficial for the developer in knowing the user’s point of
views about the problems faced by the user while performing conversions and how this can be enhanced in the
Book selling app. The survey performed using the questionnaire helped the developer to have a complete
knowledge and understanding of the requirement of the customers. So, their opinions helped the developer to
include the functionalities preferred by such users.

5.2 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 if
they aren’t aware of E -Book applications 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 use the system. Thus, the developer targeted the
user who are willing to learn about Android Development. 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
portfolio and charts.
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)

Control Flow Diagram: A control-flow diagram (CFD) is a diagram to describe the control flow of a
business process, process or review. Control-flow diagrams were developed in the 1950s, and are
widely used in multiple engineering disciplines. They are one of the classic business process modeling
methodologies, along with flow charts, drakon-charts, data flow diagrams, functional flow block
diagram, Gantt charts, PERT diagrams, and IDEF. There are several types of control-flow diagrams,
for example:

• Change-control-flow diagram, used in project management

• Configuration-decision control-flow diagram, used in configuration management

• Process-control-flow diagram, used in process management


• Quality-control-flow diagram, used in quality control. (Booch, Rumbaugh & Jacobson, 2008)

6.2.1 Use Case


Use Case Diagram of Login
UC-01

Figure 12: Use Case for login

Use Case ID UC-01


Use Case Name Login
Description This allows the user to sign in to his/her account.

Actor(s) User

Assumption  Actor must have internet connectivity for signing in.

Pre-Condition  The actor must be a registered user.

Post-Condition  Signed In successfully.

Primary Pathway  Actor taps on Log In button from the home screen 
Actor enters username and password.
 Actor clicks on sign in.

Alternate Pathway(s)  Necessary to sign in to synchronize.


 Repeat steps 2 and 3 of primary pathway.

Exception Pathway  Actor enters email and password.


 The email or password is incorrect/does not exist in database.
 System asks the actor to re-enter the email/password.
 Go to step 2 of primary pathway.

Table 23: Use case description of Login


Use Case Diagram of Login

UC--02

Use Case ID UC-02


Use Case Name Register
Description For registration, user needs to enter email id that he/she would use in
order to login anytime, his/her username, password .

Actor(s) All the users of the system who are willing to use the system.
Assumption User must have a good Internet connection.
Pre-Condition  User must have a mobile device with a browser installed in it in
order to use the web app.

Post-Condition  User gets registered as a permitted user to use the app


Primary Pathway  Actor taps on Register button from the home screen
 Actor enters all the necessary details.
 Actor clicks on submit.
Alternate None
Pathway(s)
Exception Pathway  Actor enters all details.
 System asks the actor to enter correct password.

Table 24: Use case description of Register

Use Case Diagram of User

UC-03

Figure 14: Use Case for User

Use Case ID UC-03


Use Case Name User
Description User can Login, after which he/she can use Portfolio and
walletconnect, after connecting to which Ethereum can be
transferred from our wallet to another wallet.

Actor(s) All the users of the system who are willing to use the system.
Assumption User must know how to operate a mobile device.
Pre-Condition  User must have a mobile device with internet connection in it in
order to use the app.

Post-Condition  User get a powerful system from which he can buy and read books
of various genres .

Primary Pathway  User can view all the books of different genres on the dashboard.
 User can search for a particular book by going to search tab.
User can read book from the app by downloading it in offline
mode.
 User can also use purchase option to buy any book and get it
deliver to your home.

Alternate None
Pathway(s)
Exception Pathway  It may happen that at the time of login, user enter the incorrect
email id and password.

Table 25: Use case description of User


6.2.2 Activity Diagram
Activity Diagram of Register

AD-01

Figure 17: Register

Activity Diagram of Login

AD-02

Figure 18: Login

6.2.3 Control Flow Diagram


Control Flow Diagram of User

CF-01
Figure 19: Control Flow Diagram for user
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 with Firebase technology. 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.1 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 2016 Used to document the project.

Microsoft PowerPoint 2016 Used to prepare the presentation slide.

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

Firebase Used as a database

Table 28: Tools used for Implementation

7.2 Implementation Plan

7.2.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.1.1 Implementation Approach Steps


1. Here the app is fully concentrated on the user. So, all that has been created us for the user.
2. The first steps is to create the home page that contains the register page, login, read the books,
download books to read offline, share books via social media apps, rate them and search them .The
login part of the app so that user can login into the system and able to perform his/her functionality.
3. Next, we need to be very specific about the validations.
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 navbar so as user can navigate to various module of the application

5. After creating the navbar, we move towards the detailed functionality of the navigated sections.

6. We first create the Dashboard so that the user can choose to go to home page , choose the kind of
book the user wants to buy or read ,or return the book he wants to return .
7. Then we need to create book selection page so that user can find the type of book he wants to read .

8. In Feedback we have to create a page that will allow user to enter his own experience with our app .
9. Apart from these, some basic functionalities like return option ,useful links and about us need to be
included too.

7.3 Implementation Plan

7.3.1 Implimentation Approach :


Use Case Diagram of Login
UC-01

Figure 12: Use Case for login

Use Case ID UC-01


Use Case Name Login
Description This allows the user to sign in to his/her account.

Actor(s) User

Assumption  Actor must have internet connectivity for signing in.

Pre-Condition  The actor must be a registered user.

Post-Condition  Signed In successfully.

Primary Pathway  Actor taps on Log In button from the home screen 
Actor enters username and password.
 Actor clicks on sign in.

Alternate Pathway(s)  Necessary to sign in to synchronize.


 Repeat steps 2 and 3 of primary pathway.
Exception Pathway  Actor enters email and password.
 The email or password is incorrect/does not exist in database.
 System asks the actor to re-enter the email/password.
 Go to step 2 of primary pathway.

Table 23: Use case description of Login

Use Case Diagram of Login

UC--02
Use Case ID UC-02
Use Case Name Register
Description For registration, user needs to enter email id that he/she would use in
order to login anytime, his/her username, password .

Actor(s) All the users of the system who are willing to use the system.
Assumption User must have a good Internet connection.
Pre-Condition  User must have a mobile device with a browser installed in it in
order to use the web app.

Post-Condition  User gets registered as a permitted user to use the app


Primary Pathway  Actor taps on Register button from the home screen
 Actor enters all the necessary details.
 Actor clicks on submit.
Alternate None
Pathway(s)
Exception Pathway  Actor enters all details.
 System asks the actor to enter correct password.

Table 24: Use case description of Register

Use Case Diagram of User

UC-03
Figure 14: Use Case for User

Use Case ID UC-03


Use Case Name User
Description User can Login, after which he/she can use Portfolio and
walletconnect, after connecting to which Ethereum can be
transferred from our wallet to another wallet.

Actor(s) All the users of the system who are willing to use the system.
Assumption User must know how to operate a mobile device.
Pre-Condition  User must have a mobile device with internet connection in it in
order to use the app.

Post-Condition  User get a powerful system from which he can buy and read
books of various genres .
Primary Pathway  User can view all the books of different genres on the dashboard.
 User can search for a particular book by going to search tab.
User can read book from the app by downloading it in offline
mode.
 User can also use purchase option to buy any book and get it
deliver to your home.

Alternate Pathway(s) None


Exception Pathway  It may happen that at the time of login, user enter the incorrect
email id and password.

Table 25: Use case description of User


7.5 Implementation of Complex Modules

Activity Diagram of Register

AD-01

Figure 17: Register

Activity Diagram of Login


AD-02

Figure 18: Login

Control Flow Diagram of User

7.6 Technical Quality and Other Features

7.6.1 Performance
 The developed app is flexible to work on any mobile device.
CF-01
Figure 19: Control Flow Diagram for user
 The app's performance is not hindered by the processor speed of the mobile device.  The
application is flexible to work on different android versions.

7.6.2 Comments
Comments are one of the most significant aspects which describe the application technical quality. It supports
the developer in re-reading the source code after a long time.

7.7 User Manual


This manual provides very simple and quick steps for running this application by walking you through the
Sample Tasks.

Steps Visuals and Descriptions


Open App

We can open
the Application
and view its
welcome page.

Figure 1:Launch Application

Home Page

Figure 2:Home Page


Registeration Page

User will
register himself
first and then
will proceed to
login

Figure 3:Registration Page


Login Page

User will login to


the app if already
registered or after
registration

Figure 4:Login Page

Dashboard screen

Feedback

Return book

Logout

Figure 5 :Dashboard
UI of Home Page

Figure 6:UI of home page


Book selection
interface

Choose the
book

Figure 7:Book selection interface


Update your profile

Update
your
profile

Figure 8: Update your profile


Feedback form

Enter
Email
address
and
Figure 9: Feedback form
Ordering page of our
application

Ordering page
Figure 10: Ordering page of our application
Payment method and
card details

Card details
Figure 11: Payment method and card details
Return Book

Table 6:User Manual

7.8
Technical Manual
Developer Note: To install & run this a user needs to do install Android studio and perform the following
things on your device:
Steps Visuals and Descriptions

Open Android
Studio

Click here to
open Andoid
Studio. Open a
new window is
to be selected.

Figure 12: Open Android Studio

Create virtual device

Create virtual
device

Figure 15. Create virtual device


After Terminal
Opens

Terminal appears
as is shown in
the picture.

Figure 13:Terminal Opens

You can create


your files in your
folder..

Terminal appears
as is shown in
the picture.

Figure 14:Go for Coding

Table 7:Technical Manual


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

Unit Testing (Black Box & White Box Testing)

Integration Testing

System Testing

Testing
User AcceptanceTesting

Usability Testing

GUI Testing

Documentation Testing

Table 36: Type of Testing

S. No Testing Requirement
Technique

Testing of individual software component or modules of the system.


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

Testing of integration modules to verify combined functionality after


Integration integration. Various modules are integrated together and then tested
2. by the developer of the system to check whether the modules work
Testing
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.
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
Compatibility performs this type of testing on various hardware/ software platform
4.
Testing to test the compatibility of the system on each platform.

The testing is to be done to verify the design of the system whether it


5. GUI Testing satisfies the six predefined HCIU design principle and whether the
system is user friendly.

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
6. real people actually working on or using it so as to improve or
Usability Testing
enhance the system. The end- users execute the system to test it.

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

Documentation Testing is to be done to verify the system


8. Documentation documentation whether it is meaningful and user friendly or
Testing not.

Table 37: Testing Description


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.4 Point of Contact of Troubleshooting Purpose


Name : Sarthak Sarangle
Designation : Student
Contact No. : +91-9717565313
Email ID : sarangmani62@gmail.com
Table 38: Point of Contact for Troubleshooting Purpose

8.5 Testing Duration

S. No. Testing Technique Start Date End Date

1. Unit Testing 20th March 2022 9th April 2022

2. Integration Testing 10thMarch 2022 20th April 2022

3. System testing 21stApril 2022 25thApril 2022

4. Compatibility Testing 26thApril 2022 29thApril 2022

5. GUI Testing 30thApril 2022 30thApril 2022

6. Usability Testing 1stMay 2022 1st May 2022

7. User Acceptance Testing 2ndMay 2022 8thMay 2022

8. Documentation Testing 9th May 2022 9th May2022

Table 39: Testing Duration


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.

8.7 Technical requirements for Testing

S. No. Technical Requirements


1. Operating system – Windows, iOS or Android
Mocha
2.
3. CPU: 600 MHZ

4. RAM: 50 MB (estimated)

5. Disk space: 10 MB (estimated)

6. A good data/internet connection for tester.

Table 40: Technical requirements for Testing

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 “Java Based Book Selling Application ”, each functionality is treated as
a module and is tested and its corresponding test case is produced. Therefore, individual test cases are
produced for all the functionalities. Unit testing is performed at the primary level for the system because
for example if viewing conversions functionality and performing conversions functionality are integrated
before they are tested and a bug occurs, it will be difficult to figure out in which functionality the bug has
occurred. Therefore, it will be useful to test viewing conversions functionality after it is completed and
performing conversions functionality separately after its completion to figure out and remove the bugs
easily.

8.9.2 Black box testing (Functional Testing)


Figure 40: Black Box
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.
 Log in Functionality

Project Name JAVA BASED BOOK SELLING APPLICATION

Test Case ID TC – 01 Testing Case Name Sign In


Testing Priority High Tester Developer
Testing Date March 20, 2022 Testing Duration 2 Hours
Description This functionality deals with username and password for authentication.

Pre-Condition User must have registered and have the valid email and password.

S. No Test Step Test Data Expected Result Actual Result Status


1. Choose the Button Log In page is to be Log in page is Pass
Log displayed. displayed.
Selection
In option
2. Fill the email User details The web app should The Home page Pass
id and and Log In display home if is displayed on
button. entering correct
password and login is successful credentials.
click on the i.e., if email id and
Log password matches.

in button
3. Click Sign User details A message should A message is Pass
In button and Log in be displayed that displayed “All
without Button. fields are
entering “All fields are required.”.
email id and required.”
password.

4. Click Log In User details A message should be A message should Pass

Button after and Log In displayed that “Invalid be displayed that


entering button email id or password” “Invalid email id
invalid email or password”
id and
password.

Post-Condition The user gets logged in to the system.


Table 41: Black Box Testing of Log in Functionality

 Registration Functionality

Project Name JAVA BASED BOOK SELLING APPLICATION

Test Case ID TC – 02 Testing Case Name Register


Testing Priority High Tester Developer
Testing Date March 30, 2022 Testing Duration 2 Hours
Description This functionality deals with registration before logging into the system.

Pre-Condition User must have the shop details in order to register.


S. No Test Step Test Data Expected Result Actual Result Status

1. Choose the Button Registration page is Registraton page Pass


Register option Selection to be displayed. is displayed.
2. Fill a wrong User details A message should A message is Pass
email id, say, and Register be displayed, displayed,
d21gmail.com button.
”Please enter correct ”Please enter
e-mail” correct e-mail”

3. Leave one or User details A message should A message is Pass


two required and Register be displayed that displayed
fields empty. Button.
“Please enter the “Please enter the
required fields.” required fields”.

4. Enter all details User details User should get User gets Pass
correctly. and Register redirected to the redirected to the
button. login page. login page.

Post-Condition The user has been registered successfully.

Table 42: Black box Testing of Registration functionality

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 favorable 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 integrate 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.


8.10.1 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.

Figure 41: Integration Testing Technique

8.10.2 Justification for Integration Testing

Integration Testing is applicable when the developer has tested all the modules/functionalities of
the system individually. After testing individual functionalities, they are integrated together to be
tested whether they work properly after integration and it is found that they work properly. Since
all the functionalities work properly on integration, testing is justified.

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.1 Justification 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.11.2
System Testing for User Module
Project Name JAVA BASED BOOK SELLING APPLICATION

S. No Testing Step Expected Result Actual Result Status


ST – 1 Click Register Button Registration done Pass
and enter valid details successfully message Message is
appears. displayed to the
user.

ST – 2 Click Sign In and enter Signed In successfully Same as Pass


valid email-id and And Home should expected result.
password. appear.

ST – 3 Click Buy books The user will buy Same as Pass


Book. expected result.

ST – 4 Return Books Books will be returned. Same as expected Pass


result.

ST- 5 User clicks on logout. User gets logout. Same as Pass


expected result.

Table 47: System Testing

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.1 Justification for Compatibility Testing

An Intelligent Railway Ticket Checker is to be tested for various hardware and software platforms whether
the system is compatible for all the platforms and it is found that it works responsively.

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. The system is test for GUI based upon

six design principles:

Visibility
Feedback

Design Affordances
Principles Consistency
Mapping

Constraints

Figure 42: Design Principles to Test the GUI of the Web App

Project Name JAVA BASED BOOK SELLING APPLICATION


Test Case ID GUI Testing Case Name App GUI Test
Testing Priority High Tester Developer
Testing Date April 30, 2022 Testing Duration 1 Day
Items Questions Answers
Icons Do the icons have meaningful presentation? Yes No N.A.
Do they describe the appropriate action? Yes No N.A.
Is appropriate icons used? Yes No N.A.
Are the images size consistent (width and height). Yes No N.A.

Screen Is the layout logical so that the user does not have to Yes No N.A.
Design search for typical functions?

Are graphics and text arranged on the screens in such a Yes No N.A.
way that they are easy to view and are not clustered?

Are themes used for all types of users? Yes No N.A.


Themes Do the used themes colors are sufficient contrast to Yes No N.A.
reduce eye strain?

Fonts Are fonts consistent throughout the system? Yes No N.A.


Are the fonts used are available are available in all types Yes No N.A.
of operating system?

Table 48: GUI Test

8.14 Usability Testing and its Justification


The usability testing is performed to check with how much ease and comfort 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 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 screen to other efficiently.
 Memorability: It measures how much the end user is able to memorize the system and sti
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
systemproposed system is not prone to errors; 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.

 Questionnaire

1. Was the system user friendly, easy to learn, easy to navigate through various forums or
pages?
2. Was the system efficient while performing various tasks?
3. Was the system free from errors or was capable enough to recover you from errors?

4. Was the system easy to memorize when executed again but after a period of time?

5. Were you satisfied with the system completely?

Table 49: Questionnaire for Usability Testing

 Rating Criteria

Excellent-5 Very-Good-4 Good-3 Average-2 Poor-1


Table 50: Rating Criteria for Usability Testing

 Usability Testing on the basis of five factors

Users Learnability Efficiency Memorability Errors User Total Average


Satisfaction
Krish 5 5 4 4 3 21 4.2

Rajat 5 5 3 5 4 22 4.4

Prashant 4 5 3 5 5 22 4.4

Leesha 4 5 4 5 5 23 4.6

Simran 5 5 4 5 4 23 4.6

Overall Average: 4.44(88.80%); Usability Achieved

Table 51: Usability Test


8.14.1 User 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.2 Justification 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.15 Test Schedule

Name of the testers Testing Date


Krish Nagpal May 3, 2022
Rajat Panchal May 4, 2022
Prashant Sethi May 5, 2022
Leesha Soni May 6, 2022
Simran Juneja May 8, 2022
Table 52: Test Schedule for UAT

User’s testing results along with the rating percentage

Functionalities Krish Rajat Prashant Leesha Simran


Nagpal Panchal and Sethi and Soni and Juneja and
and Test Test Rating Test Test Rating Test Rating
Rating Percentage Rating Percentage Percentage
Percentag (%) Percentage (%) (%)
e (%)
(%)
Login Yes 100 Yes 100 Yes 100 Yes 100 Yes 100
Registration Yes 100 Yes 100 Yes 100 Yes 100 Yes 100
Buy Books Yes 100 Yes 100 Yes 95 Yes 100 Yes 100
Offline read Yes 100 Yes 100 Yes 90 Yes 100 Yes 100

Your orders Yes 95 Yes 90 Yes 95 Yes 95 Yes 98

View different Yes 90 Yes 94 Yes 95 Yes 90 Yes 90


Genres
Checkout Yes 95 Yes 90 Yes 90 Yes 95 Yes 90
Yes 95 Yes 100 Yes 95 Yes 98 Yes 95
Return Option
Log-out Yes 90 Yes 98 Yes 95 Yes 90 Yes 95

Table 53: 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.

Criteria for FYP Checklist Status

Proper referencing and citation has been done. Yes

Ethical form is signed by supervisor. Yes

Documentation pages have proper numbering, header and footer. Yes

 Header: Project Title (Centre)


 PIET Logo (RHS)
 Footer: Roll Number(LHS)
 Panipat Institute of Engineering and Technology (Centre)
 Page Number (RHS)

There are no spelling mistakes in the documentation. Yes

Documentation has been verified with Viper. Yes

Questionnaires have been defined why they have been used and a justification is given Yes
for each particular question.

Credible internet references are used. Yes

Must give reference Yes

Justify has been given why an approach, tool, languages, concept etc. was chosen. Yes

Ethical Form has been included. Yes

All the log sheets are attached. Yes

“Developer” word has been used instead of word “I” Yes

Table 54: Documentation Testing


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.
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, a broad analysis of the same has also been made. 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 the
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


 The developer launched this app to be used free of cost and can be accessed from any where
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 device, thus users will get a great advantage of
mobility.

Increased Productivity
 The more number of users will be aware of our measurements by using this type of online
system.
 By making the process of conversion automated and faster, lot of time will be saved and
this will increase productivity.

Table 55: Factors of Benefits.


9.3 Comparison with Other
Systems
S. No. Features JAVA BASED Existing Platform
BOOK SELLING
APPLICATION

1. Registration  

2. Login  

3. Book buying  ×

4. Return book  ×

5. Online download  

6. Feedback  ×

Table 56: Comparison with another system

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. It fulfils the scope and boundary of the project. The
following results prove it:

Criteria Result Success Degree (out of 10)

User interaction YES 9

Project management YES 9

Project requirements YES 10

Secured app YES 8

Testing YES 9

Quality YES 9

Graphical interface YES 9

Academic goals achieved YES 10

Project objective achieved YES 9

Feedback YES 9

9+9+10+8+9+9+9+10+9+9 = 91/100

Success Rate: 91%


Overall Success Rating of the system
Table 57: Success Assessment

9.3.2 Degree of Success


The rate of success of any project is determined on the mapping of the requirements documented for
the proposed system in the project specification form. The system should satisfy the quality standards
for project development and implementation should be feasible.

Figure 43: Degree of success

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
while adding conversions to history. 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.

“JAVA BASED BOOK SELLING APPLICATION” is one of 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 way of performing
conversions.
CHAPTER 10: CONCLUSION

10.1 Success Criteria


The proposed system named “JAVA BASED BOOK SELLING 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 conversions of various measurements and hence has solved the problem that was
expected.

10.2 Limitations and Errors in the Developed System:

➨ Notifications on the e-books distract the readers. This is observed more in phone or tablet.
➨There are health issues while reading during night time mostly on tablets and with backlit e-readers. It can
cause sleep deficiency, eye strain and/or damage health .

➨ E-books require power source that is battery. So if battery is not charged or power source is not available,
reader is deprived of access of e-books.

➨ Technologies are evolving and E-books are required to be upgraded accordingly so failing so, will lead to
risk of losing saved files or books and formatting of documents.

10.3 Future Enhancement


• The app will be more interactive as more books and categories will be introduced.

• We will also bring sponsors on our platform for financial and strategical support.

• We will get in touch directly with publishers.

• In upcoming phase’s magazine, newsletters and comics will also be introduced.

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/she would certainly
make this project a better one.

 Enhance user interface : The developer will try to make the UI more smooth and high
quality.

 Increasing the quantity : The developer will make sure that more quantity and types of
books will be included.
10.5 Computational Challenges
There were various challenges faced by the developer. Some of them are listed below:

• To make it user friendly and to create a well organized app so people find it easy to use .
• An android application to collab all types of book on one platform whether it Horror, Thriller, romantic
or sci fi or just course based subject books for students and professionals .
• Our App is optimized for all android devices .
• Our app will use google APIs and Firebase that lets it store and sync data between your users in
realtime. .

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 are 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 analyzing similar systems in terms of their features
and drawbacks. Finally, the developer conducted primary research to gather real time user
requirements.
 Learnt to manage stress and time: While working through the different phases of SDLC,
the developer played various roles as follows: analyzer, researcher, database and web app
developer and tester. This gave 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 is required not only to
apply learning outcomes achieved during academics but also a clear understanding of
various web technologies. It required studying various books and articles to grab the
concepts of Angular JS, Javascript, HTML, CSS. It ultimately helped in widening the
technical knowledge and to gain a mastery over different languages and tools like Angular
JS, JSON, node.js, MongoDB, express js.
 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. 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.7 Conclusion
 The documentation presents the proposed system’s report, how the system went through
various phases during its development. 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 andsoftware designers. Their
opinions have been evaluated to get an indepth knowledge of the technologies and the databases
on the basis of which the developer has decided to use Gradle Build technology including
Firebase as database. 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, 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

 Pressman, R. (2005). Software Engineering: A Practitioner's Approach. 5th ed. Boston, Mass.:
McGraw-Hill.

 Shelly Cashman (2002). System Analysis and design, 2nd Ed., Shelly Cashman Series, Sydney.

 Valacich, J., George, J. and Hoffer, J. (2001). Essentials of systems analysis and design.
Upper Saddle River, N.J.: Prentice Hall.

 Kendall and Kendall (2005); System Analysis and Design, 4th Ed, New York: Prentice Hall.

 Whitelaw, Ian, “A Measure of All Things: The Story of Man and Measurement”, Macmillan,
2007

 Douglas Crockford, “JavaScript: The Good Parts”, O’Reilly, 2008

 Rollins, M. (2011). The business of Android apps development. New York,


N.Y.: Apress.

 Pedro Teixeira, “Professional Node.js: Building Javascript Based Scalable Software”, Wiley
India Edition, 2012

 Brad Green & Sbyam Sesbadri, “Angular JS”, O’Reilly

 Dix, A., Finlay, J., Abowd, G. and Beale, R. (2004). Human- computer interaction.
Harlow, England: Pearson/Prentice Hall.

 Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd, Russel Beale

11.1 Journals

 Verma Ajit Ram, “The Role of Metrology in Quality Management and Quality
Improvement”, CIMET, 1-11, 1995

 Gupta S.V., “Units of measurement: Past, Present and Future: International system of units”,
Springer, 2009
 Iwata, Shigeo, "Weights and Measures in the Indus Valley", Encyclopedia of the History of
Science, Technology, and Medicine in Non-Western Cultures (2nd edition) edited by Helaine
Selin, 2254–2255, 2008
 Kenoyer, Jonathan Mark, "Indus Valley Civilization", Encyclopedia of India (vol.
2) edited by Stanley Wolpert, 258–266, 2006
11.2 Websites
 Thomas Dufresne & James Martin (2003). "Process Modeling for E -
Business" Archived 2006- 12-20 at the Wayback Machine. INFS 770 Methods for
Information Systems Engineering: Knowledge Management and E-Business. Spring
2003.Web.8 Apr, 2019

 Dolores R. Wallace et al. (1996). Reference Information for the Software Verification and
Validation Process Archived 2008-10-11 at the Wayback Machine, NIST Special Publication
500-234.Web.8 Apr, 2019

 "Principles Of HCI Design | Asktog". Asktog.com. N.p., 2016. Web. 17 Nov. 2016.
PROJECT-I (PROJ–CS-302A) PROGRESS CERTIFICATE
This is to certify that the project-I report (PROJ–CS-302A) entitled “Java Based Book Selling
Application“done by Sarthak Sarangle, Enrollment No 2819100 is an authentic work carried out by him
at PIET, Samalkha, Panipat under my guidance. The matter embodied in this project work has not been
submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.

Module Completed/ Guide


Sr. Guide
Activity performed/ Date Signature
No Remarks
Project Report Status with date
Discussion on
05th
functionalities of the
1 April
project to be
2022
implemented
Discussion on analysis
and design phase along 06th
2 with partial May
implementation of 2022
project
Discussion on Overall
project functionalities 01st
3 and June
documentation(Turnitin 2022
report)

*Final Remarks by Guide:-

Ms Mani Singh
(Project Guide)
PRJ-82
ORIGINALITY REPORT

3 % 1% 0% 3%
SIMILARITY INDEX INTERNET SOURCES PUBLICATIONS STUDENT PAPERS

PRIMARY SOURCES

Submitted to Panipat Institute of


Engineering 1 1%
& Technology
Student Paper

2
www.coursehero.com
Internet Source
1%
Submitted to Colorado Technical University
3
<1%
Online
Student Paper
Submitted to International College of
4
<1%
Auckland
Student Paper

Submitted to University System of Georgia


5
<1%
(USG)
Student Paper

<1%
Submitted to Midlands State University
6 Student Paper

<1%
Submitted to UNIVERSITY OF LUSAKA
7 Student Paper

Exclude quotes Off Exclude matches Off

Exclude bibliography Off

You might also like