Android - Online Food Ordering Application (Restaurant Finder)
Android - Online Food Ordering Application (Restaurant Finder)
ON
ANDROID - ONLINE FOOD ORDERING
APPLICATION(RESTAURANT FINDER)
Submitted in the partial fulfilment
For the award of degree in
BACHELOR OF TECHNOLOGY
TO
UTTARAKHAND TECHNICAL UNIVERSITY
DEHRADUN
Submitted by
PRIYANKA (150560101017)
Under the guidance of
Priyanka ( 150560101017)
Date :
ACKNOWLEDGEMENT
To get the practical knowledge and to make a report on a project without anybody’s help is
really a task of great difficulty. Fortunately in preparation of this report We got the help of
many known as well as unknowns for providing the valuable information about each and every
stage of this project.
We are thankful to all those persons because the activity if going through industrial orientation
it’ll bridged me to become good IT Professional. Naturally, it requires lot of people support to
complete this project. We take this opportunity to acknowledge their support to us.
First of all I am extremely thankful to B.Tech (Bachelors of Technology) department of
Computer Science & Engineering of Uttarakhand Technical University for giving
permission to do project in outside of campus.
We consider our self privileged having found an opportunity to express our heartily thanks to
our head of the B.Tech department.
PRIYANKA
150560101017
DATE :
ABSTRACT
The purpose of this project is to develop a computerized and mobilized food ordering system
that can be used to revolutionize the traditional ordering system that currently implemented in
majority of the food and beverage industry. The traditional system that using by most of the
food and beverage industry is the traditional manual ordering system which means all works
and procedures is recorded through manpower manual work and it consist of a huge amount of
paper work that is not effective and efficiency. This cause the business to encounter trouble
which regarding human error due to the huge amount of manpower manual work that operating
in each business routine. Thus, this computerized and mobilized food ordering system is
designed to assist the business routine in term of having better management as well as easier
to handle daily business operation.
SYSTEM REQUIREMENTS
a. Project Profile:
Project Title: Restaurant Finder
Organization: CETPA Infotech Pvt. Ltd.
Developed by: Priyanka
Duration: 6 weeks
Internal Guide: Mr. Rahul Kumar
b. Project Tools:
Front-end Tools: Android Studio
Back-end Tools: 000webhost server
Web Service: PHP codeigniter framework
Platform: Android
c. Software Requirements:
Application Front-end Android Studio
Tools:
Database Back-end Tools: 000webhost sever
Office Automation Tools: Microsoft office 2007, MS Visio
INTEGRATED Browser:
Google made a right choice on choosing web kit as open source web browser. They added a
two pass layout and frame flattening. Two pass layout loads a page without waiting for
blocking elements, such as external CSS or external JavaScript and after a while renders again
with all resources downloaded to the device. Frame flattening converts founded frames into
single one and loads into the browser. These features increase speed and usability browsing the
internet via mobile phone.
SQLite:
SQLite is used for structured data storage. Extremely small (~500kb) relational database
management system, which is integrated in Android. It is based on function calls and single
file, where all definitions, tables and data are stored. This simple design is more than suitable
for a platform such as Android.
Connectivity:
Android supports a wide variety of connectivity technologies including GSM, CDMA,
Bluetooth, EDGE, EVDO, 3G and Wi-Fi.
Messaging:
SMS, MMS, and XMPP are available forms of messaging including threaded text messaging.
Media Support:
Android will support advanced audio/video/still media formats such as MPEG-4, H.264, MP3,
and AAC, AMR, JPEG, PNG, GIF.
MARKET:
The Android Market is a catalogue of applications that can be downloaded and installed to
Android devices over-the-air, without the use of a PC.
MULTITASKING:
Multitasking of applications is available.
1.1.2 ARCHITECTURE OF ANDROID:
The following diagram shows the major components of the Android operating system. Each
Section is described in more detail below.
Applications:
Android will ship with a set of core applications including an email client, SMS program,
calendar, maps, browser, contacts, and others. All applications are written using the Java
programming language.
Application Framework:
The most important parts of the framework are as follows:
Activity Manager: This controls the life cycle of applications and maintains a common “back
stack” for user navigation.
Content providers: These objects encapsulate data that needs to be shared between
applications, such as contacts.
Resource manager: Resources are anything that goes with your program that is not code.
Location manager: An Android phone always knows where it is.
Notification manager: Events such as arriving messages, appointments, proximity alerts,
alien invasions, and more can be presented in an unobtrusive fashion to the user.
VIEW SYSTEM: Enabling applications to access data from other applications or to share their
own data
TELEPHONY MANAGER : Provides core telephoning functionalities
WINDOW MANAGER: The window manager creates display surfaces for the application. It
is Responsible for organizing the screen and display of different layers of application
LIBRARIES:
The next layer above the kernel contains the Android native libraries. These shared libraries
are all written in C or C++, compiled for the particular hardware architecture used by the phone,
and preinstalled by the phone vendor.
Some of the most important native libraries include the following:
i. SURFACE MANAGER : Manages access to the display subsystem and seamlessly
composites 2D and #d graphic layers from multiple applications.
ii. MEDIA LIBRARIES : The libraries support playback and recording of many popular
audio and video formats as well as static image files, including
MPEG4,H.264,MP3,AAC,AMR,JPG and PNG.
iii. SQLite : A powerful and lightweight relational database engine available to all
applications
iv. OPEN GL|ES : Subset of the OpenGL 3D graphics API designed for embedded
devices. It can use for hardware 3D acceleration.
v. FREE TYPE : Bitmap and vector font rendering. It is used to rasterize the characters
into bitmaps and provides into other font-related operations.
vi. Web Kit : A framework providing the basis for building a web browser based on the
open source Web Kit browser.
vii. SGL: SGL is the underlying 2D graphics engine.
viii. SSL : The Secure Socket Layer is a commonly-used protocol for managing the security
of a message transmission on the internet.
ix. Lib C : A BSD – based implementation of the standard C library. Which is tuned for
embedded Linux-based devices.
Android Runtime:
Android includes a set of core libraries that provides most of the functionality available in the
core libraries of the Java programming language.Every Android application runs in its own
process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a
device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik
Executable (.dex) format which is optimized for minimal memory footprint. The VM is
register-based, and runs classes compiled by a Java language compiler that have been
transformed into the .dex format by the included "dx" tool.The Dalvik VM relies on the Linux
kernel for underlying functionality such as threading and low-level memory management.
Dalvik Virtual Machine:
The Dalvik virtual machine is simple Java interpreter machine, completely optimized for
Android platform and which is developed to run on low-end memory mobile devices. One of
the prominent aspects in Dalvik its capability to run along an application compilation
enhancing the runtime performance of the applications. Dalvik is not exactly, a Java machine,
because Dalvik could not read Java code, but consists its own byte code called “dex” and so
the executable files compacted using Dalvik holds the file type name '.dex'. Google states that
the credit for Androids successful development goes to Dalvik VM, because this type of virtual
machine, delivers a good performance over various stages of an application runtime
environment, conserving more battery-power during long run of an application.
Linux Kernel:
Android relies on Linux version 2.6 for core system services such as security, memory
management, process management, network stack, and driver model. The kernel also acts as
an abstraction layer between the hardware and the rest of the software stack.
Power Management:
Based on the standard Linux Power Management,, Android has its own component. A light-
weight power management diver built top of it. CPU shouldn’t consume power if no
applications or services require power.
BINDER (IPC) DRIVER:
Driver to facilitate inter-process communication between applications and services. The binder
driver provides high performance through shared memory, synchronous calls between
processes.
Intent Receiver :
Wakes up a predefined action through the external event . For example for the application like
Email Inbox , the developer should have intent receiver and register his code through XML to
wake up an alarm notification, when the user receives email.
Service :
A task , which is done in the background. It means that the user can start an application from
the activity window and keep the service work, while browsing other applications. For instance,
he can browse Google Maps application while holding a call or listening music while browsing
other applications.
Content Provider :
A component , which allows sharing some of the data with other processes and applications. It
is the best way to communicate the applications between each other .Android will ship with a
set of core applications including an email client, SMS program, calendar, maps, browser,
contacts, and others. All applications are written using the Java programming language.
1.1.4 DEVELOPMENT TOOLS:
Android SDK:
The Android SDK includes a variety of custom tools that help you develop mobile applications
on the Android platform. Three of the most significant tools are:
Android Emulator :
A virtual mobile device that runs on our computer -use to design, debug, and test our
applications in an actual Android run-time environment
Cupcake
The Android version 1.5 Cupcake is the first version, which got a name assigned, which is
Cupcake. Cupcakes are muffin-like cakes, which mostly has a creamy hood.
Donut
Éclair
Android-Version 2 Éclair and 2.1 Éclair share the same name, Éclair. Éclairs are Longley
biscuits overdrawn with chocolate.
Froyo
Frozen Yogurt is a ice-like dessert made with milk and yogurt and is also the name of the
Android version 2.2 Froyo.
Gingerbread
The name of Android version 2.3 "Gingerbread" is Gingerbread, which are cake-like biscuits
mostly eaten around Christmas time.
Honeycomb
The android version mostly made for tablets, Android 3.0 Honeycomb, is called Honeycomb.
The boot animation of this android version is also made like a honeycomb.
Jelly Bean
Jelly beans are colorful, mostly made out of sugar, sweets, which have a hard shell and are
filled with jelly. The following android versions share this name:
4.1
4.2
4.3
Kit Kat
Kit Kat is a brand from Nestle, and is a chocolate bar filled with waffles. Android 4.4 is
named after this sweet: 4.4 "Kit Kat".
Lollipop
Lollipops are sweets in different flavors on a stalk and is also the name of the following
android versions:
5.0
5.1
5.1.1
Marshmallow
The android version 6.0, announced at 17th of august in 2015 is called after the sweet
Marshmallow.
Nougat
Oreo
Android 8, also called Android O, carries the name Oreo, which are two crispy chocolate
cookies with a vanilla cream center.
Pie
Android 9, also called Android P, carries the name Pie, which is the name of different sweet
dishes
1.1.6 LEARNING DURING TRAINNING:
During training, I got lots of experience related to real life of software developer. In that
duration, we learn many things with programming on live project & work. Between June 2018
to Jul 2018, I have done my application and other many task related to training.Android
technology are combination of UI(User Interface) i.e. xml file and Java class, that are described
as below-:
Android - UI Controls:
Android provides solid support for the development of UI-based applications. Android
provides a variety of widgets that the application programmer can use to create a desired
layout and interface. These layout elements can be created via the programming language
directly, or through XML layout files
XML-Based Layouts in Android:
XML is a very popular and widely-used format. Hence, a lot of developers are quite
comfortable with it.
It helps to provide separation of the UI from the code logic. This provided flexibility
to change one without affecting much the other.
Generating XML output is easier than writing direct code, making it easier to have
drag-and-drop UI tools to generate interfaces for android apps,i.e:
Absolute Layout
Frame Layout
Linear Layout
Relative Layout
Table Layout
Percent Relative Layout
Grid Layout
Coordinator Layout
Constraint Layout
Toolbar Layout
Absolute Layout:
In absolute layout, we can specify the exact coordinates of each control that we want to place.
In absolute layout, we will give the exact X and Y coordinates of each control. The following
is an example of an absolute layout:
Frame Layout:
Frame layout is used when you want to show one item on each screen. Using frame layout, we
can have multiple items, but they will be overlapping and only, displaying themselves one at a
time.
Frame Layout is particularly useful when you want to create animation or movement on screen.
Linear Layout:
Linear layout is used to place one element on each line. So, all the elements will be place in an
orderly top-to-bottom fashion. This is a very widely-used layout for creating forms on Android.
We are now going to create a small app to display a basic form using the linear layout. The
layout.xml file is as follows:
Relative Layout:
Using relative layout, we can specify the position of the elements in relation to other
elements, or in relation to the parent container.
Table Layout:
Using table layout, we create a table with rows and columns and place elements within them.
In each row, you cam specify one or more elements.
Percent Relative Layout in Android is a subclass of Relative Layout that supports percentage
based margin and dimensions for Views (Button, Text View or any other view).
Grid Layout:
Android Grid View shows items in two-dimensional scrolling grid (rows & columns) and the
grid items are not necessarily predetermined but they automatically inserted to the layout
using a List Adapter
Constraint layout:
A Constraint Layout is a View Group which allows you to position and size widgets in a
flexible way.
Coordinator Layout:
Toolbar Layout:
Android Tool Bar can be used as action bar and it can contain navigation button, brand logo,
title, subtitle, custom views, and action menu .The difference between action bar and tool bar
is that Tool Bar element can be controlled and part of application layout while action bar is
controlled by android framework. You can read action bar tutorial for more information on
action bar.
In android UI control there are number of UI controls provided by Android that allow you to
build the graphical user interface for your app.
Sr. UI Control & Description
No.
1 Text View
2 Edit Text
Edit Text is a predefined subclass of Text View that includes rich editing
capabilities.
The Auto Complete Text View is a view that is similar to Edit Text, except that it
shows a list of completion suggestions automatically while the user is typing.
4 Button
A push-button that can be pressed, or clicked, by the user to perform an action.
5 ImageButton
An ImageButton is an Absolute Layout which enables you to specify the exact
location of its children. This shows a button with an image (instead of text) that can
be pressed or clicked by the user.
6 Check Box
An on/off switch that can be toggled by the user. You should use check box when
presenting users with a group of selectable options that are not mutually exclusive.
7 Toggle Button
An on/off button with a light indicator.
8 Radio Button
The Radio Button has two states: either checked or unchecked.
9 Radio Group
A Radio Group is used to group together one or more RadioButtons.
10 Progress Bar
The Progress Bar view provides visual feedback about some ongoing tasks, such as
when you are performing a task in the background.
11 Spinner
A drop-down list that allows users to select one value from a set.
12 Time Picker
The Time Picker view enables users to select a time of the day, in either 24-hour mode
or AM/PM mode.
13 Date Picker
The Date Picker view enables users to select a date of the day.
Toast:
Android toast can be used to display information for the short period of time. A toast contains
message to be displayed quickly and disappears after sometime.
Intents:
Intents are asynchronous messages which allow application components to request
functionality from other Android components. Intents allow you to interact with components
from the same applications as well as with components contributed by other applications. For
example, an activity can start an external activity for taking a picture.
Web view:
An Android web app is an application that uses the Android Web View component to render
part of the Android app's GUI. The Web View component is a full-fledged browser
implemented as a View subclass so you can embed it inside your Android app's GUI anywhere
you like. It is common to let the Web View take up most of the screen space, but you can also
just let the browser take half the screen or whatever partition that suits your app.
Recycler View:
In Android 5.0 Lollipop, Android introduced Recycler View widget. Recycler View is
flexible and efficient version of List View. It is a container for rendering larger data set of
views that can be recycled and scrolled very efficiently.
List View:
Android List View is a view which groups several items and display them in vertical
scrollable list. The list items are automatically inserted to the list using an Adapter that pulls
content from a source such as an array or database.
Grid View:
Grid View is a View Group that displays items in a two-dimensional, scrollable grid. The
grid items are automatically inserted to the layout using a List Adapter.
View pager:
One of the most popular Widgets in the Android library is the View Pager. It's implemented
in several of the most-used Android apps, like the Google Play app and one of my own apps,
recorder: The View Pager is the widget that allows the user to swipe left or right to see an
entirely new screen.
Activity:
An activity represents a single screen with a user interface just like window or frame of Java.
Android activity is the subclass of Context Theme Wrapper class.
Fragment:
A Fragment is a piece of an activity which enable more modular activity design. It will not be
wrong if we say, a fragment is a kind of sub-activity.
Adapter:
In Android, Adapter is a bridge between UI component and data source that helps us to fill data
in UI component. It holds the data and send the data to an Adapter view then view can takes
the data from the adapter view and shows the data on different views like as List View, Grid
View, Spinner etc. For more customization in Views we uses the base adapter or custom
adapters.
Context:
As the name suggests, it's the context of current state of the application/object. It lets newly-
created objects understand what has been going on. Typically you call it to get information
regarding another part of your program (activity and package/application).
Splash screen:
Android splash screen are normally used to show user some kind of progress before the app
loads completely. Some people uses splash screen just to show case their app / company logo
for a couple of second. Unfortunately in android we don’t have any inbuilt mechanism to show
splash screen compared to IOS. In this tutorial we are going to learn how to implement splash
screen in your android application.
Android Picasso and Glide:
Android Picasso is an image loading/processing library developed and maintained by Square
Inc. It’s immensely popular since it often requires just one line of code and has a similar style
of coding for each of its features (we’ll be implementing them soon!). To use the android
Picasso Library in your Android Studio project, add the following dependency in your file.
Progress Dialogue:
A dialog showing a progress indicator and an optional text message or view. Only a text
message or a view can be used at the same time.
Progress bar:
Progress bars are used to show progress of a task. For example, when you are uploading or
downloading something from the internet, it is better to show the progress of
download/upload to the user.
SQLite Database:
In Android, there are several ways to store persistent data. SQLite is one way of storing app
data. It is very lightweight database that comes with Android OS. In Android, integrating
SQLite is a tedious task as it needs writing lot of boilerplate code to store simple data. Consider
SQLite when your app needs to store simple data objects.
000 web host:
000Webhost provides entirely free decent quality web hosting. If you are just starting your
first website project and want to test out some ideas with a free website, 000WebHost might
not be a bad way to go if you don’t want to pay for shared, VPS, or dedicated hosting right
off the bat.
Firebase:
The Assistant tool window in Android Studio. Firebase is a mobile platform that helps you
quickly develop high-quality apps, grow your user base, and earn more money. ... You can
explore and integrate Firebase services in your app directly from Android Studio using the
Assistant window .
JSON parsing:
JSON stands for JavaScript Object Notation. It is structured, light weight, human readable and
easy to parse. It’s a best alternative to XML when our android app needs to interchange data
from server. XML parsing is very complex as compare to JSON parsing.
JSON is shorter, quicker and easier way to interchange data from server. JSON is great success
and most of the API available support JSON format
Shared preference:
Android provides many ways of storing data of an application. One of this way is called
Shared Preferences. Shared Preferences allow you to save and retrieve data in the form of key,
value pair.
In order to use shared preferences, you have to call a method get Shared Preferences () that
returns a Shared Preference instance pointing to the file that contains the values of preferences.
Welcome Slider:
We use intro slider in any application to showcase the major features of that application. There
is a famous quote “First impression is the last impression”. Same applies in any application.
Intro slider creates first impression about your app. It shows the major features of the
application. Any new customer may convert into permanent customer if he/she get impressed.
Intro slider should be shown only for the first time when any customer visits the app. User
should be directly redirected to the home page if he/she is coming after that.
Google Maps:
Android allows us to integrate Google maps in our application. You can show any location on
the map, or can show different routes on the map etc. You can also customize the map
according to your choices.
Volley:
Volley is an HTTP library that makes networking for Android apps easier and most
importantly, faster.
2.1.1 Strength:
The system eliminates the need for a waiter to take order with pen and paper. Moreover, the
waiter only needs to carry the mobile devices for the entire operational hour to perform food
order process instead of using pen and paper. While using pen and paper to take order, it bring
a lot of troublesome such as the waiter busying in replenish the order paper that they carrying.
Other than that, this system also can help in terms of environmentally friendly by reducing the
usage of paper.
2.2.1 Strength:
The system is very suitable for fast food industry due to it provides ability for customer to place
order anywhere and everywhere and also minimized the time require during the order
processes. Customers do not need to physically go to the restaurant for food ordering instead
of just using their mobile device to place an order via the internet and when the customer reach
the restaurant they can directly have their meal without waiting for the queue. Meanwhile, it
help the fast food restaurant to have a better customer services because the most important
factor that fast food industry concern about is quickness therefore the restaurant should serve
their customer without any delay.
2.2.2 Weaknesses and Limitations:
The main weaknesses of the system will be internet connection depended. The system will not
be operating without the internet connection. Because customer have to place order via the
internet as a medium and the data send to the restaurant database for further process, the
customer will not be able to access the web service if no internet connection available.
Furthermore, if the Internet Service Provider (ISP) is under maintenance it will did a great
impact to the restaurant that relies on the online order system for their business.
2.3.1 Strength:
This system will help in reducing the number of employee that need in the restaurants hence it
will directly help in considerably reducing the long-term cost of restaurant management.
Second, the system also helps reducing the manual customer services activities and thus
eliminating the human error and human mistakes.
3.1.4 Design:
Once everything has been set and issues have been properly addressed, the prototype will then
be “thrown away” which means discard and the system will be design, taking into consideration
the feedback derived during the verification process.
3.1.5 Implementation:
This is the last phase, which will develop each and every finalize modules within time frame
from design phases and assemble it to be a final version system and deliver to end user.
Reporting Management
The system shall generate a report that based on the time period that customize by user.
The system shall retrieve related information from the database and generate the report
to user.
Menu Management:
The system shall only allow management level user to edit the menu card information
by having an authorization login checking.
The system shall allow user to update their restaurant menu card information.
The system shall save the updated menu card information to the database.
Billing Management:
The system shall retrieve data that needed and arrange in a meaningful structure then
print for user as a reference.
The system shall let user to choose the payment channel that they wish to use.
Performance Requirements
The system should let user to place an order in a short period of time.
The system should complete perform the billing process in a short period of time.
Security Requirements:
The system should validate the username and password in order to login and make
changes to the system.
The system should request the current password of the user in order to let them
change to a new password.
Usability Requirement:
The system should have an easy understand graphic user interface that deal with the
user.
The system should let user easy to understand the functionality of each modules.
The software install on the operation android smartphone will be developing using Java
programming language with Android Studio Development Kit installed. Next, NetBeans IDE 7 or
higher will be cope with Java programming language to develop the software for the computer
based side and the database configuration will be using MySQL Workbench database software.
CHAPTER 4 – IMPLEMENTATION & RESULTS
WELCOME SCREEN:
Android Introduction Slider is basically used to introduce the major features of the application
to the user. It also attracts and helps the user to know about the app. It is also called android
welcome screen and is used to guide the user on how to use the app just after installation. It is
used in almost all popular apps and games these days.
FRONT OF APP:
It is fast and tasty food mobile apps have greatly affected and facilitated our daily life with
amazing UI designs and user experiences. And a few simple taps on a phone screen are already
enough for us to search, order and purchase preferable delicious foods as we wish.
HOME PAGE:
A home page is generally the main page a visitor navigating to a app from a android device will
see, and it may also serve as a landing page to attract visitors. The home page is used to
facilitate navigation to other pages on the site by providing links to prioritized and recent
articles and pages, and possibly a search box. For example, it is an Online food ordering app
that display its home screen which consist the four categories of food – snacks, breakfast ,
lunch , Dinner and customer can see it and order it as their wish.
SNACKS:
BREAKFAST:
LUNCH:
DINNER:
ORDER PAGE:
ABOUT PAGE:
An About page is a special web page on a site where your readers/visitors learn more about
you and what you do. ... Often, this web page tells the story of the site owner's journey from
struggling to finally achieving success. It is a page which tells all the information regarding to
the app to the use. By that user attract to the app and knows what is the purpose of the app….
GALLERY PAGE:
Use Gallery Pages to showcase images and videos in eye-catching layouts and styles. Gallery
Pages have specific designs intended to match and work with your template. In
any template's Gallery Page, you can display your own images, licensed Getty Images, and
videos. It is a page which consist all the categories of food in the app.
FEEDBACK PAGE:
A feedback page is a way in which customer feedback is obtained. Feedback forms help in
improving products or services, and even the fundamental understanding of the business users.
It is considered one of the most efficient and economical methods of understanding customers
and measuring customer satisfaction
CONTACT US:
A contact page is a standard app page on a application used to allow the visitor to contact the
app owner or people who are responsible for the maintenance of the site. ... a contact form
with entries where the visitor can fill in their name, subject and message and send or reset it.
VIA EMAIL:
VIA CALL:
CHAPTER 5 - SYSTEM TESTING
System Platform:
The project is a cross platform based system which includes Windows desktop client device
and Android mobile phone client device in order to operate the proposed system software.
Therefore, IOS mobile phone client device will not compatible with the proposed system.
Test Plan:
After the system has been developed, it will move to system testing phase. In system testing
phase, the developed system is required to install on appropriate devices for testing purpose.
After the system installation has been completed, the system testing task will be performed by
different roles of user such as manager role and staff role. The purpose of system testing is to
identify and determine the degree of system stability. At the same time, it is given an
opportunity for developer to figure out error or bug that has not been raise and encounter during
the system development phase. Those error or bug that has been found during the system testing
activities will be solved before the system release. Each and every testing before system testing
phases is actually tested by the system developer itself. Therefore, it might cause some biases
toward the testing due to the system developer have knowledge about the system software
logics and lead the result to be inappropriate. There are four types of testing that will be used
to test the developed system which includes unit testing, integration testing, system testing and
acceptance testing.
5.1.3 Unit Testing:
First of all, unit testing will be the first testing method that used to test the developed system.
It consists of testing activities that test the system module by module which has not been
integrated as a whole. By doing unit testing, developer are able to identify error and bug easily
since it is finding the error and bug through a unit part of the system rather than finding error
through the complete system. In addition, developer will test the unit part of the system with
the validation and the correctness of data value. Valid and invalid input will be entering to test
and ensure the system processes perform with an expected result.