100% found this document useful (1 vote)
125 views74 pages

FOOD MOOD Android Application DOCUMENTATION

This document describes an Android application called "Food Mood" developed by students at the University of Central Punjab. The objective of the app is to suggest foods to the user based on detecting their mood through facial expressions. It was developed using Android Studio and involves modules for facial detection, mood analysis, food suggestions, and displaying nearby food places. The app aims to help users understand their mood and select appropriate foods to eat.

Uploaded by

Mushkaat khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
125 views74 pages

FOOD MOOD Android Application DOCUMENTATION

This document describes an Android application called "Food Mood" developed by students at the University of Central Punjab. The objective of the app is to suggest foods to the user based on detecting their mood through facial expressions. It was developed using Android Studio and involves modules for facial detection, mood analysis, food suggestions, and displaying nearby food places. The app aims to help users understand their mood and select appropriate foods to eat.

Uploaded by

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

FOOD MOOD Android Application

(Android Application)

ASMA FAYYAZ.
(R1F17ASCS0022)

KASHMAIL KHAN.
(R1F17ASCS0066)

SANA SAGHIR.
(2115)

MARYAM ASAD.
(R1F17ASCS0063)

Supervised by
PROF.AHMED ASLAM.

I
UNIVERSITY OF CENTRAL PUNJAB,6TH ROAD, (RAWALPINDI CAMPUS).
2018-19

FOOD MOOD Android Application.


By

ASMA FAYYAZ.
(R1F17ASCS0022)

KASHMAIL KHAN.
(R1F17ASCS0066)

SANA SAGHIR.
(2115)

MARYAM ASAD.
(R1F17ASCS0063)

Supervised by
PROF.AHMED ASLAM.

II
A PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS OF THE DEGREE OF

ADP(CS).
ASSOCIATED DEGREE PROGRAM IN COMPUTER SCIENCE.

UNIVERSITY OF CENTRAL PUNJAB (RAWALPINDI CAMPUS).


2018-19

We Dedicate this project to our beloved parents and to all those,


whose prayers always pave the way to success for us.

III
PROJECT IN BRIEF

Project Title : Food Mood Application

Organization : University of Central Punjab (Rawalpindi Campus).

Objectives : The objective of this android application is to suggest food to the user
by detecting his mood through his facial expressions.

Undertaken By : Asma Fayyaz.


Kashmail Khan.
Sana Saghir.
Maryam Asad.

Supervised By : Prof Ahmed Aslam.


Date Started : july 2019
Date Completed : august2019
Technologies Used : Android Studio(Version 3.4)
Operating System : Windows 10
System Used : 8 GB RAM
2.0 GHZ processor
Minimum 300 GB hard disk
Core i3

IV
ACKNOWLEDGEMENT

Thanks to Almighty Allah for giving us knowledge, power and strength to accomplish
this task. We learned a lot while doing this project and this will certainly help us in our
forth coming life. Many friends of us helped us during this project but we are really
thankful to the help and support of Mr. Ahmad Aslam from Institute of Information
Technology, who helped us in all the phases of this project. His supervision helped us a
lot during the times of difficulties. In the end we would like to thank all of our friends for
their support and encouragement.

Asma Fayyaz.

Kashmail Khan.

Sana Saghir.

Maryam Asad.

V
DECLARATION

We hereby declare that this software, neither as a whole nor as a part has been copied out
from any source. It is further declared that we have developed this software and
accompanied report entirely on the basis of our personal efforts. If any part of this project
is proved to be copied out from any source or found to be reproduction of some other. We
will stand by the consequences. No portion of the work presented has been submitted in
support of any application for any other degree or qualification of this or any other
university or institute of learning.

Asma Fayyaz.

Kashmail Khan.

Sana Saghir.

Maryam Asad.

VI
CERTIFICATION

It is certified that the contents and form of the project entitled “FOOD MOOD APP”
submitted by:
Asma Fayyaz (R1F17ASCS0022),
Kashmail Khan (R1F17ASCS0066),
Sana Saghir (2115),
Maryam Asad (R1F17ASCS0063),
has been found Satisfactory for the requirements of

UCP- University Of Central Punjab, (Rawalpindi Campus)

For the award of the degree of

ASSOCIATED DEGREE IN COMPUTER SCIENCE


ADP (CS)

Supervisor: ___________________
Prof Ahmed Aslam

Evaluator 1: _________________
Sir Muhammad Irfan

Evaluator 2: _________________
Sir Hassan

Dated: Director: ____________________________


Prof. Asad

VII
ABSTRACT

 “FOOD MOOD APP” is an application in which user just has to click his picture
through the camera.
 This picture will be detected by the app in three stages which are as follows:
1) Detection of mood.
2) Suggestion of food according to his facial expressions.
3) Providing him with the location of available places with price.

 Many people are confused about their mood. Also they don’t know what they should
eat in a particular mood.
 So, this app will help them to understand their mood and the food they should prefer
to eat.

VIII
Table of Contents

PROJECT IN BRIEF...............................................................................................IV
ACKNOWLEDGEMENT........................................................................................ V
DECLARATION.....................................................................................................VI
CERTIFICATION ................................................................................................. VII
ABSTRACT ......................................................................................................... VIII
CHAPTER 1 ................................................................................................................... 1
INTRODUCTION ..................................................................................................... 1
1.1 INTRODUCTION................................................................................................ 1
1.2 PROJECT OVERVIEW.............................................................................................. 1
1.3 PROJECT SCOPE .................................................................................................. 1
1.4 PROPOSED SOLUTION ............................................................................................ 2
1.5 PROPOSED SYSTEM COMPONENTS......................................................................... 2
1.5.1 LOGIN / VIEWS: ................................................................................................... 2
1.5.2 DIFFERENT MODULES: .................................................................................... 2
1.6 PROPOSED SYSTEM OUTPUT ................................................................................. 3
1.7 MAIN FEATURES OF THE PROPOSED SYSTEM ........................................................ 4
1.8 INTRODUCTION TO TOOLS AND TECHNOLOGY: ..................................... 7
1.9 LIFECYCLE FOR THIS PROJECT ............ ERROR! BOOKMARK NOT DEFINED.
1.9.1 RATIONALE BEHIND SELECTED METHODOLOGY........ ERROR! BOOKMARK NOT
DEFINED.
1.10 LITERATURE REVIEW ........................... ERROR! BOOKMARK NOT DEFINED.
CHAPTER 2 .................................................................................................................. 8
REQUIREMENT ANALYSIS .................................................................................. 8
2.1 INTRODUCTION: .............................................................................................. 8
2.2 FUNCTIONAL REQUIREMENTS: .............................................................................. 9
2.3 NON-FUNCTIONAL REQUIREMENTS: ................................................................... 12
2.3.1 EXTERNAL INTERFACE REQUIREMENTS ........................................................... 12
2.3.2 PERFORMANCE REQUIREMENTS ....................................................................... 12
2.4 HARDWARE CONSTRAINTS: ....................................................................... 13

IX
CHAPTER 3 ................................................................................................................ 14
DESIGN & ARCHITECTURE ................................................................................ 14
3.1 SYSTEM DESIGN: ........................................................................................... 14
3.2 USE CASE DIAGRAM: .......................................................................................... 15
3.3 EXPANDED USE CASES:- ..................................................................................... 16
3.4 CLASS DIAGRAM ........................................... ERROR! BOOKMARK NOT DEFINED.
3.5 SEQUENCE DAIGRAM: ................................... ERROR! BOOKMARK NOT DEFINED.
3.6 COLLABORATION DAIGRAM: ......................... ERROR! BOOKMARK NOT DEFINED.
3.7 ACTIVITY DAIGRAM:..................................... ERROR! BOOKMARK NOT DEFINED.
3.8 COMPONENT DIAGRAM: .......... ERROR! BOOKMARK NOT DEFINED.
3.9 DEPLOYMENT DIAGRAM: ........ ERROR! BOOKMARK NOT DEFINED.
CHAPTER 4 ................................................................................................................ 23
PROJECT MANAGEMENT ...................................................................................... 23
4.1 MILESTONES ....................................................................................................... 23
4.2 PROJECT CLOSEOUT REPORT: .................................................................... 25
4.3 OPERATION AND MAINTAINENCE ........................................................... 25
4.4 PROJECT RESOURCES: ................................................................................. 25
4.5 RISK MANAGEMENT: .................................................................................... 27
CHAPTER 5 ................................................................................................................ 31
IMPLEMENTATION .............................................................................................. 31
5.1 PROGRAMMING LANGUAGE: .................................................................... 31
5.1.1 INTELLIGENT CODE EDITOR ERROR! BOOKMARK NOT DEFINED.
5.1.2 FAST AND FEATURE-RICH EMULATOR: .............................................. 31
5.1.3 TESTING TOOLS AND FRAMEWORKS: ................................................. 32
5.2 FRAMEWORK: ................................................................................................ 32
5.3 SYSTEM REQUIREMENT FOR VISUAL STUDIO.NET:............................ 32
CHAPTER 6 ................................................................................................................ 33
SOFTWARE TESTING .......................................................................................... 33
6.1 DERIVING TEST - CASE SPECIFICATIONS: ............................................................ 33
6.2 TEST ENVIRONMENT: .......................................................................................... 33
6.3 TESTING IDENTIFICATION: .................................................................................. 33
6.4 TEST PROCEDURE: .............................................................................................. 35
6.5 TESTING TECHNIQUES: ........................................................................................ 35
6.5.1 UNIT TESTING: ................................................................................................. 35
6.5.2 INTEGRATION TESTING: ................................................................................... 35
6.5.3 SYSTEM TESTING: ............................................................................................ 36

X
6.5.3.1 RECOVERY TESTING:..................................................................................... 36
6.5.3.2 SECURITY TESTING: ...................................................................................... 36
6.5.3.3 PERFORMANCE TESTING: .............................................................................. 36
6.6 TEST SCHEDULE: ................................................................................................. 37
6.7 TEST CASES ........................................................................................................ 37
CHAPTER 7 ................................................................................................................ 42
SOFTWARE TESTING .......................................................................................... 42
7.1 DISCUSSION: ....................................................................................................... 42
7.2 CONCLUSION: ...................................................................................................... 43
7.3 LIMITATIONS: ...................................................................................................... 43
7.4 FUTURE WORK .................................................................................................... 44
CHAPTER 8 ................................................................................................................ 45
USER GUIDE ......................................................................................................... 45
8.1: DISCUSSION ........................................................................................................ 45
8.2: APP DESIGN ....................................................................................................... 45
8.2.1:USER LOGIN .................................................................................................... 45
REFERENCES ..................................... ERROR! BOOKMARK NOT DEFINED.

XI
XII
CHAPTER 1

INTRODUCTION
This book provides you a comprehensive introduction and understanding of the
software. It consists of eight chapters (Modules) i.e. from introduction to the software
development and testing. It is a complete guide of the software we are making. The
very first chapter is all about a brief introduction of the problem domain and solution,
features and functionalities, and the resources used to build the software in required
time frame.

1.1 INTRODUCTION
 “FOOD MOOD APP” is an application in which user just has to click his picture
through the camera.
 This picture will be detected by the app in three stages which are as follows:
1) Detection of mood.
2) Suggestion of food according to his facial expressions.
3) Providing him with the location of available places with price.

 Many people are confused about their mood. Also they don’t know what they should
eat in a particular mood.
 So, this app will help them to understand their mood and the food they should prefer
to eat.

1.2 PROJECT OVERVIEW


Our project aim is to suggest food to the user by suggesting him food by detecting
his mood through his facial expressions.

1.3 PROJECT SCOPE


Our project is for those people who are confused about their mood or they feel
hesitation in selecting food due to mood swings. This app would suggest food to them by
detecting their facial expressions.

1
Secondly, in future this app will suggest them music according to the mood detected by
the app.

1.4 PROPOSED SOLUTION

Confusion in selecting food and understanding the mood was a problem.


This app will solve the problem by detecting the mood of the user through his facial
expressions.

1.5 PROPOSED SYSTEM COMPONENTS


Following are the components of this system:

1.5.1 LOGIN / SIGNUP:


This module provides the facility to all users to login with their user id and
password.

1.5.2 DIFFERENT MODULES:

 SPLASH SCREEN MODULE


The first screen that will open by clicking on app is splash screen that consist on
the logo of the app and remain for 10 seconds.

 CAMERA MODULE

This module will be developed in mobile platform that let the user to click a
picture at run-time. Then the app will go for detection process.

2
 SELECTION MODULE

Once the mood is detected,now comes the selection. In this module app will select a
mood from the given list.

 FOOD RECOMMENDATION MODULE

This module will suggest some food according to the detected mode of the user.

 GOOGLE MAP MODULE

This module will provide the user with the location of restaurants in which the
recommended food is available along with the price of food.

 DATABASE MODULE
This module will connect the app to “FIREBASE DATABASE” that is a
database for designed for android applications.

 NETWORK MANAGER MODULE


This module will check the connectivity of mobile to the internet through wi-fi or
mobile data.

1.6 PROPOSED SYSTEM OUTPUT


The output of the system contains:
 Detection result
 Selected mood
 Suggested food
 Suggested music
 Login result
 Location on google map

3
1.7 MAIN FEATURES OF THE PROPOSED SYSTEM
The section discussed above is all about the functional requirements of the system
while this section presents you some of the non-functional requirements or
constraints that must be delivered.

1.7.1 EFFICIENCY:

Efficiency of any system is concerned with the minimum processing time as well
as the optimal use of system resources in designing the proposed system; the
efficiency factor has been taken well into consideration.

1.7.2 USER FRIENDLY INTERFACE:

The interface of the system will be user friendly and self-descriptive. Users will
find it easy to use. The interface is designed keeping in mind that the user finds it
attractive and self-explanatory.

1.7.3 MINIMUM REDUNDANCY:

In the proposed system the data is stored in Firebase database which is an online
database for android applications to store data.

1.7.4 FACILITATED DATA INPUT:

4
The simple-to-use data entry forms will be provided to facilitate the user to enter the
data in the databases. Strong validation techniques are used to improve the accuracy
of the data. The powerful data entry controls have been provided to view, add,
modify, and delete the fields of a record.

1.7.5 DATA SECURITY AND INTEGRITY:

As Firebase is used for the back-end database, which is a true relational database
tool, so all requests to insert data in a table, or to update, delete or view data in a
table must be routed through Firebase engine only. Direct calls for data, cannot be
made through tables themselves. Since there is a single point of control for data
manipulation, therefore it provides excellent data security.

1.7.6 TECHNICAL INNOVATION:

Currently we are using on bootstrap, .NET framework and Asp.NET web form
application, which is the latest in the market. With the development of further
versions of .NET framework and bootstrap framework, we can upgrade the features
of our proposed system according to it.

1.7.7 FLEXIBILITY:

The system is developed using latest technology and standards if any change is
required during development it can be accommodated in the system. The designed
system is iterative and modular so it can accommodate changes throughout the
development.

5
1.7.8 EXTENSIBILITY:

The system is developed using latest technology and standards if any is required
during development can be accommodated in the system. The designed system is
expandable and modular so it can accommodate changes throughout the
development. If any of the new module is added in the future the system can easily
be extended.

1.7.9 SCALABILITY:

The designed system is modular so it is scalable i.e. changes in user requirement or


a component can be easily accommodated throughout the development.

1.7.10 ADHERENCE TO STANDARDS:

We aim to develop our system keeping globally knowledge and technology it will
benefit everyone and will be according to international rules and regulation and
follow all the globally accepted standards.

6
1.8 INTRODUCTION TO TOOLS AND TECHNOLOGY:

Tools Used : Android Studio


Java
Firebase Database.

Technologies Used : Android Framework API


Android Framework SDK

Operating System: Windows 10

System Used : 8 GB RAM (min)


2.0 GHZ processor
Minimum 300 GB hard disk
Hp Core i3

7
CHAPTER 2

REQUIREMENT ANALYSIS
This chapter provides you a comprehensive introduction and understanding of the
requirements. All the things and stuff required to build this application is enlisted in this
chapter. The sections below include the functional /nonfunctional requirements, hardware
constraints etc.

2.1 INTRODUCTION:
With the rapid development of information technology, Android applications have been
increasing in recent years.
The advantage of the Android application:
- Mobile application is convenient to carry.
- Global partnerships and large install base.
- Powerful development framework.
- Open marketplace for distributing apps.

Based on the advantages of android applications, We motivated ourselves to develop a


project on android application.
The system will provide an experience of convenience to the user as he can use the app
anywhere he wants at anytime. Besides, it can let consumers to enjoy their meals within a
short period of time and thus it can increase the satisfaction and turnover rate of the
consumers.

8
 BENEFITS TO USERS:
-Easy to use
-Mood detecting
-Recommendation of food
-Providence of food price
-Providence of location

2.2 FUNCTIONAL REQUIREMENTS:


This section is all about the main features and functionalities of the Application. It
includes details about all the implemented function that are called functional
requirements. The application contains three different views according to the current
workspace that are discussed in the section below.

 Login/sign-up.
 Camera/picture posting.
 Internet connection.

The next sections will describe the requirements based on these views. We open
each view and list all the facilities provided by that view.

2.2.1 LOGIN/SIGNUP:
Features listed in coming subsections will facilitate only the user.

R1: USER LOGIN


 Description and Priority:
This will provide facility of login to users.
Priority of this use case is high.

9
 Stimulus/Response Sequence
After login camera screen will appear.

 Functional Requirements
1. Only system user will be able to login.
2. Username and password shall be verified from database if wrong access
should be denied.

R2: MANAGE PROFILE


 Description and Priority: This will provide facility of creating a profile.
Priority of this use case is medium.

 Stimulus/Response Sequence: System user will use profile link in home page
to create profile. Corresponding form will display.

 Functional Requirements
1. Only system user will be able to create profile.
2. The system checks that the required fields are not empty and update the
database.

R3:MOOD DETECTION:

 Description and Priority


It will detect the mood of user by his facial expressions.
Priority of this use case is medium.

 Stimulus/Response Sequence
By clicking picture and clicking on detect, a new window of mood list will
appear and the app will select a mood from it.
 Functional Requirements
1. Only system will perform this.
.

10
R5: RECOMMENDATION OF FOOD

 Description and Priority


It will suggest the food to the user after detecting his mood.

 Stimulus/Response Sequence
Once the mood have detected, now the app will suggest some food to use
 Functional Requirements
1. Only the system can do this.

R6: NETWORK MANAGER


 Description and Priority
This will check for the internet connection on the device like wi-fi or mobile
data. If there is no internet connection it will give a notification to user.

 Stimulus/Response Sequence
System uses this function.

R7: GOOGLE MAP

 Description and Priority


It will provide the user with the location of restaurant and the price of suggested
food.

 Stimulus/Response Sequence
After recommendation the app will provide user with the location of food along
with its price.

11
2.3 NON-FUNCTIONAL REQUIREMENTS:

A non-functional requirement is a requirement that specifies criteria that can be used to


judge the operation of a system, rather than specific behaviors. This should be contrasted
with functional requirements that define specific behavior or functions.
The nonfunctional requirements of this system are:
 This application will be hosted on domain so can be accessed across the globe.
 The interface of this web application is very user friendly and understandable.
 Minimum Redundancy
 Efficiency
 Availability
 This system can be easily extended to add more features in future.
 Flexibility
 Efficient in use.
 System administrator can communicate to their customers by sending the emails.
 A new system user can be added and his rights can be given by the administrator.

2.3.1 EXTERNAL INTERFACE REQUIREMENTS

 User Interface:
The interface is designed keeping in mind that the user finds it attractive and self-
explanatory. The font must be easy to read and understand. It should be user
friendly.

2.3.2 PERFORMANCE REQUIREMENTS

 Response Time:
Our system will respond in less time. It will take few seconds to display result.
 Validations:
In this system we will use the android form validation to validate different input
forms.

12
 Memory:
Provide efficient use of storage resources for fast storage and retrieval.

2.4 HARDWARE CONSTRAINTS:


To realize the requirement in the data analysis process, the selection of hardware is as
important as software because both have to be compatible with each other so they can
play the important role together.
This Android application can be accommodate on device having Internet access.
E.g. Tab, Smart phones.

13
CHAPTER 3

DESIGN & ARCHITECTURE

This chapter explains all the details about the design & architecture of our Android App.
This chapter is probably the most detailed & extensive chapter of the book which will
surely include seven diagrams. They will include Use Case Diagrams, Sequence
Diagrams etc. It is also known as system design. System design is also needed to
implement the application as it helps the coder to implement those features.

3.1 SYSTEM DESIGN:


Once the requirements and features to be implemented are known, the next step is
designing the architecture draft. It is also known as system design. System design is also
needed to implement the application as it helps the coder to implement those features.
Another big advantage of system design is to facilitate the end user i.e. (he can
understand the work flow). The following list includes diagrams that are used to
implement and test the application.

 Use Case Diagram


 ER Diagram
 Class Diagram

14
3.2 USE CASE DIAGRAM:
A use case diagram captures the actors and the role or functions they perform in system.
It consists of actors, functions and their association. In our scenario four main actors are;
 User

3.2.1 SYSTEM USE CASE DIAGRAM

Figure 3.1

15
3.3 EXPANDED USE CASES:-
A UML expanded essential use case is a more detailed description of the processes
used to accomplish the system function. An expanded use case is built upon a high level
use case. There are two sections to the high level use case which are a heading and
a body. The heading describes the name, actors, description, type of use case, and more.
The body describes typical events and alternatives to the typical events. This includes two
or more columns with an actor action in one column and the system response in the other
column. Typical events will happen 80% or more of the time and alternatives will
happen only 20% or less of the time.

3.3.1 USE CASES FOR USER:-

16
Table 3.1 LOGIN
Use Case login

Actors User

Type Primary

Purpose Login,paste picture,

Overview User should login so that he can use the services.

Pre-conditions • Table Available.


• Database Available.

Typical Course of Events:-


Actor’s Action System Response
1. The use case begins when the user 2. System initializes. System asks
launch application to use its about email and paasword.
services.
3. User enters email and password. 4. System checks that the required
fields should be empty and
selected for user.

5. User select signup/login. 6. System displays the next menu


screen.

Post-Conditions Table should be reserved.

17
3.3.2 USE CASES FOR CAMERA:-

Table 3.2 Perform camera control


Use Case Perform camera control

Actors user

Type Primary.

Purpose Take live picture or select a photo from gallery.

Overview User can click his picture/select picture from gallery


so the app will start detection..
Pre-conditions User must login first.

Typical Course of Events:-


Actor’s Action System Response
1. The use case begins when the user 2. System will start detection after he
logged in. click his picture and clicks on detect
button.

Post-Conditions Take photo/select from gallery button should be


pressed..

3.3.3 USE CASES FOR MOOD DETECTION:-

Table 3.3 Requests for mood detection


Use Case Request for mood detection

Actors user

Type Primary.

Purpose To detect mood from live picture or a photo from


gallery.

18
Overview User can click his picture/select picture from gallery
so the app will start detection..
Pre-conditions User must click his picture/select a photo from
gallery first.
Typical Course of Events:-
Actor’s Action System Response
3. The use case begins when the user 4. System will start detection after he
logged in. click his picture and clicks on detect
button.

Post-Conditions Detect button should be pressed..

3.3.4 USE CASES FOR FOOD RECOMMENDATION:-

Table 3.2 Request for food recommendation


Use Case Request for food recommendation

Actors user

Type Primary.

Purpose App will recommend some food according to the


mood of user.
Overview User’s mood is detected now app will suggest some
food to him regarding his mood.
Pre-conditions User must click food recommendation picture.

Typical Course of Events:-


Actor’s Action System Response
5. The use case begins when the user 6. System will suggest some food on
logged in.

19
7. The basis of detected mood.

Post-Conditions Food recommendation icon must be pressed.

3.3.5 USE CASES FOR LOCATION:-

Table 3.5 location providance


Use Case Location providence
Actors user

Type Primary.

Purpose App will recommend some food according to the


mood of user and provide him with live location on
google map.
Overview App will provide location of foodchain on google
map along with item image,price and name
Pre-conditions User must click food recommendation picture.

Typical Course of Events:-


Actor’s Action System Response
8. The use case begins when the user 9. System will provide the user with
logged in. the location of food

20
3.3 SYSTEM CLASS DIAGRAM:

Figure 3.2

21
3.4SYSTEM ERD DIAGRAM:

Figure 3.4

22
CHAPTER 4

PROJECT MANAGEMENT

4.1 MILESTONES
The project entitled as “FOOD MOOD APP” is divided into several milestones in
order to complete the project within the time limits.
Important phases are:
 Planning and analysis
 UML design
 Development
 Documentation

4.1.1MILESTONE 1 (BEFORE MID)

Table 4.1.1

S.No Elapsed time since start Milestone Deliverable


of the project
1. 1st week & 2nd week Introduction And domain Verbal and paper form.
mining

2. 3rd week & 4th week Requirement analysis Paper form and figures.
and project plan

3 5th week & 6th week Requirement analysis Paper form and figures.
and project plan

4. 7th week & 8th week Project Artifacts & Use case, sequence &
Designing Detailed use cases.

23
5 9thweek and 10th week. Project Artifacts & Activity Diagram,
Designing collaboration, class &
others
6. 11th week & onward Risk Management & Paper form & logo design
development and home activities.

4.1.2 MILESTONE 2 (AFTER MID):

Table 4.1.2
S.No Elapse time since the Milestone Deliverable
start of project
1. 1st week Design & Development Android APP/Firebase DB

2. 2nd week Design & Development Android APP//Firebase DB

3 3rd week Design & Development Android APP//Firebase DB

4. 4th week Design & Development Android APP//Firebase DB

5. 5th week Design & Development Android APP//Firebase DB

6 6thweek and onwards. Testing & Maintenance Android APP//Firebase DB

24
4.2 PROJECT CLOSEOUT REPORT:
Table 4.2.1
Deliverable Date Accepted Contingencies or Conditions

Software Requirement Accepted on Document must meet user


specification 22/12/18 Requirements.

Prototypes Interface should be user friendly.

Software Design and INTIAL DRAFT Project design should be according to


Specification ACCEPTED its implementation.

Project Documentation and Working Documentation should be completed.


User Guide

Complete Project Working Project should be complete running


form, with all its modules running
perfectly.

4.3 OPERATION AND MAINTAINENCE:


This system will be used in “Mobile and Tablets” in order to maintain a good and
loyal relation with the user.
Any problem regarding its maintenance can be discussed and resolved with our
team.

4.4 PROJECT RESOURCES:


Account for all project resource utilized by the project is given to present the
detailed justification of the project, making it easier to understand and
comprehend the necessities for the project.

25
Table 4.4.1

Resource Person who Received Turnover Data


Resources
Project Team
Asma Fayyaz
Sana Saghir
Kashmail Khan
Maryam Asad
Facilities
Internet and electricity Project Team Till the end of project
Equipment
Laptop and android phone Project team Till the end of project

Table 4.4.2
Software Tools
Firebase Database Project Team Till the end of project

Star UML Project Team Till the end of project


MS Office 2010 Project Team Till the end of project
Android Studio Project Team Till the end of project

26
Table 4.4.3

Individual Responsibility

Asma Fayyaz Coding, Quality Assurance


Sana Saghir Coding, Quality Assurance
Kashmail Khan designing and documentation
Maryam Asad designing and documentation

4.5 RISK MANAGEMENT:


Risk management refers to the practice of identifying potential risks in advance,
analyzing them and taking precautionary steps to reduce/curb the risk.

4.5.1 INTRODUCTION
Risk management is performed by different members at the initial planning phase
as well as at the beginning of each process activity. The risk management is
important because it uncovers any inherent uncertainties in the software project
causing the difficulties in estimating the time and resources. Similarly in the
product competition there may be multiple products produced at the same time so it
is necessary to conduct a complete risk analysis to ensure that any other such
products is not marked in the market before its completion.

27
4.5.2 RISK MANAGEMENT RESPONSIBILITIES:
Table 4.5.2

Risk # Risk Name Responsible Mitigation Risk Response


Person Action (S) priority trigger

1 Loss of data The team Keep backups High Whenever data


regularly loss occurs
retrieve it from
the backup
2 Time The team Scheduling High Work couple of
Management Should be on extra hours to
strict bases stay ahead of
time
3 Power issues NA Scheduling Low Work
required accordingly use
battery backups
4 Development The team Plan properly High Extreme efforts
required
5 Testing and The team Detect error Low Extreme efforts
Debugging and work again Required
6 Database Admin Check High
Unavailability database
connection
setting

28
4.5.3 RISK ANALYSIS SUMMARY:
Table 4.5.3 Risk Summary

Risk # Risk name Probability of Impact level Impact


Occurrence Description
Pro_risk_1 Data loss and Least Serious Code understanding and
unmanaged code extensibility will be
difficult
Pro_risk_2 Underestimated Low Serious Project delayed
Time
Pro_risk_3 Power issues High Catastrophic It will be impossible to
deliver in time if correct
measures are not taken
Pro_risk_4 Development High Catastrophic System would
Not work.
Pro_risk_5 Testing and Low Serious Manage Easily
debugging
Pro_risk_6 Excessive Users Low Serious It is tested for four users
at time. It may possible
that excessive amount of
users the response time
may hinder.

Pro_risk_7 FTP Service High Catastrophic FTP Service must be


available all time to
upload and download files
in case of failure files
can’t be uploaded and
downloaded.
Pro_risk_8 Buggy Code Least Catastrophic Code is infected with
bugs and requires time

29
and resource to debug the
application.
Pro_risk_9 Application Low Serious The software must meet
Performance minimum performance
goals, otherwise
functionality becomes
meaningless.

30
CHAPTER 5
IMPLEMENTATION
The project is developed as a android application. This chapter is confined to the tools
and technologies used to develop the software. It also contains the implementation and
deployment platforms needed for the software. It has the following tools and
technologies used for its implementation.

5.1 PROGRAMMING LANGUAGE:

This Android application is developed using Android Studio (IDE) and Java language
and Java JDK. Android Studio is an integrated development environment (IDE) is a
software application that provides comprehensive facilities to computer programmers
for software development. An IDE normally consists of a source code editor, build
automation tools, and a debugger. Most modern IDEs have intelligent code completion.
JDK 8.0 is used to develop android application for the. Java Development Kit (JDK) is
a program development environment for writing java applications. It consists of
runtime environment that “sits on top” of the operating system layer as well as the tools
and programming that developers need to compile, debug and run applications written
in java language.

5.1.1 Fast and feature-rich emulator:

The Android Emulator installs and starts your apps faster than a real device and allows
you to prototype and tests your app on various Android device configurations: phones,
tablets, Android Wear, and Android TV devices. You can also simulate a variety of
hardware features such as GPS location, network latency, motion sensors, and multi-
touch input.

31
5.1.3 Testing tools and frameworks:

Android Studio provides extensive tools to help you test your Android apps with
functional UI test frameworks. With Espresso Test Recorder, you can generate UI test
code by recording your interactions with the app on a device or emulator. You can run
your tests on a device, an emulator, a continuous integration environment, or in Firebase
Test Lab.

5.2 FRAMEWORK:

The Android platform provides a framework API that applications can use to interact
with the underlying Android system. The framework API consists of:
 A core set of packages and classes.
 A set of XML elements and attributes for declaring a manifest file.
 A set of XML elements and attributes for declaring and accessing resources.
 A set of Intents.
 A set of permissions that applications can request, as well as permission
Enforcements included in the system.

5.3 SYSTEM REQUIREMENT:

 Android Studio 3.4.


 Java SDK & JDK.
 Firebase Database.
 Core i.5 with 2.1GHZ processor or high processor may enhance the performance
accordingly.
 Minimum RAM: 4.00 GB
 Recommended RAM: 8.00GB or higher.
 Dedicated drive for improved performance and storage.
 Emulator or mobile device with minimum version 5.0
 Microsoft Windows 10 (64 bit )

32
CHAPTER 6

SOFTWARE TESTING

6.1 DERIVING TEST - CASE SPECIFICATIONS:

The specifications for testing are derived from customer requirements, from the study of
design code of software modules, and from screen or visual interfaces through which the
user interacts with the system.
Test-case specification is performed for system testing by keeping in mind several issues,
which are discussed in the following subtopics:

6.2 TEST ENVIRONMENT:


The application is tested on different android smart phones and in different emulator
devices in android studio with the required hardware and software requirements.
Minimum requirements for every mobile is at least 1-2GB RAM and with minimum
version supported by APK-19 that is version 4.4 or higher. Performance may vary along
with increase or decrease of Ram.
Software:
Hardware:

6.3 TESTING IDENTIFICATION:

A specific test is planned for every test level to test all components of application. The
test procedure is detailed so that the system meets all user requirements.
The system can be divided into following modules:

Sign-up View:
 Sign up.
 Log in.
 Sign out.

33
Mood Detection View:
 Take Picture.
 Select from gallery.

Food Recommendation View:.


 Mood Detected.
 Food Suggested
 Provide Location

Signup View:

Table 6.3.1
Test ID: FOOD MOOD_TC_01
Test Name: Sign in
Test Level: Unit and Integration testing
Test Type: Input tests, Output tests and Verification tests
Test Conditions: Email and password,image.

Table 6.3.2
Test ID:FOOD MOOD_TC_02
Test Name: Mood detection
Test Level: Unit and Integration testing
Test Type: Input tests, Output tests and Verification tests
Test Conditions: Test is using a picture.

Table 6.3.3
Test ID: FOOD MOOD_TC_03
Test Name: Food recommendation Billing
Test Level: Unit and Integration testing
Test Type: Input tests, Output tests and Verification tests
Test Conditions: Test is using detected mood

Table 6.3.4
Test ID: FOOD MOOD_TC _04
Test Name: Location.
Test Level: Unit and Integration testing
Test Type: Input tests, Output tests and Verification tests
34
Test Conditions: Test is using the food suggested.

6.4 TEST PROCEDURE:

A testing strategy is decided for testing the application so that all modules are tested to
fulfill all user requirements. A test strategy is methodology that describes the various
steps that need to be performed during testing and the time and effort required for
performing them. The following strategies are used for testing the application.

6.5 TESTING TECHNIQUES:


There are different methods that can be used for software testing. This chapter briefly
describes the methods and techniques that we are going to use for testing our android app.
The list of techniques are as follows;

6.5.1 LOGIN TESTING:

Unit testing is a white-box testing techniques. The main consideration in this test is
Verification of all modules of the software system. Each module is unit tested, as
Follows:
• Unit testing the module profile is done by entering profile information and check
whether the profile can be created or modified.
• Unit testing the module to Login user for access information.
• Unit testing the module detect mood through the given picture.
• Unit testing the module recommending the mood .
• Unit testing the module by providing location of food on google map.

6.5.2 INTEGRATION TESTING:

35
When all units were working properly and unit was performed then came the time for
system testing where we checked all the integrated components as a whole and looked for
possible discrepancies, which could have arisen after the integration.

6.5.3 SYSTEM TESTING:

System testing involves the set of tests that ensures that the entire system performs
according to specifications. We have checked all the integrated components as a whole
and do not find any error related to its designated functionality.

6.5.3.1 RECOVERY TESTING:

The software system is fault tolerant. Fault tolerance is the ability of the software system
to recover from errors quickly and resume working again. We have developed a fault-
tolerant system, keeping in mind all the specifications; as a result, there are minimum
chances of faults.

6.5.3.2 SECURITY TESTING:

System testing is protection testing that test security methods in the system to avoid
invalid intrusions. The system stores secret and sensitive information that is susceptible
to invalid intrusions. An intrusion to obtain secret information may cause severe
economic damage the organization.

6.5.3.3 PERFORMANCE TESTING:

Performance testing uses criteria to check that the system functions according to the
specifications. The performance of the software is tested at all levels of testing. All unit
modules have been tested successfully. Therefore, now the software fulfills all
requirements of project management.

36
6.6 TEST SCHEDULE:

Table 6.6.1
Test ID: FOOD MOOD_TC _01
Test Name: Sign in
Test Name: Sign in
Test Personnel: Asma Fayyaz
Planned Date: 08/07/2019

Table 6.6.2
Test ID: FOOD MOOD_TC _02
Test Module: Mood detection
Test Name:Mood detection
Test Personnel: Asma Fayyaz
Planned Date: 08/07/2019

Table 6.6.3
Test ID: FOOD MOOD_TC _02
Test Module: Food Recommendation
Test Name:Food recommendation
Test Personnel: Asma Fayyaz
Planned Date: 08/07/2019

Table 6.6.4
Test ID: FOOD MOOD_TC _02
Test Module: Location
Test Name:Location
Test Personnel: Asma Fayyaz
Planned Date: 08/07/2019

Test ID: ETM_TC _06

6.7 TEST CASES


A test case is prepared for each test that needs to be performed. The test cases result
in the development of test reports, which will be used for test-output analysis.

37
Table 6.7.1

Software:Food Mood App Module: Log in


Test Name: Log in Test ID:Food Mood_TC _1
Test Description: This test verifies the username and password to access the app view.

Pre-Condition: The user should have the required password and emails.
Post Condition: User will successfully logged into the system.
Action Action’s Valid Invalid Input Required Analysis
Performed Output Input Input Output
Enter email The Fill all the invalid Valid User will
id and email and required email id or successfully
password in password field with password logged in.
the text is correct Error.
boxes. displayed data.
in the
textbox.
Testing Environment: Different Android smart phones and emulators.
Tested By: Asma Fayyaz,Sana Saghir

Table 6.7.2

38
Software:Food Mood App Module: Log in
Test Name: Mood Detection Test ID:Food Mood_TC _2
Test Description: This test verifies mood through the picture of user.

Pre-Condition: Valid picture added by the user.


Post Condition: User will successfully logged into the system.
Action Action’s Valid Invalid Input Required Analysis
Performed Output Input Input Output
Click Save the Picture invalid Valid Record
picture/past data in must be picture Successfully
e a picture the according should not entered and
from database to the be entered . picture is
gallery. for format. detected.
further
process.
Testing Environment: Different Android smart phones and emulators.
Tested By: Asma Fayyaz,Sana Saghir

39
Table 6.7.3

Software:Food Mood App Module: Log in


Test Name: Food Recommendation Test ID:Food Mood_TC _3
Test Description: This test suggests the food to the user according to detected mood.

Pre-Condition: Valid information added by the user.


Post Condition: Admin check the detail about bill.
Action Action’s Valid Invalid Input Required Analysis
Performed Output Input Input Output
Check the Save the Mood invalid Valid Food is
mood and data in must be details suggested.
suggest the the detected. would not
food. database be entered .
for
further
process.
Testing Environment: Different Android smart phones and emulators.
Tested By: Asma Fayyaz,Sana Saghir

40
Table 6.7.4

Software:Food Mood App Module: Log in


Test Name: Food Recommendation Test ID:Food Mood_TC _3
Test Description: This test suggests the food to the user according to detected mood.

Pre-Condition: Manager must logged in


Post Condition: Items updates will be saved

Action Action’s Valid Invalid Input Required Analysis


Performed Output Input Input Output
Location is That Click the Click Click Record
provided on particular food anywhere ood updated
google should be recomme else on recom successfully.
map. updated. -ndation page. me-
icon ndation
icon
Testing Environment: Different Android smart phones and emulators.
Tested By: Asma Fayyaz,Sana Saghir

41
CHAPTER 7

SOFTWARE TESTING

9.1 DISCUSSION:
It’s been an honor for us to successfully complete and develop our final year
project. Before developing through this project although we have a good theoretical
knowledge of software engineering, being student of computer science. But is far
away from the theory to develop a real life system that completely fulfill the user
requirements. We had a very good interaction with our supervisor Sir Ahmed
Aslam. He helped us to develop the system properly and well in time.

During the development of the project we have achieved the following benefits.
 Project management and scheduling.
 How to interact with the user.
 Requirement analysis and data collection.
 System designing and modeling.
 Latest tools and technologies for android platform and database.
 Testing strategies.
 System Requirement specifier.
 Real time development.

During the modeling and implementation phase we learned;


 Project model designing.
 Android studio platform.
 Advance Java programming.
 Firebase database.

During the testing and implementation finding a bug and its fixtures was totally
new and healthy experience. One of the very important aspects of the project was

42
how to document our project properly. We have learned new tools like android
studio, Ms Visio, Java SDK, Firebase Database adobe photo shop, Microsoft visio
and java language which will help us a long way as we will be starting our career
as an IT professional.

9.2 CONCLUSION:
This android system is capable for Food recommendation to the user . It is used to
take their pictures and use the food that is recommended to them after their mood
detection . It provides facility to the user to select food. There are several modules
in the app and together they made the application a full real time software that is
able to perform all those functions that are required by the day today.
A precise list of the modules is as follows;
 Login & log out.
 Profiles and accounts.
 Detection(Take picture/select a photo from gallery).
 Food Recommendation(item name,price and image).
 Location on google map.

So we can say this application provides a good experience for the recommending
food .
Limitations:
Every project whether it is small or big, has some limitations. These limitations
may be due to time or cost constraints or it is a limited just to fulfill the user
requirements. We have develop this project keeping in mind the period of
approximately 1 month and 4 group members. So it may lack some elegance or
sophistication but we are very proud that we have worked in highly versatile
environment and tried our best to complete our project. We have taken the right
steps toward the right directions in terms of where the technology is going now a
days.

43
9.3 FUTURE WORK
As every IT solution will never last forever because with the trending technology
new things come day by day and obsolete the old ones. There are number of things
that can be added in this project but due to short duration of semester we could not
do so. After this Evaluation we will grow our scope and add more features in the
scope of this application. This project can further enhanced in the following way.
 Better user interface.
 New Efficient coding standards..
 food categories.
 Efficient and user friendly map tracking
 Music recommendation.

44
CHAPTER 8

USER GUIDE
8.1: DISCUSSION
The benefit of this android application is to provide the user a fast way to select food. All
the functionalities are discussed in details in the topics given below.

Four Main views:


 user.
 Mood Detection.
 Food Recommendation.
 Location on Google Map.

8.2: APP DESIGN


This section describes the usage and functionalities of the application and how to interact
with the application. Each interface is designed for specific purpose that are discussed in
details in the upcoming sub sections.

8.2.1:SPLASH SCREEN
A screen that appears for a few seconds before the app starts. It consist of logo of app.

45
Figure 8.1

8.2.2: LOGIN INTERFACE

User must login to perform any action.

46
Figure 8.2.2

47
8.2.3: SIGNUP INTERFACE
This would add a user.

Figure 8.2.3

48
Figure 8.2.4

49
Figure 8.2.5

50
Figure 8.2.6

8.2.7: MOOD DETECTION INTERFACE


In this interface the app will detect the mood of the user.

51
52
53
Figure 8.2.7

54
Figure 8.2.8

55
Figure 8.2.9

56
8.2.10:FOOD RECOMMENDATION INTERFACE
In this interface the app will suggest food to the user.

Figure 8.2.10

57
58
Figure 8.2.12

Figure 8.2.12

59
Figure 8.2.13

8.2.14:LOGOUT AND NAVIGTION INTERFACE

In this interface a user can either logout or select some other options from the navigtion
bar.

60
Figure 8.2.14

61
Figure 8.2.15

62

You might also like