Product Scanner Application
Product Scanner Application
net/publication/358078005
CITATION READS
1 2,150
1 author:
SEE PROFILE
All content following this page was uploaded by Muhammad Javaid Iqbal on 24 January 2022.
Page | 1
Table of Contents:
Acknowledgement: .................................................................................................................... 6
List of Acronyms:....................................................................................................................... 7
Abstract: ....................................................................................................................................... 8
Chapter 1: General Introduction: ........................................................................................... 9
1.1 Introduction: ................................................................................................................. 9
1.2 Context and Motivation: ............................................................................................ 9
1.3 Problem Statement: .................................................................................................. 10
1.4 Project Objectives: .................................................................................................... 11
1.5 Project scope and Stakeholders: .......................................................................... 13
1.5.1 Project Scope:..................................................................................................... 13
1.5.2 Stakeholders: ...................................................................................................... 15
1.6 Report Organization: ................................................................................................ 16
Chapter 2: Domain Related Concepts and Systems: ..................................................... 17
2.1 Introduction: ............................................................................................................... 17
2.2 Adopted Methodology: ............................................................................................ 17
2.2.1 Extreme Programming: .................................................................................... 19
2.2.2 Work Break down Structure (WBS): ............................................................. 20
2.2.3 Work Break down Structure (WBS) Dictionary: ......................................... 21
2.3 Pre Project Phase: .................................................................................................... 24
2.3.1 Technical Feasibility: ........................................................................................ 24
2.3.2 Operational Feasibility: .................................................................................... 25
2.3.3 Schedule Feasibility: ......................................................................................... 26
2.3.4 Economic Feasibility: ....................................................................................... 33
2.4 Conclusion: ................................................................................................................. 36
Chapter 3: Computing-based Solution/System Analysis: ............................................ 37
3.1 Introduction: ............................................................................................................... 37
3.1.1 Analysis: ............................................................................................................... 37
3.2 Domain Requirements: ............................................................................................ 43
3.3 Functional Requirements: ...................................................................................... 44
3.4 Non-Functional Requirements: ............................................................................. 44
3.5 Conclusion: ................................................................................................................. 45
Chapter 4: Computing-based Solution / System Design, Implementation, Test and
validation:................................................................................................................................... 46
Page | 2
4.1 Introduction: ............................................................................................................... 46
4.2 Programming Environment: ................................................................................... 48
4.2.1 Android studio: ................................................................................................... 48
4.2.2 Java: ...................................................................................................................... 48
4.2.3 Android software development:..................................................................... 48
4.2.4 Android SDK: ...................................................................................................... 48
4.2.5 Android Debug Bridge:..................................................................................... 49
4.2.6 Sublime IDE: ........................................................................................................ 49
4.2.7 PHP: ....................................................................................................................... 49
4.2.8 SQL Database: .................................................................................................... 49
4.3 Testing Techniques: ................................................................................................. 50
4.3.1 Code Testing: ...................................................................................................... 50
4.3.2 Non-Functional Testing:................................................................................... 50
4.3.3 Testing: ................................................................................................................. 50
4.3.1.4 Deployment: ............................................................................................................. 61
4.4 Validation: ................................................................................................................... 62
4.4.1 Validation Survey: .............................................................................................. 63
4.5 Computing-based Solution/System Design:...................................................... 72
4.5.1 Input Design: ....................................................................................................... 72
4.5.2 Output Design: .................................................................................................... 72
4.5.3 Database Design: ............................................................................................... 73
4.5.4 GUI Interface Design Guidelines: .................................................................. 73
4.5.5 Architectural Diagram: ..................................................................................... 75
4.5.6 Software Design Interface: .............................................................................. 76
4.6 Implementation: ......................................................................................................... 81
4.6.1 GUI Implementation: ......................................................................................... 81
4.6.2 Code Implementation: .......................................................................................... 82
4.6.3 Database Implementation: ............................................................................... 87
4.7 Conclusion: ................................................................................................................. 89
Chapter 5: Conclusion:........................................................................................................... 90
References:................................................................................................................................ 91
Page | 3
Table of Figures:
Figure # 1 Agile Methodology ........................................................................................ 18
Figure # 2 Extreme Programming ................................................................................. 19
Figure # 3 WBS part 1 ................................................................................................... 20
Figure # 4 WBS part 2 ................................................................................................... 20
Figure # 5 WBS part 3 ................................................................................................... 21
Figure # 6 Scanner ........................................................................................................ 24
Figure # 7 Expiry Sample .............................................................................................. 25
Figure # 8 Milestones .................................................................................................... 26
Figure # 9 Predecessors List 1 ...................................................................................... 27
Figure # 10 Predecessors List 2 .................................................................................... 27
Figure # 11 Network diagram part 1 .............................................................................. 28
Figure # 12 Network diagram part 2 .............................................................................. 28
Figure # 13 Gantt chart part 1 ....................................................................................... 30
Figure # 14 Gantt chart part 2 ....................................................................................... 30
Figure # 15 Gantt chart part 3 ....................................................................................... 31
Figure # 16 Project Overview ........................................................................................ 31
Figure # 17 Burndown ................................................................................................... 31
Figure # 18 Work Overview ........................................................................................... 32
Figure # 19 Cost Overview ............................................................................................ 33
Figure # 20 Resource Sheet ......................................................................................... 34
Figure # 21 Cash flow ................................................................................................... 35
Figure # 22 Resource Cost overview ............................................................................ 35
Figure # 23 Task Cost Overview ................................................................................... 36
Figure # 24 Use case Diagram ...................................................................................... 39
Figure # 25 Product Scanner Sequence Diagram ......................................................... 40
Figure # 26 Activity Diagram ......................................................................................... 41
Figure # 27 Class Diagram ............................................................................................ 42
Figure # 28 App's Acceptance Testing .......................................................................... 60
Figure # 29 Future Deployment ..................................................................................... 61
Figure # 30 Survey Question 1 ...................................................................................... 63
Figure # 31 Survey Question 2 ...................................................................................... 64
Figure # 32 Survey Question 3 ...................................................................................... 65
Figure # 33 Survey Question 4 ...................................................................................... 66
Figure # 34 Survey Question 5 ...................................................................................... 66
Figure # 35 Survey Question 6 ...................................................................................... 67
Figure # 36 Survey Question 7 ...................................................................................... 68
Figure # 37 Survey Question 8 ...................................................................................... 69
Figure # 38 Survey Question 9 ...................................................................................... 70
Figure # 39 Survey Question 10 .................................................................................... 71
Figure # 40 Survey Responses ..................................................................................... 71
Figure # 41 UI guidelines .............................................................................................. 73
Figure # 42 Architecture Diagram ................................................................................. 75
Figure # 43 Design Interface part 1 ............................................................................... 76
Figure # 44 Design Interface part 2 ............................................................................... 77
Page | 4
Figure # 45 Design Interface part 3 ............................................................................... 78
Figure # 46 Design Interface part 4 ............................................................................... 79
Figure # 47 Design Interface part 5 ............................................................................... 80
Figure # 48 Registration class ....................................................................................... 82
Figure # 49 Login Class ................................................................................................ 83
Figure # 50 Scanner class ............................................................................................. 84
Figure # 51 Entry Class ................................................................................................. 85
Figure # 52 Alarm receiver class ................................................................................... 86
Figure # 53 Users Table ................................................................................................ 87
Figure # 54 homeowners............................................................................................... 87
Figure # 55 entries table................................................................................................ 88
Figure # 56 Home table ................................................................................................. 88
Figure # 57 Products table ............................................................................................ 88
Table of Tables:
Table 1 WBS Dictionary ................................................................................................ 23
Table 2 Component Test cases results ......................................................................... 54
Page | 5
Acknowledgement:
Being able to work on this report and the whole project would not have been imaginable
without the direction of our Supervisor Dr. Muath Alrammal. We really accept that the
achievement and progress we have made and experienced in us through the semester
is because of his continuous endeavors. He instructed us that we can cross limits
assuming we try sincerely and endeavor to accomplish our objectives. For that, we are
thankful for all that he has accomplished for us. We additionally thank our family,
companions, and all the HCT instructors who encouraged and supported us on this
journey.
Page | 6
List of Acronyms:
Acronym Meaning
A tool for creating Android Applications which we used to
Android Studio
foster our application
JDK Java Development Kit that assisted with building APK
Model–view–controller is an example we followed for
MVC
application's execution
Object-oriented programming is a methodology we
OOP
utilized during the development
Is an UML apparatus for making Diagrams and we
Star UML
utilized it to make configuration graphs of our application
Programming advancement unit utilized for making
SDK
assembles
SDLC Framework Development Life Cycle
UML Bound together displaying language
WBS Work Breakdown Structure
A device for doing review questions which we used to
Monkey Survey
gather replies of crowd about application
Online information base database used to store
information and furthermore utilized for sign in
SQL
information exchange highlights and for putting away
information
A domain name is your site name. An domain name is
Domain
the location where Internet clients can get to your site
A web facilitating administration is a sort of Internet
Hosting
facilitating administration that has sites for customers.
Short Message Service is commonly known as texting. It
SMS
is a way to send text-only messages between phones
A RESTful API is a building style for an application
REST API program interface (API) that utilizes HTTP solicitations to
access and utilize information.
Page | 7
Abstract:
This document presents our graduation project named “Product Scanner Mobile
Application”. Our project is built to provide an easy and efficient way of maintaining stock
of products just by scanning bar code. With the everyday advancements in computer
science and technology, all businesses are transforming how they work to carry out their
daily tasks. Even the living style is abruptly changing with the changes in technology. Our
app named “Product Scanner,” which basically scans the products. Like in most
businesses, they need to keep track of the available stock of the products. But to manually
keeping that data up to date requires time. Our app allows the users to scan the bar code
of the product. The app checks for the bar code. If the product already exists, it updates
the existing product. If the bar code of the product does not exist in the system, then the
app allows the users to input the details of the product. The app notifies the user about
the available quantity of the product. It also notifies about those products that are about
to expire so that the user can save the product from expiring.
Page | 8
Chapter 1: General Introduction:
1.1 Introduction:
As every passing day technology is emerging and people are looking for solutions to their
problems in the farm of mobile app or computer application, the reason for this attraction
is that the computer and mobile phones perform given steps in a speed of eye blink. When
the system saves time it definitely save money too. We were overserving the issues in
market and we noticed that most of the products that expire in store are wasted, the major
issue for this situation is that the store keepers and other people handling products are
not aware of the expiry dated of the product as they need to manually check the expiry
dates of each product that is a bit time taking work and the employee handling the
products don’t keep track of the expiry dates.
To avoid this situation, we developed an application that allows the users to keep track of
the expiry and availability of the products in their stock. What they have to do is place
data about their products along with their expiry dates and the app notifies them before
the product is about to expire so they can bring them on front or place some sale on them
to avoid them from expiry. Then a new issue came while our discussion we noticed that
it will be time consuming to enter all the details of the products again and again. So, we
added a bar code scanning in the app too, so that it became easier for the users to use
the app. When the new products are received user simply scans the barcode of the
product and the app looks for the details of the product is the product details are already
saved in app and the app looks for the expiry date of the product. If the product is not
already saved in app the user enters the details of the product along with the expiry dates.
When the product is about to expire, they user receives a notification about the expiry of
the product so the user can make plans about selling these products on priority bases.
App is a mobile application, and data is store in database on server so that all the users
of the same company can access the same database.
Page | 9
supermarket and other preferable places to help them check the expiry date of products
at ease.
Page | 10
1.4 Project Objectives:
The objectives of the project are what you plan to achieve by the end of your project. This
may include project deliverables and assets, or additional tangible goals such as
increased productivity or motivation. The objectives of your project should be achievable,
timely, specific goals that you can measure at the end of your project.
The alignment of the project with the strategic priorities of the organization?
Our project is fully aligned with the objectives following our research; this is
because the barcode application is automatic to identify and manage products'
flow. The application will reduce wastage and losses to supermarkets, increase
revenues, offer quality products to consumers, and create a pool of loyal
customers.
Page | 11
This project has several objectives that will help supermarkets, and people, to improve
the environment, such as:
1. Instant alert notification: Notify the Supermarket about the item's expiration date,
which in this case are the food, by using a scanner to obtain no expired food on
the shelf of the Supermarket that might be forgotten on the shelves.
2. Live tracking of Items: The Supermarket will be able for real-time monitoring of
the Items by providing each item with a Barcode to be scanned while adding them
to the shelves. Therefore, an automatic message will be sent to the supermarket
system. The tracker can help the Supermarket in ensuring that each customer has
UptoDate food.
4. Waste reduction: Reducing amount of food waste in Supermarket are given away
to food banks, some sold to salvage stores, and the rest taken by people who
scrounge outside supermarkets.
5. Reduce Loss: After maintaining all of the stock on time and in easy way just by
scanning bar codes of the products by your handheld smart phone the loss which
supermarket owners bear by unmanaged stocked will be reduced by 30% to 50%
in upcoming year maybe till 2022 this would be accomplished.
Page | 12
1.5 Project scope and Stakeholders:
1.5.1 Project Scope:
Project Scope is essential for a project plan that incorporates deciding and composing a
rundown of explicit undertaking targets, exercises, highlights, assignments, cutoff times,
and last expenses. As such, that is the thing that should be cultivated and the work that
should be done to convey the task. The sections below describe the project scope
statement in terms of description, acceptance criteria, project deliverables, exclusions,
constraints, and assumptions for Product Scanner Mobile Application which will maintain
the stock of the products. Our app allows the users to scan the bar code of the product.
The app checks for the bar code. If the product already exists, it updates the existing
product. If the bar code of the product does not exist in the system, then the app allows
the users to input the details of the product. The app notifies the user about the available
quantity of the product. It also notifies about those products that are about to expire.
The scope of this project is to develop a smart app which maintains the stock of the
products. Our app named “Product Scanner” that will be used to scan the products. Like
in most of business they need to keep track of the available stock of the products. But to
manually keep that data up to date needs time. The users can use the app, which has a
barcode reader aspect to scan products. The application stores data for all products
concerning their expiry date and notify individuals when the expiry date is approaching.
Therefore, the respective individuals concerned with the product will make the appropriate
decision to avoid consuming such a pronounced and poisonous product and harmful for
human life. The application helps to reduce food poisoning, especially from expired
products, and keep individuals alert about product expiry dates, especially store owners
and supermarkets. Including that, these concerned individuals can make wise decisions
earlier on what products to sell first and faster, which to remove and which to keep for a
while as they await purchase. This application has many scope uses as follows:
To offer assistance to supermarkets and the general public by notifying the expiry
date and product name. In this case, an app is an auto option for removing the
already expired products after informing the consumer.
To promote the consumption of healthy products, which include all types of listed
items that may consist of food, drinks, and medicines.
To set different preferences of the apps that are different from other apps, including
notification preferences like to disable or enable notification.
This app's setting is meant to remind the consumer when the product will expire,
preferably when the date is near.
Page | 13
To overlay selectable items in the view so that the barcodes can be comfortably
scanned within the organization in question, in this case, the supermarkets.
To ensure that all items that are recalled off are checked out after expiry, this is to
prevent such products' accidental sale.
To promote the management of display products rotation and self-service
customers like the visually impaired through the use of virtual assistant
respondents. While people are in the market to purchase goods, some are
overlapped by numerous tasks within a limited time, resulting in not looking at the
expiry date. However, most people may fail to find the expiration date on the
product they are simply checking because it is not visible or rubbed off.
To create the Product Scanner Mobile android application. We really need to utilize the
fitting programming language for this application. There are numerous choices that can
influence the decision of language and system during application, particularly stage and
application highlights and execution is a cycle that changes techniques and projects into
activities to accomplish key objectives and targets. Making your own essential
arrangement is more significant than your technique. We have chosen the Android studio
to do the execution of the Product Scanner Mobile Application and the SQL database for
keeping record, all things considered. We have used the SQL database to store and
maintain homes, users and products records as well as their expiry dates.
The undertaking will be supported once finished and works in the endorsed design and
ought to likewise be created and executed on a tight spending plan premise. The project's
application ought to be utilized by Android mobile phones and tablets and is accessed
through an internet connection. The application should be an easy to understand and
handily deciphered by authorities. The project should be viewed as a success assuming
the solicitation meets the necessities of the clients for maintaining records of products
and their expiries accordingly. The application will help maintaining the stock and will
notify the app user about stock.
Project shows incorporates a totally implemented application that can be downloaded for
cell phones and tablets that meet the prerequisites of the Product Scanner. We will give
a client manual that rundowns all the execution strategies and a client guide for that can
be utilized by clients how to utilize the application and how to keep up with the records of
items.
Page | 14
1.5.1.4 Exclusions:
This project will only be used for maintaining product records by scanning items,
application will provide details on how to stock and their expiries. The scope of the project
is inclusive only requirements collected for the use of the Product scanner for notifying
user about available quantity of items in stock.
1.5.1.5 Constraints:
Factors that will restrict our maximum capacity and can imperil the achievement of the
undertaking specifically time, financial plan, and extension. The task should be finished
and functional inside given time and created inside the assessed spending plan.
Moreover, it should supplement all that necessities gathered during the investigation
stage. The versatile application should be finished and sent inside assessed time period.
The versatile application and the entire framework should be created inside the assessed
spending plan, which is 100,000 AED. The versatile application should be downloaded
on all kind of Android Devices even on lower renditions of Android up to Android 4.0.
1.5.1.6 Assumptions:
During the development of the project, we are relied upon to utilize the Android Studio
2021 most recent variant application improvement apparatus and application created can
be introduced on Android gadgets. We should begin project execution in the wake of
getting endorsement, which is multi week, also hope to hold week after week gatherings
with the scrum administrator to guarantee that all necessities are met and show their work
up to this point. An application to be created is relied upon to be gotten every minute of
every day/365 help, and is accessible through an Internet connection for each user.
1.5.2 Stakeholders:
Stakeholders are individuals or associations engaged with the cycle. In this undertaking,
members incorporate the end clients of the program and every other person in the
association. Anybody engaged with the creation and establishment of a project is viewed
as a stakeholder. The Product Scanner Mobile Application contains a rundown of
contributors’ listed underneath:
1.5.2.1 Sponsor:
The sponsor of this application will be from the UAE locale, who will give assets and
backing to the proposed project. The sponsor is a person who started this project and
funded also for the improvements of this project. Each project ought to have a support
with every one of the freedoms to further develop the system deployment.
Page | 15
1.5.2.2 Product Scanner Mobile Application Management:
Product Scanner Mobile Application Management will deal with all product or stock
management based related exercises and will direct clients how to utilize this application
and will wake mindfulness in individuals for utilizing this project.
The project team is dealing with a genuine real-time project development. The task group
comprises of Project Managers, System Analysts, Software Developers, Testers,
Documentation specialists, and so forth. A current and proposed project examination,
proposed project development, project review, and project documentation are dealt with
independently by the project team. The project team is also considered as a main
stakeholder in any project’s development.
End clients of Product Scanner Mobile Application will encounter the genuine advantages
of this project. End clients can enroll, sign in, and can add multiple items in stock into
application. End clients are a portion of the Stakeholders.
The organization which gave assets to this task and aided project improvement group
with legitimate direction is a stakeholder. Super market owners assisted development
team with fostering this task is also a primary partner of this project.
Page | 16
Chapter 2: Domain Related Concepts and Systems:
2.1 Introduction:
Product Scanner Mobile Application could be proved a most efficient and effective way
for maintaining products stocks. In most businesses, they need to keep track of the
available stock of the products. But to manually keeping that data up to date requires
time. Our app allows the users to scan the bar code of the product. The app checks for
the bar code. If the product already exists, it updates the existing product. If the bar code
of the product does not exist in the system, then the app allows the users to input the
details of the product. The app notifies the user about the available quantity of the product.
It also notifies about those products that are about to expire so that the user can save the
product from expiring. We did a thorough analysis and chose an object-oriented analysis
approach to overcome this stock management problem and suggested an effective way
to use this app in detail to overcome it. We have created a total time and costing of the
execution of mobile product scanner application. There will still be a need for the
development of our plan which will be done in the development stages and after the
stakeholder review. We adopted Agile Methodology to launch our project because we
had implemented our application in small portions and we always wanted the full
participation of the stakeholders in this so we chose Agile. We have made proper
implementation plans and have estimated the total cost and time that can be spent on
implementation. We have worked closely with stakeholders or users in the
implementation stages so that the system can be implemented more accurately and its
development can be done on time.
Page | 17
Each release is thoroughly tested to ensure software quality is maintained. It is used for
time critical applications. Extreme Programming (XP) is currently one of the most well-
known agile development life cycle model. Agile methodology is explained in more detail
under the Agile Tester topics. The main reason why we choose agile is because it’s easily
and Quickly Adapt to Change Teams not only adapt to change in Agile, they are
encouraged to embrace the practice. Agile acknowledges that customer needs change
and that teams must be able to adapt. Working in time-boxed iterations means the team
does not need to wait on a lengthy requirement change, review and approval process.
Any change or maintenance item is added to the backlog and allotted to an upcoming
sprint based on priority and business need in addition Agile consist of 6 sections:
Page | 18
2.2.1 Extreme Programming:
Extreme Programming (XP) is the most preferable development methodology. The scrum
method is the most popular agile method in most applications. Extreme Programming
(XP) involves breaking down the project into frequent releases in short development
cycles. Each release contains some functionalities developed in simple code and tested
within distinct phases before moving to the next part of the project. This important feature
made XP an attractive method to be used in our app as the number of requirements is
volatile, and the customer certainly introduces new requirements in different development
stages. XP guarantees strong customer/user involvement in the development process,
good communication inside the teams, low cost for changes, and iterative development
cycles that increase employee and users' satisfaction.
XP's main contribution to the world of software development is a collection based on one
of the engineering processes teams can use to become more efficient and produce high
quality code. An additional contribution, and equally important, of XP is to focus on
efficient performance. This approach sets out the minimum number of most important
processes and encourages teams to perform those processes as efficiently as possible,
almost extremely. We have developed product scanner mobile application using this
methodology. We developed the application in iterations in small parts within timeframe.
Page | 19
2.2.2 Work Break down Structure (WBS):
A work breakdown structure is a significant undertaking deliverable that make the group's
tasks into helpful small parts. It shows the task span likewise it shows the reliance
between the project activities. We made our task's WBS in Microsoft project displayed
underneath:
Page | 20
Figure # 5 WBS part 3
Task
Task WBS Description
Number
Page | 21
Making little models of project in type of
1.3 Iteration # 3
achievements.
Page | 22
Audit the Milestone Checking achievement necessities whenever
1.4.2.5
so far satisfied.
Test Results Review Testing the achievement to check if functioning
1.4.2.6
admirably.
Page | 23
2.3 Pre Project Phase:
2.3.1 Technical Feasibility:
The radical change of technology that uses the mobile app has received high demand in
various sectors. All the production firms and consumers are looking for ways to make
huge sales by avoiding losses resulting from product expiration. Mobile technology has
been identified to overcome this challenge since it can provide services from anywhere
and anytime, and almost all individuals have access to mobile phones. Previously, there
is a similar project we found out which is BEEP app. There is over 60 supermarkets,
pharmacies and convenience in use. It saves the user on the struggles to keep monitoring
on-shelf developments, and it also eliminates manual management by replacing it with
an all-in-one solution.
Figure # 6 Scanner
However, our app consists of features such as the expiry date push notification service,
which provides a reminder a day, a week, or a month before the expiry date. It also groups
the products into categories depending on their type, place, and use. It also has a feature
to create and share with the family or group. We are working on an app with some more
features, such as notification preferences like enable and disable notifications. To overlay
the selectable item in the view so that the barcodes can be comfortably scanned within
the organization in question, for instance, at supermarkets. The other important feature
is automatically checking out the items that are recalled off to prevent such things from
being used. The app will be easier to use rather than the BEEP application because our
Page | 24
app will work with a scanner device that will send the item information directly to the
system no need to type it physically.
In addition, in the future, we will add a voice assistant feature that will respondents who
are visually impaired through the use of virtual assistant respondents. To indicate the
product's name, the industrialist, the manufacture date, and the expiry date. The mobile
app also provides 24/7 services for queries and assistant.
Page | 25
2.3.3 Schedule Feasibility:
These cycles are essentially the runs of Agile Extreme Programming. These cycle are
treated as achievements for Product Scanner Mobile Application which should be
satisfied on planned time.
Figure # 8 Milestones
Page | 26
2.3.3.2 Tasks list and Predecessors:
Page | 27
2.3.3.3 Network Diagram:
These network diagram outlines shows the progressions of undertaking for Product
Scanner Mobile Application that should be finished on proposed timetable or time. These
cases are significant achievements of the project.
Page | 28
2.3.3.4 Estimating task duration using PERT formula:
PERT formula is a three-point action is an estimation strategy that actions restricted time,
vulnerability and hazard utilizing three estimates that are Optimistic, generally likely, and
in pessimistic time. This technique is utilized to decide the assessed cost of work or the
time allotment.
The underneath formula is utilized to decide the assessed length for every action in this
project.
Iteration # 1:
We have 14 days for the Iteration 1. The optimistic time is 10 days and pessimistic
is 18 days
10 + 4 (14) + 18
PERT Weighted average = = 14 days
6
Iteration # 2:
We have 43 days for the Iteration 2. The optimistic time is 39 days and pessimistic
is 47 days
39 + 4 (43) + 47
PERT Weighted average = = 43 days
6
Iteration # 3:
We have 34 days for the Iteration 3. The optimistic time is 100 days and pessimistic
is 108 days
30 + 4 (34) + 38
PERT Weighted average = = 34 days
6
Iteration # 4:
We have 13 days for the Iteration 4. The optimistic time is 9 days and pessimistic
is 17 days
9 + 4 (13) + 17
PERT Weighted average = = 13 days
6
Iteration # 5:
We have 6 days for the Iteration 5. The optimistic time is 2 days and pessimistic is
10 days
2 + 4 (6) + 10
PERT Weighted average = = 6 days
6
Iteration # 6:
We have 10 days for the Iteration 6. The optimistic time is 3 days and pessimistic
is 11 days
6 + 4 (10) + 14
PERT Weighted average = = 10 days
6
Page | 29
2.3.3.5 Gantt chart:
This chart shows the timetable of the Product Scanner project. It shows the cycles for
each stage, the start and the end date for each assignment. Additionally, it shows reliance
and freedom between exercises. This assists us with dealing with the timetable and play
out the necessary assignments on schedule.
Page | 30
Figure # 15 Gantt chart part 3
This is showing the work completion status in desired timeframe for Product Scanner
Mobile Application.
Figure # 17 Burndown
Page | 31
2.3.3.7 Work Overview:
Page | 32
2.3.4 Economic Feasibility:
Economic feasibility is the most common way of speculating, apportioning, and taking
care of undertaking costs. The expense the executives’ cycle permits a substance to
anticipate future expenses to diminish the odds of a spending plan deficiency. The set
expenses are determined at the hour of undertaking arranging and should be endorsed
preceding the beginning of work. As the project plan is created, costs are recorded and
followed, so things stay inside the expense the board framework. When the project has
been finished, the assessed costs and real expenses are analysed, giving appraisals of
future expense the board methodologies and undertaking spending plans. As we dealt
with a vital element which is time, we should care about the cost. So, our time should put
the budget and estimate the cost and any expenses or sums that we spend on the project,
materials, and the software, etc. preparing all needs and requirements needed full
feasibility to calculate the current and future costs and this will serve the financial analysis
of the project. Such feasibility will pave the way for us to establish our project from scratch
and enable our team to evaluate the viability, cost, and benefits linked to our main
application to save the required money to cover all costs before financial resources are
allocated.
Our cost management for Product Scanner Mobile Application includes the resources or
material that will be used to build our project. E.g. hosting, domain, servers, keyboard,
Page | 33
mouse, tools, laptop and mainly the human resources like team lead, developers testers.
These will help us determining the actual cost of the project and after knowing the prices
of these resources we can manage our cost for the project.
We have four human resources which are basically the stakeholders. Their combined
salary is 200 AED per hour and total days spent on this project are 231 days. And their
lump sum total salary for 231 days is 71,333 AED.
In the above resources diagram we have estimated the total material and human resource
costing of the project.
The total cost spent on material objects is 20,000 AED, total cost spend on human
resources is 71,333 AED and miscellaneous is 50 AED. And the total budget was 100,000
AED.
Our total budget was 100,000 AED but we have spent 91,383 AED.
We have managed the total cost very efficiently that we have even saved the amount
from total budget.
Page | 34
Figure # 21 Cash flow
Page | 35
Figure # 23 Task Cost Overview
The total costing of Product Scanner Mobile Application is done with all allocated
resources that how much resources had been used during the development of this
application project.
2.4 Conclusion:
We have created a “Product Scanner,” which basically scans the products. Like in most
businesses, they need to keep track of the available stock of the products. But to manually
keeping that data up to date requires time. Our app allows the users to scan the bar code
of the product. The app checks for the bar code. If the product already exists, it updates
the existing product. If the bar code of the product does not exist in the system, then the
app allows the users to input the details of the product. The app notifies the user about
the available quantity of the product. It also notifies about those products that are about
to expire so that the user can save the product from expiring. To overcome this stock
management problems we proposed the agile methodology to implement Product
Scanner in detail. We have done the total costing and time plan for the implementation of
Product Scanner Mobile. Still improvements in our plan will be required which would be
done in development phases and after taking stakeholder reviews.
Page | 36
Chapter 3: Computing-based Solution/System Analysis:
3.1 Introduction:
Our project is built to provide an easy and efficient way of maintaining stock of products
just by scanning bar code. With the everyday advancements in computer science and
technology, all businesses are transforming how they work to carry out their daily tasks.
Even the living style is abruptly changing with the changes in technology. Our app named
“Product Scanner,” which basically scans the products. Like in most businesses, they
need to keep track of the available stock of the products. But to manually keeping that
data up to date requires time. Our app allows the users to scan the bar code of the
product. The app checks for the bar code. If the product already exists, it updates the
existing product. If the bar code of the product does not exist in the system, then the app
allows the users to input the details of the product. The app notifies the user about the
available quantity of the product. It also notifies about those products that are about to
expire so that the user can save the product from expiring. In this phase we have explored
the domain requirements, functional and non-functional requirements as well as the
overall analysis of the application and in and in analysis we have picked the analysis
model. We took on Object Oriented O.O approach for analysis. We have made use case
diagram that how the clients will communicate with the proposed framework, made
Activity diagram to display business cycles and work processes, made System Sequence
Diagram to show the cooperation rationale between the items in the proposed framework
in ideal way and furthermore made a domain class diagram for demonstrating the design
of the application.
3.1.1 Analysis:
To develop an app for maintaining stock of items and their expiries that will help people
to manage time and will reduce their cost too. Its import to distinguish and apply a well
suited and appropriate analysis approach that will help in reporting the Functional and
Non-functional requirements appropriately. The analysis approach should follow and
should be predictable with our acknowledged formative methodology, which is an extreme
programming approach, and the justification behind the decision made there are two
unique examination techniques; traditional and object-oriented. Completely documented
functional requirements can be shown in various diagrams relying upon the analysis
technique determination. The accompanying segment distinguishes our determination of
the best analysis technique and idea, just as exhibiting the adequacy of the program
utilizing need client stories and various diagrams pertinent to our choice. Analysis Model
is a technical representation of the system. It acts as a link between system description
and design model. In Analysis Modelling, information, behavior and functions of the
Page | 37
system is defined and translated into the architecture, component and interface level
design in the design modeling.
In the improvement interaction, there are two distinct ways to deal with create and
investigate the prerequisites and we can pick any one which could be fit the most; it tends
to be a customary technique or an object-oriented (O.O) strategy. The traditional strategy
is otherwise called the arrangement of methodical turn of events, which incorporates the
quantity of successive stages that rely upon one another to carry an undertaking or item
to customer. We follow similar class of exercises beginning with assortment necessities,
understanding customer needs, planning, executing and fostering a venture, actually
looking at the program, sending the item, lastly save it. While the methodology is centered
around the item checks out a program that will resemble a progression of articles,
focusing in on the moral composition of system information and cycles. The primary
reason for the Object- oriented methodology is to make a great useful and proficient
application. Object- oriented methodology focuses in additional on planning models that
catches the construction and conduct of the framework. We have chosen an extreme
programming (XP) agile methodology to develop the Product Scanner Mobile Application,
which is a repetitive technique that assists projects with unclear requirements in the
beginning of the venture life cycle. It executes any change all through the venture
improvement by upgrading or keep a current system or a created model. We have chosen
an object-focused approach along with Agile extreme programming (XP) Methodology to
create the Product Scanner Mobile Application through we can manage items stock very
efficiently.
Page | 38
3.1.1.1.1 Use Case Diagram:
Use case Diagram (UCD) is a Comprehensive unified Modeling Language (UML). The
UCD mirrors the working necessities in a reasonable showcase. It additionally shows the
different functional requirements of the program corresponding to the use cases, and
demonstrate the characters associated with the activity of the framework and its activity.
Additionally, it shows too how the tentative arrangement will carry this exhibition to actors.
This use case diagram shows only one actor which is a user of the application. It showing
that how it interacts with functional requirements of the product scanner mobile
application. the user is basically the one who does everything he add home, manages
home, adds items, manages items and also checks for the expiry and receives the
notification of expiry as well.
Page | 39
3.1.1.1.2 System Sequence Diagram:
Sequence diagrams are used to describe the behavior of purposed system by its
interaction with environment. Interaction is displayed by the object’s life lines and
exchange of message between them. This represents communication in a sequence of
time. Following are the elements of a sequence diagram:
Lifeline: A line representing the time duration during which an object is present.
Message: These are the means by which objects communicate with each other.
Activation: The period of time during which objects perform some operations.
Following are the sequence diagrams for our purposed system.
Page | 40
3.1.1.1.3 Activity Diagram:
Activity diagram is utilized to demonstrate business cycles and work process. These
diagrams are utilized for programming demonstrating and business execution. The most
generally action diagrams are utilized to make a work process model in a graphical,
effectively justifiable way.
We have created activity diagram for Product Scanner Mobile showing 2 sides, first is
users and second is Product Scanner Mobile Application. This diagram is showing that
how business flows are done by users with Product Scanner Mobile. User perform actions
and that interact directly with Product Scanner Mobile application. User add homes and
product as well as managed products and homes too by deleting and by checking expiry.
Page | 41
3.1.1.1.4 Domain Class Diagram:
The domain model is a portrayal of a true ideas, not of programming parts. Domain
modeling is a strategy used to comprehend the meaning of an undertaking issue and to
make an interpretation of task necessities into components of a software solution. This
model is called as a Domain Class diagram. In the Unified Modeling Language (UML), a
class diagram is utilized to address the domain model of the software.
The above diagram shows the class of Product Scanner Mobile and how it interacts with
one another. There are six classes in Product Scanner Mobile Application. The above
diagram show that main class is Product Scanner Mobile and it interacts with classes one
is home and one is products. The home and user classes had N to N relationship between
them that why a subclass created named as Homeowners to make their relationship
better and same is with home and products a subclass was created named as entries to
make their relationship better and can perform operation accordingly.
Page | 42
3.2 Domain Requirements:
Requirements Description
There are a few constraints of the application that are defined below:
Page | 43
3.3 Functional Requirements:
The functional requirements describe the fundamental behavior of the system. Functional
requirements must be met, otherwise system is said to be unsuccessful. The functional
requirements are the product features, and it mainly focuses on the user requirements.
Some of the functional requirements are given below:
Register User.
Login User.
Logout
Add homes
Delete homes
Share homes
Join homes
Add products
Scan Product.
View products.
Expiry notifications.
Page | 44
3.5 Conclusion:
We have created an application that’s allows the users to scan the bar code of the
product. The app checks for the bar code. If the product already exists, it updates the
existing product. If the bar code of the product does not exist in the system, then the app
allows the users to input the details of the product. The app notifies the user about the
available quantity of the product. It also notifies about those products that are about to
expire so that the user can save the product from expiring. We had adopted Object
Oriented O.O approach for analysis. We have created use case diagram that how the
users will interact with the proposed system, created Activity diagram to model business
processes and workflows, created System Sequence Diagram to show the interaction
logic between the object in the proposed system in timely manner and also created a
domain class diagram for modelling the structure of the application. We did the complete
analysis to get the domain requirements for the application. We analyzed the whole
process and got the functional and non-functional requirements for the application and
still we can add more and improve the Product Scanner Mobile Application.
Page | 45
Chapter 4: Computing-based Solution / System Design,
Implementation, Test and validation:
4.1 Introduction:
Technological advances have enabled mobile applications to have a future in some way.
Our application is very advanced that helps people to manage their items stock in markets
or homes. We had developed an application that allows the users to keep track of the
expiry and availability of the products in their stock. What they have to do is place data
about their products along with their expiry dates and the app notifies them before the
product is about to expire so they can bring them on front or place some sale on them to
avoid them from expiry. Our project is built to provide an easy and efficient way of
maintaining stock of products just by scanning bar code. With the everyday
advancements in computer science and technology, all businesses are transforming how
they work to carry out their daily tasks. Even the living style is abruptly changing with the
changes in technology. Our app named “Product Scanner,” which basically scans the
products. Like in most businesses, they need to keep track of the available stock of the
products. But to manually keeping that data up to date requires time. Our app allows the
users to scan the bar code of the product. The app checks for the bar code. If the product
already exists, it updates the existing product. If the bar code of the product does not exist
in the system, then the app allows the users to input the details of the product. The app
notifies the user about the available quantity of the product. It also notifies about those
products that are about to expire so that the user can save their product from expiring as
well.
In this stage, we planned the application dependent on the task prerequisites, use cases
and the extent of the venture settled upon in the past stage. We achieved the turn of
events and approval of the model and UI, complete plan improvement of the execution
model. We finished the plan approved against the venture prerequisites. Our plan stage
comprises of the total working plan execution that we will use to carry out the remainder
of the application. We have carried out the plan of our application utilizing object situated
methodology. We have planned every one of the screens of our application. Information
configuration is finished utilizing SQL database for this modified application.
Page | 46
System performance and accuracy are checked. Partial Assessment and Approval Is
Performed in this section. To ensure the normal operation of the system, we created
different test scenarios and recorded positive results.
Project execution is the stage where dreams and plans become reality. This is the obvious
end result, subsequent to assessing, choosing, visioning and arranging the assets of a
task. Specialized execution is one piece of executing an undertaking. The improvement
of our Android application is done in this stage and is finished utilizing explicit
programming apparatuses like Android Studio. These devices vary dependent on the
picked programming language, information base, and other specialized parts of the task.
We utilized android studio to assemble this application by utilizing Java as our
programming language. Additionally, while chipping away at the improvement of the
undertaking, the results of the plan stage is utilized as the contribution to this stage to
guarantee that everything is created dependent on the possibility of this task.
Page | 47
4.2 Programming Environment:
The programming language that we use to develop product scanning application are java
programming language, XML using Android Studio. The application also uses fast comet
web hosting service that will provides the security needed for our app. The database
queries are written using MYSQL, the queries will use to save, view, and retrieve all the
products. The following points will provide an explanation of the software used for the
implementation.
Android Studio is the development tool for the Android mobile application. The android
studio is a Google product that officially integrated a development environment for the
Android operating system. We had use Android studio for the development of the
application. Android studio is flexible for the different operating systems, including
Windows, mac OS, and Linux.
4.2.2 Java:
Android is the most user-friendly operating system. AVD is the process through which the
application is developed and test on the Android Operating system. The android
application can also be created through Kotlin and Java by using defined SDKs. These
days' cross-platform applications are most common. These applications have the
capabilities to run any operating system. For the Product Scanner Mobile Application
development, we used Android Studio with JAVA for Android application's code
development.
The Android SDK (Software Development Kit) is a set of development tools used to
develop applications for the Android platform. This SDK provides a selection of tools
Page | 48
required to build Android applications and ensures the process goes as smoothly as
possible.
The ADB is a software execution or a tool that allows us to run the commands on a
connected Android device
A software used to write the server side code for REST API to give response to application
related to homes and products.
4.2.7 PHP:
SQL is a domain-specific language used in programming and designed for managing data
held in a relational database management system, or for stream processing in a relational
data stream management system. We used SQL database for this application that
whenever we want to perform any operation related to read or write the SQL query is
executed and the accordingly operation is performed in database.
Page | 49
4.3 Testing Techniques:
Software testing is the act of examining the artifact and behavior of the software under
test by verification and verification. Software testing can also provide an objective,
independent software to allow the business to inform and understand the risks of using
the software. Test methods include, but are not limited to:
We present the following techniques used to test the code and to check if the non-
functional requirements are fulfilled.
The code unit testing is normally finished in various ways rely upon the software engineer.
The Android code will be tried utilizing JUnit testing by building the APK on a specific
gadget containing the test required. Then, at that point, it runs by calling strategies and
change fields to robotize the communication of the client, tests are done constantly to
decrease bugs and blunders. After the unit tests passes, a green signal is passed to
testers to make app ok from all perspectives to make it continues for further processes.
4.3.3 Testing:
Software testing is the act of examining the artifacts and the behavior of the software
under test by validation and verification. Software testing can also provide an objective,
Page | 50
independent view of the software to allow the business to appreciate and understand the
risks of software implementation. Test techniques include, but not necessarily limited to:
Analyzing the product requirements for completeness and correctness in various
contexts like industry perspective, business perspective, feasibility and viability of
implementation, usability, performance, security, infrastructure considerations, etc.
Reviewing the product architecture and the overall design of the product
Working with product developers on improvement in coding techniques, design
patterns, tests that can be written as part of code based on various techniques like
boundary conditions, etc.
Executing a program or application with the intent of examining behavior
Reviewing the deployment infrastructure and associated scripts & automation
Take part in production activities by using monitoring & observability techniques
Software testing can provide objective, independent information about the quality of
software and risk of its failure to users or stakeholders.
We are doing the high level execution of the Product Scanner Mobile application and we
should have to do the testing of each element to ensure that every one of the parts and
the entire framework is working impeccably. So we pick two testing methods for the
testing of Product Scanner Mobile application with the goal that we might test the every
part of the application independently in the advancement stage, Solution-level testing and
just as the acknowledgment testing on the finish of the application. We have done the
accompanying testing types in our application to really take a look at the presentation and
exactness of the application. Component testing was done to test each component part
of application that either is it working fine or not and in last Acceptance test was conduct
whether we checked the final deployment of application that application is building
successfully and all testing was done in Android studio where the application was built
and we performed component testing on main classes of application which are basically
the modules of application.
We have selected a component / component test to test each aspect of the Product
Scanner Mobile application to ensure that it complies with our framework requirements
Page | 51
and does not interfere with anything else. We note that Component / component tests
test directly in the application. The goal is to ensure that every part of the application
completes the correct form. We have done the software component testing on some test
case and the components of app’s classes are tested with their methods as well. There
are many experiments we used to test the application's Component/part testing.
Test Testing Descriptio Input Expected Result Actual Result Pass Remark
Cas Class / n Data / Fail
e Method
1 Login2, This Email, The app will show The app will Pass Positive
Login() component password the main page with show the Results
testing will welcome message, main page
test the otherwise the app with welcome
login asks the user to toast
component enter the correct message,
if user is username and otherwise the
successfull password app asks the
y user to enter
done the the correct
login in app username and
as password
expected
2 Register, This Usernam Once the user A toast Pass Positive
Register() component e, Email, register the showing the Results
testing will password application will take user is
test the , phone the user to the successfully
registration number home page where Signed Up
component they can add new and logged in
if user is home. into to app
successfull also and
y navigation
done the moved user to
Sign Up in home page.
the app
3 Scan This Barcode The camera will A toast Pass Positive
Activity, component number, scan the barcode or showing that Results
Add testing will category, QR code which the the product is
product() test if the item title, most companies added
user can expiry, use and the product successfully.
add the quantity will be added
product successfully
from the
button add
the product
on the
menu
easily edit
details or
not
4 Scan The user Quantity Display all the list of Display all the Pass Positive
Activity, can Number product. list of product. Results
Get determine
product() the number
Page | 52
of products
he wants
by inserting
the number
in the field
of
“quantity”
5 Main The user Entry ID Show the products Show the Pass Positive
Activity, has the and remove the products and Results
Get option to selected one. remove the
Entries() edit and selected one.
remove the
selected
products
6 Main The user User ID The application will The Pass Positive
Activity, can log out end the session and application Results
Logout() the app by show the logo page will end the
click on log session and
out button show the logo
page 2
7 Main This User id, The application will The Pass Positive
Activity, component Home ID, save the new home application Results
Add testing title, and will display the saved the
Home() method will password house code with the new home
check , address saved houses. and displayed
either the the house
homes are code with the
adding by saved
clicking on houses.
add House
button
8 Main The user User id, The application will The Pass Positive
Activity, can join Home ID take user to the application Results
Join home by house that he took the user
Home() click on join joined. to the joined
home house.
button
9 Main The Home ID Deleted home with Deleted home Pass Positive
Activity, application all entries with all entries Results
Del will display
Home() a pop up
message
that says “
do you
really want
to Delete
this home
with all
entries “
and the
user have
the option
to click
cancel or
ok .
Page | 53
10 Main The Home ID The user share the The Home Pass Positive
Activity, application house with other join Results
update will take people the successfully
Home() the desired application only by entering
home that send house home code
the user information which is and password
wants to “ Join My Home on
share with Notify App
people.
Test case 1:
In this test case the login in module of the app in login2 class is tested and the test is
passed that this module is working fine and all according to the requirements and the user
is logged in successfully by entering his details.
Page | 54
Test case 2:
In this test case the registration module in Register2 class of the app is tested and the
test is passed that this module is working fine and all according to the requirements and
the user is signed up successfully by entering his details.
Test case 3:
In this test case the Add product module in Scan Activity class of the app is tested and
the test is passed that this module is working fine and all according to the requirements
and the product is added successfully by scanning.
Page | 55
Test case 4:
In this test case the Get product module in Scan Activity class of the app is tested and
the test is passed that this module is working fine and all according to the requirements
and the product are shown by just writing the product quantity.
Test case 5:
In this test case the Get Entries module in Main Activity class of the app is tested and the
test is passed that this module is working fine and all according to the requirements and
all the products added are shown and could be edited or deleted.
Page | 56
Test case 6:
In this test case the Logout module in Main Activity class of the app is tested and the test
is passed that this module is working fine and all according to the requirements and the
user is successfully logout of the app just by clicking the logout button.
Test case 7:
In this test case the Add Home module in Main Activity class of the app is tested and the
test is passed that this module is working fine and all according to the requirements and
the homes are added successfully by entering home related details.
Page | 57
Test case 8:
In this test case the Join Home module in Main Activity class of the app is tested and the
test is passed that this module is working fine and all according to the requirements and
the homes are added successfully to user’s profile.
Test case 9:
In this test case the Delete Home module in Main Activity class of the app is tested and
the test is passed that this module is working fine and all according to the requirements
and the homes are deleted successfully from user’s profile as well as from database also.
Page | 58
Test case 10:
In this test case the Share Home module in Main Activity class in Update Home function
of the app is tested and the test is passed that this module is working fine and all according
to the requirements and the homes are shared successfully to users.
Integration testing is the sort of testing where we incorporate every one of the units of the
project and test to check their stream together. This application is go about as the pre-
last trial of the system. Each of the units of the application are incorporated individually
and tried effectively. A few bugs or mistake happened in joining testing then we passed
the framework again through unit testing and afterward again coordinated and tried over
and over. In this task, we have numerous exercises, so we did combination testing by
consolidating the exercises as a whole.
Page | 59
4.3.1.3 System/Acceptance Testing:
Acceptance Testing is a level of testing that ensures a complete and fully integrated
software product. The purpose of the system test is to check the details of the end-to-end
system. Often, software is just one aspect of a larger computer-based program. We
picked System testing to test the whole Product Scanner Mobile Application in one go to
make sure it is compliance with our requirements of the system and has no bug or error
in it and the Product Scanner Mobile Application is working fine.
In this testing we tested all of the Product Scanner Mobile Application and app is working
fine all according to the requirements and the app is built successfully without any error.
We had applied system testing on Product Scanner Mobile Application by creating the
test case for app that the app had passed this test case and in that test case we checked
all of the functionalities of the application. The system testing we applied when the app
was fully completed and after each deployment confirmation we applied system testing
on the app to check its authenticity and checking if it’s fulfilling all functional and non-
functional requirements. After passing all tests app is successfully build without any error
and it’s acceptable. All partners of Product Scanner Mobile Application tried the
application and application was feasible with all necessities and is accepted.
Page | 60
4.3.1.4 Deployment:
Software deployment includes all of the steps, processes, and activities that are required
to make a software system or update available to its intended users. Today, most IT
organizations and software developers deploy software updates, patches and new
applications with a combination of manual and automated processes. Some of the most
common activities of software deployment include software release and software
installation.
Product scanner app’s development and testing phase is done so now this application
will be deployed. We have not deployed this application yet. After final testing all
stakeholders saw that app is successfully build and all testing is done so an acceptance
notification was published for the app and app is finally done with development and will
be uploaded on Google Play store. This application will be available for all users who
want to manage stock of products.
The User who will use this app should have an Android device either Android phone or
android Tablet and the he must have all the product labeled with proper barcodes on it
so that the app can scan barcode of them and can add them in products list.
This app will be Available on Google Play store very soon so that any android user can
download it and could take benefit from it and can manage his stock easily.
Page | 61
4.4 Validation:
Validation is the process of testing whether a software system meets the conditions and
requirements to achieve its intended purpose. It can also be called software quality
control. It is the process of establishing documentary evidence that ensures that the
computer system is installed correctly that will meet the needs and functions of users
depending on its intended use. Software Validation is the verification process and
verification processes performed on the final product used or integrated. This is achieved
by examining system products at all levels of product structure and comparing them to
the expectations of the participants at that level and that is why a survey was conducted
on the Product Scanner Mobile Application to verify that application and the users of the
application and then answer the question. Software validation checks that the software
product satisfies or fits the intended use (high-level checking), i.e., the software meets
the user requirements, not as specification artifacts or as needs of those who will operate
the software only; but, as the needs of all the stakeholders (such as users, operators,
administrators, managers, investors, etc.). There are two ways to perform software
validation: internal and external. During internal software validation, it is assumed that the
goals of the stakeholders were correctly understood and that they were expressed in the
requirement artifacts precisely and comprehensively. If the software meets the
requirement specification, it has been internally validated. External validation happens
when it is performed by asking the stakeholders if the software meets their needs.
Different software development methodologies call for different levels of user and
stakeholder involvement and feedback; so, external validation can be a discrete or a
continuous event. Successful final external validation occurs when all the stakeholders
accept the software product and express that it satisfies their needs. Such final external
validation requires the use of a survey where some question about the application could
be asked to audience or stakeholders.
The Monkey Survey tool is used for Validation purpose and we wrote some of the
questions and send it to multiple viewers and give the app to those who asked them to
check the app and answer the next question accordingly. We confirmed the request
through research. Every user has a different idea of using the app. In one case the app
was awesome and in others it said it needed to be upgraded. We have ensured that the
design model is complete and accurate or not. We reviewed the entire app and created
questions about the entire app.
Page | 62
4.4.1 Validation Survey:
The survey was made in Monkey Survey Tool. We have specifically chosen Random
audience as well as stakeholders of the application who will use the Product Scanner
Mobile Application.
We have done our survey about our application Product Scanner Mobile Application. In
this survey, we asked people about the idea we gave in our application of scanning the
products. In that survey, we gave four options effective, very effective, least effective, or
not effective. A total of 28 people 18 people think that this application is effective for us
and we can use it on daily basis except for 1 for whom it is not effective. 39.29% people
think that this is very effective for them. One person skips that survey. Graphical
representation is shown above.
Page | 63
Figure # 31 Survey Question 2
The next question which was asked was, what is the least likely thing about Product
Scanner Mobile Application? The most common response was Look and feel with a
percentage of 28.57%. One more option contains the same percentage and the majority
of them answer stability of Application. That means most of the users find this application
stable and good by appearance. The least answer was functionality with a percentage of
3.57%. Other options like Speed; navigation is on average with the percentage of 25.00%
and 14.29%
Page | 64
Figure # 32 Survey Question 3
We had asked, what is the most likely thing about Products scanner Mobile Application?
Out of 29 people, 28 showed their interest in which majority of people said that its
functionality is unique with a percentage of 39.29%. Who thinks that this application
contains awesome navigation with a percentage of 21.43%. It shows that this application
has awesome Navigation is in seniority.
Page | 65
Figure # 33 Survey Question 4
This question was also included, what do you think that the Product Scanner Mobile
Application will really help in managing products’ available stock and will save out time?
The mass number of people said yes with a percentage of 96.43%. An only person did
not find it useful. This showed that this application is going well.
Page | 66
Now the question is, is the design of the Product Scanner Mobile Application complete
and accurate and all according to desired requirements? Out of 28 people, Superiority
was on Yes. It contains the percentage 82.14%. Eight people said No on the basis of their
experience. Overall Design of the Product Scanner Application is good that is concluded
by most users.
Now the question asked, what did you think about why we developed an Android Product
Scanner Application, not an IOS app? Out of 28 users, 14 users anticipate that it is easy
to develop and less costly with a percentage of 25.00%. But in max users surmise that it
is just because of Large User Base with the percentage of 32.14%. More stable was on
the percentage of 17.86%.
Page | 67
Figure # 36 Survey Question 7
We took a survey and asked people to answer how the design of the Product Scanner
Mobile Application is? First of all, we discuss the graph. The design of the product scanner
Mobile application has a graph which describes that how many people answered the
questions and how many people answered to the given choices that are represented with
the percentages. Total people are 29(28 persons answered and 1 person skipped). We
have 4 choices of answers are Attractive, Very Attractive, Least Attractive, and normal.
42.86% of people responded to Attractive, 28.57% responded to Very Attractive, 7.14%
responded to Least Attractive and 21.43% responded to the Normal choice. So, 12
persons get the design of the product scanner Mobile application.
Page | 68
We took a survey and asked people to answer. How well do you think this product would
stand out against those already in the market? The graph describes that how many people
answered the questions and how many people skipped to answer. Total people are 40
(10 persons answered and 30 person skipped). The graph shows the answers "Extremely
well, very well, somewhat well, not so well “and “not at all well ". 4 persons responded
40% to the “somewhat well " on the other hand 3 persons showed their response 30% to
“very well " and the so on. So, more people showed a positive response to this survey
question.
Page | 69
Figure # 38 Survey Question 9
Next question is that, How excited you are to use the Product Scanner Mobile
Application? The answering choices were Extremely Excited, Very Excited, and
Somewhat Excited, Not so Excited and the last one is Not Excited. 10 persons responded
35.71% for Extremely Excited, 14 persons responded 50.00% for Very Excited, 2 persons
responded 7.14% for Somewhat Excited, 1 person responded 3.57% for Not so Excited
and the last one person also responded 3.57% for Not Excited.
Page | 70
Figure # 39 Survey Question 10
In this survey question was asked from the users, did this Mobile Application Project
interpret the desired results. The community was on Yes percentage of 89.29%.and
10.71% said no. Out of 29 users, 26 was on yes and 3 said No. Multitude was on Yes
which is the good sign.
There is a total of 29 responses are given with an almost completion rate of 100%. The
typical time spent by each person is 1m: 18s. It shows the good behavior from the whole
survey. We simulate from this survey from the total of 29 responders almost 100% results
is found that seems an app is on good rank.
Page | 71
4.5 Computing-based Solution/System Design:
Project Design is an outstandingly basic stage used to encourage no less than one plans
that can be used to achieve the goals of the assignment you want. This stage is a huge
stage hereafter the consequence of this stage will be inputted in the headway part of the
errand. In this arrangement stage, no less than one arrangement screens of the
application are made, in which the eventual outcome of the errand could be considered
to be open. Dependent upon the subject of the errand, the consequences of the
arrangement stage may consolidate Final Mobile application screens. The arrangement
stage is going probably as the establishment of the arrangement cycle and programming
headway process. We had followed nimble method while arranging the application. We
used Android studio Tool and XML programing language to encourage the last
arrangement of this application.
In this section we followed the Graphical User Interface (GUI) plan manages and made
the interface of Product Scanner Mobile Application.
Input design is the input form control elements that get the user's data on the any GUI
called input control elements. Through input control elements, users can interact and pass
data to the database of the system. The input design must be simple to interact with the
design to pass the data efficiently.
There are the following points that must be considered during the development of the
software system:
All the data stored in the database must be validated before storing through the
validation control feature implements on the system's user interface.
The access control must provide the limitations to the interface's critical area such
as through a token; we can restrict the users to execute Firebase database code
on the GUI level to avoid hacking improve security.
Input design must-have traditional information that will allow the users to interact
easily and understand quickly.
The above practices are beneficial during the design phase of GUI design and allow the
system developers to design interfaces and inputs with high interaction level.
Output design is the second most crucial UI design factor directly linked with the user
experience while interacting with the system user interface at the time of output. Output
Page | 72
design has similar factors as the input design but deals with presenting the information or
the data in the most user-friendly manner. In contrast, data will retrieve from the database.
In the development or design of the system interfaces, the designer must manage all the
necessary details, including the animation, color scheme, etc. The aim behind any
application design is to improve the system's users' interaction with the system. The
output design must be efficient and must be error-free. The design must be simple with
understandable details.
Database design deals with the storage of data or information in the database. For the
Product Scanner Mobile Application database development, we need to choose a highly
efficient database model to design many tables to fulfil all the user's requirements. We
need such tools and technologies to trust and relay for the flexible database system's
design and development. We agreed that the SQL database is the best tool for designing
and developing the Product Scanner Mobile Application database through deep research
and discussion. In this section, we followed the Graphical User Interface (GUI) design
guidelines and created the Product Scanner Mobile Application interface.
We used standard terms developed by Jakob Nielsen to design the UI of the application
that will be used by the Product Scanner Mobile Application. Mr. Nielsen is a popular web
application usability link; made those rules with Rolf Molich an expert in practicality in
1990 to solve the most common problems in the use of the user interface. That's right 10
heuristics to measure app usage:
Figure # 41 UI guidelines
Page | 73
1. System status: The application must always inform the user about it functions and
duties by providing a visual representation of any action performed by user or response,
response time should be reasonable and visible. Product Scanner Mobile Application will
show progress with the spinner to show when the action is loaded.
2. Match between program and real world: User should easily translate application due
to common language, phrases, actions of the real world, and concepts. All actions and
ideas within Product Scanner Mobile Application. Application will be familiar to the user
naturally language and follow the meanings of the real world.
3. User control and freedom: The user must be able to undo and redo any actions at any
time or revert to previous screens. He should also be able to get out or out at any time
situation without the burden of going through a long conversation.
4. Consistency and standards: The application will controlled by assembler who will follow
all the standards and will operate application consistently with up gradations.
5. Blocking Error: The app must use the appropriate controls to prevent any problems
that do not arise. Errors are not at the technical level where the user is able to manage,
Product Scanner Mobile Application. Application will use the previous and different terms
to prevent any errors that can be seen by the user and user can ask maintainer to fix
them.
6. Acceptance rather than recall: The app should visualize appropriate activities for the
purpose of the application. User attention is limited, and database firebase should be
considered when establishing a Sign or sign up UI. All actions and commands in Product
Scanner Mobile Application. Application will be visible to the user when needed according
to his needs.
7. Flexibility and efficiency of use: Product Scanner Mobile Application includes a number
of steps and steps the user should be able to finish with a minimum number of categories
with minimal communication for the user, fast navigation is very easy for the user.
8. Aesthetic and minimalist design: Product Scanner Mobile Application will work on
mobile devices such as mobile phones and tablets, memory should be kept low due to
limited screen sizes. Unwanted assets have been removed so they do not reduce the
visibility of the right details to user.
9. Help users identify, diagnose, and recover from errors: Product Scanner Mobile
Application will not show errors code but only in the native language can the user translate
and receive it. With the problem that will arise will be a clear solution.
Page | 74
10. Help and documentation: Along with the Product Scanner Mobile Application program,
there will be a user manual writing performance tasks, this will be the option to go there
the user needs to search for the problem they are facing.
An architecture diagram describes what you're building, how stakeholders interact with it,
and where constraints lie. A design diagram explains how to build it. The architecture
diagram of Product Scanner Mobile is shown and the connection between app, phone
and servers is shown:
Page | 75
of the data either login data or either products or homes data all is sent and fetched
through API using HTTP protocol via Network connection over internet to DNS
which linked with Hosting server where our data and REST API resides. When the
data is sent or fetched through app it is basically operates as a request to hosting
server and REST API input queries for that and then that queries are processed
by hosting server and submitted to SQL server which executes that queries and
stores or fetches data from database server.
When the product's data is fetched and product is near to expire or expired then
the notification for that product is sent to mobile app or that user accordingly.
When clicking on the application NOTIFY icon the first user interface shows is the login
page. A user navigates to an application and is presented with a login page as a way to
gain access to the application. There are two possible results: Authentication is
successful and the user is directed to the application landing page. Authentication fails
Page | 76
and the user remains on the login page. A login screen is an entry page to a mobile
application that requires user identification and authentication, regularly performed by
entering a username and password combination. It contains two portions for the login,
Email, and password. If a person enters the wrong Email or password an alert toast
notification appears a few times. After entering the correct password and email we enter
the new activity that is on the home page. It will display the home on the top by clicking
on the key down option it will show the entire home that I already enter there before
(Apartment 20, test, house1, villa77, test, etc.). There are also 3 buttons given in the
below section that is ADD HOME, JOIN HOME, LOGOUT. There is also an option given
if you want to delete any home display. You can also share home by clicking on the share
icon given there. The product's expire date is also mentioned with the product name.
If we want to add a home we will just click on the Add HOME BUTTON a new notification
will appear that contains the details of the adding new home. This contains the information
requirements with code. House title, house password, confirmed password, Address.
After fulfilling all of these requirements, we just a simple click on the ADD NEW HOME
button. If we want to join with the already existing home. We just clicked on the JOIN
HOME button again the notification message will appear that will ask for the house code
you want to attach with and also the house password to show that you are the
authenticated user. After this, if you want to add any product you just click on the add
product icon and all details of the product will appear after loading from the database.
Condition is that product should be declared in the database. That will show the loading
toast for loading products from the database. If that product is not present in the database
it will add to the database and then shown. If we want to share a home through another
Page | 77
application. Clicks on the share icon enable application will appear user selects the
application and then share it with anyone.
If you want to add any product to enter just click on the given add product icon. After
clicking on the button we reach the new activity. This product description activity contains
the following options barcode number. When this barcode is scanned, in the backside
database is checked whether this product is described in the database or not. Item title is
editable. The expiry date is also editable. And the notification delay time is also selected
by the user. After adding the product and completing the product. When you enter a word
from the database suggestions are also shown for easiness. By clicking on the plus sign
image you can add the image of the product. When you add a new product and make it
done. A toast notification is shown for a few seconds to remind you that you will be notified
about your product on that specific date.
Page | 78
Figure # 46 Design Interface part 4
When a user selects any home such as house 1 that house is opened. You can delete
the home of your own choice and also share it with other persons. You can also add the
new home by clicking on the Add home button. If the user selected the Test home and its
products are expired then they will show in red color as shown egg and Cafe crema of
the home test are expired and they are notified on the date which is specified by the user.
In another home activity with the name of Apartment 20, all the products of it is not
expired. A notification is also mentioned below that user will be notified on the sure date
which you selected.
Page | 79
Figure # 47 Design Interface part 5
If you want to delete the selected home just click on the delete button with the bin icon on
it. A new dialogue box is opened which lets you notify “Do you want to delete this home
with all entries in it”. All the items and entire data will be deleted after clicking on Ok.
Some people find anonymity reduces perceived accountability, which can lead to
unproductive behavior. Some people find contributing without having a fixed identity to be
disempowering and unpleasant. Creating an account is one way to resolve such feelings.
In the last, if the user has no account before he can just click on the create account, and
new activity of signup is opened that will ask your name, your email, password that would
remain protected, phone number with the specific format given. A different format is not
acceptable for this. After filling in all the information just click on the register button and
your account is created. If you have an account already just click on the already registered
and login with your old password and email.
Page | 80
4.6 Implementation:
In the design phase, we have constructed the layout that our system will be built on along
with the all of the screens of the Android application. Moving forward to the development
phase, we use the output of the previous phase as input to develop our Android
application. The development phase enables the programmers to convert the
underdeveloped system's logical schema into a physical working system. The
development of the physical schema consists of a database implementation, backend
implementation, and GUI design. Any software product has three core parts that interact
with each other to perform specific functionality. These factors include:
GUI.
Database.
Back end.
When the above three-part work together results in the development of a fully functional
system. Another factor is the selection of technology that must be compactable with the
system requirements and functionalities that result in efficient and reliable software
products.
As it is an android phone application so we did used the native java for android logic
development. For front end design we did used XML to make the layouts of the app.
The major reason for choosing android platform was to make the app available on
fingertips. Now a days every single person has personal smartphones and they use
various applications to make their daily works easier. To use an android app user does
not have to do any setups to run the application they simply need to download and install
the app an all will be in their hands. The other major reason for choosing this platform is
that the user will not have to buy any extra hardware like QR-Code reader etc. they simply
user the mobile phone camera as scanner that will attract more users as they will not
have to buy anything extra and our solution will be more cost effective.
The graphical user interfaces are the physical representation of any software system that
allows users to interact and perform operations according to system functionality. The
design phase converts the logical schema into the physical GUI design. The GUI of any
software program consists of data-driven menus, form, controls, and other graphic details.
We have developed the GUI of Product Scanner Mobile Application in android studio
using XML language.
Page | 81
4.6.2 Code Implementation:
This part consists of codes which we had implemented for Product Scanner Mobile
Application. This part consists of some main codes of some design screens.
Register Class:
This class is used to do registration for user of this application. The user fills the required
fields with their credentials and this class after verifying that no field is empty registers the
user in database.
Page | 82
Login Class:
This class is used for login of the user that user his already saved credentials into login
screen and app sends that credentials to server to verify for existing user and if user
exists then app allows user to use the app and keeps user to main screen.
Page | 83
Login Class:
This class is the scan activity class which scans the products and save them or fetch the
products data accordingly. In this activity class whenever the user wants to use scanner
the user make have to allow for permission to use camera then the user can use scanner.
Page | 84
Entry Class:
This entry class is used for entering items in stock. This class also maintain the record for
expiry items and when the item got expires this class send notification to user and also
make that item read as well.
Page | 85
Alarm Receiver Class:
This class is used to receive expiry notifications for items when the item is going to
expire. This class will tell the item name with Item expire soon text to the user so that
user may replace that item and can maintain his stock.
Page | 86
4.6.3 Database Implementation:
For database storage we are about to use MySQL database that will be on our server to
access database from the web server we did develop APIs in PHP that will let the app
communicate with the database. There are few reasons why we used MySQL database,
the most basic reason is that MySQL is highly scalable and is relational database that we
have firm grip. MySQL is a domain-specific language used in programming and designed
for managing data held in a relational database management system, or for stream
processing in a relational data stream management system. It is an open-source
relational database management system (RDBMS). A relational database organizes data
into one or more data tables in which data types may be related to each other; these
relations help structure the data. The database created for this application on hosting
server along with all tables with some data used is shown below:
Figure # 54 homeowners
Page | 87
Figure # 55 entries table
Page | 88
4.7 Conclusion:
Our project is built to provide an easy and efficient way of maintaining stock of products
just by scanning bar code. With the everyday advancements in computer science and
technology, all businesses are transforming how they work to carry out their daily tasks.
Even the living style is abruptly changing with the changes in technology. Our app named
“Product Scanner,” which basically scans the products. Like in most businesses, they
need to keep track of the available stock of the products. But to manually keeping that
data up to date requires time. Our app allows the users to scan the bar code of the
product. The app checks for the bar code. If the product already exists, it updates the
existing product. If the bar code of the product does not exist in the system, then the app
allows the users to input the details of the product. The app notifies the user about the
available quantity of the product. It also notifies about those products that are about to
expire so that the user can save the product from expiring. We have used the PHP API
to store and download data and send it to the application. We have outlined the design
phase of the program which will include the tools we have used, the design method in
general. This chapter will also cover the development phase including selected
development tools and will better define the programming language, the database
selection, and integration of two different systems together in detail. In addition, this
chapter spoke about testing strategies used to ensure that the system is operating
according to requirements. After that the implementation phase is discussed that how the
app and database is developed.
Page | 89
Chapter 5: Conclusion:
In summary this whole project was on the project initiation that was gathering the
requirement and project planning, but it also involves the computer-based solution, which
was verbally presented, and it also had a proper designing and implementation phase.
Without designing and implementation for phase word followed by the test and
maintenance system within the risk mitigation phase and risk breakdown structure. It
defined the project charter and milestone collectively. The report also discussed the
technical feasibility and functional requirement for the project that are laid out so the
project planning phase is complete for the analysis and requirement based so we can
make the actual product. This starts by showing all the views of the built-in view, followed
by the Click User Interface design rules (GUI), as well as the software and programming
languages used improve the system. We made various diagrams of the application to
understand the needs of the people according to its user type better and can make it
accordingly.
Page | 90
References:
Ali, N. H., Shukur, Z., & Idris, S. (2007). A design of an assessment system for UML
class diagram. Paper presented at the 2007 International Conference on
Computational Science and its Applications (ICCSA 2007).
Baudry, B., Le Traon, Y., & Sunyé, G. (2002). Testability analysis of a UML class
diagram. Paper presented at the Proceedings Eighth IEEE Symposium on
Software Metrics.
Bittner, K., & Spence, I. (2003). Use case modeling: Addison-Wesley Professional.
Claessens, B. J., Van Eerde, W., Rutte, C. G., & Roe, R. A. J. P. r. (2007). A review of
the time management literature.
Fantechi, A., Gnesi, S., Lami, G., & Maccari, A. J. R. E. (2003). Applications of linguistic
techniques for use case analysis. 8(3), 161-170.
Genero, M., Piattini, M., & Calero, C. (2002). Empirical validation of class diagram
metrics. Paper presented at the Proceedings International Symposium on
Empirical Software Engineering.
Hansen, D. R., Mowen, M. M., & Heitger, D. L. (2021). Cost management: Cengage
Learning.
Ibrahim, N., Ibrahim, R., Saringat, M. Z., Mansor, D., & Herawan, T. (2011). Definition of
consistency rules between UML use case and activity diagram. Paper presented
at the International Conference on Ubiquitous Computing and Multimedia
Applications.
Kim, S.-K., & David, C. (1999). Formalizing the UML class diagram using Object-Z.
Paper presented at the International Conference on the Unified Modeling
Language.
Page | 91
Kulmala, H. I., Paranko, J., & Uusi-Rauva, E. J. I. J. o. P. E. (2002). The role of cost
management in network relationships. 79(1), 33-43.
Li, X., Liu, Z., & Jifeng, H. (2004). A formal semantics of UML sequence diagram. Paper
presented at the 2004 Australian Software Engineering Conference.
Proceedings.
Linzhang, W., Jiesong, Y., Xiaofeng, Y., Jun, H., Xuandong, L., & Guoliang, Z. (2004).
Generating test cases from UML activity diagram based on gray-box method.
Paper presented at the 11th Asia-Pacific software engineering conference.
Rolland, C., Achour, C. B. J. D., & Engineering, K. (1998). Guiding the construction of
textual use case specifications. 25(1-2), 125-160.
Schwaber, K. (2004). Agile project management with Scrum: Microsoft press.
Schwaber, K., & Beedle, M. (2002). Agile software development with Scrum (Vol. 1):
Prentice Hall Upper Saddle River.
Shank, J. K. J. J. o. m. a. r. (1989). Strategic Cost Management: New.
Taniguchi, K., Ishio, T., Kamiya, T., Kusumoto, S., & Inoue, K. (2005). Extracting
sequence diagram from execution trace of Java program. Paper presented at the
Eighth International Workshop on Principles of Software Evolution (IWPSE'05).
Ibrahim, N., Ibrahim, R., Saringat, M. Z., Mansor, D., & Herawan, T. (2011). Definition of
consistency rules between UML use case and activity diagram. Paper presented
at the International Conference on Ubiquitous Computing and Multimedia
Applications.
Kim, S.-K., & David, C. (1999). Formalizing the UML class diagram using Object-Z.
Paper presented at the International Conference on the Unified Modeling
Language.
Kulmala, H. I., Paranko, J., & Uusi-Rauva, E. J. I. J. o. P. E. (2002). The role of cost
management in network relationships. 79(1), 33-43.
Li, X., Liu, Z., & Jifeng, H. (2004). A formal semantics of UML sequence diagram. Paper
presented at the 2004 Australian Software Engineering Conference.
Proceedings.
Page | 92
Linzhang, W., Jiesong, Y., Xiaofeng, Y., Jun, H., Xuandong, L., & Guoliang, Z. (2004).
Generating test cases from UML activity diagram based on gray-box method.
Paper presented at the 11th Asia-Pacific software engineering conference.
Rolland, C., Achour, C. B. J. D., & Engineering, K. (1998). Guiding the construction of
textual use case specifications. 25(1-2), 125-160.
Schwaber, K. (2004). Agile project management with Scrum: Microsoft press.
Rocca, S., Galati, N., & Nanni, A. (2009). Interaction diagram methodology for design of
FRP-confined reinforced concrete columns. Construction and Building Materials, 23(4),
1508-1520.
Ranjbaran, A., & Rousta, H. (2013). Interaction diagram for dynamic stability by Laplace
transform. NED University Journal of Research, 10(1), 31-39.
Ali, N. H., Shukur, Z., & Idris, S. (2007, August). A design of an assessment system for
UML class diagram. In 2007 International Conference on Computational Science and its
Applications (ICCSA 2007) (pp. 539-546). IEEE.
Baudry, B., & Le Traon, Y. (2005). Measuring design testability of a UML class
diagram. Information and software technology, 47(13), 859-879.
Chin, E., Felt, A. P., Greenwood, K., & Wagner, D. (2011, June). Analyzing inter-
application communication in Android. In Proceedings of the 9th international
conference on Mobile systems, applications, and services (pp. 239-252).
Butler, M. (2010). Android: Changing the mobile landscape. IEEE pervasive
Computing, 10(1), 4-7.
Page | 93