You are on page 1of 8

Problem Statement

The problem statement is a single woman who was diagnosed with coeliac disease. Thus she is
very conscious on her food intake. She was advised to practice Gluten Free Diet food because
gluten affects her digestive system. But food labeling in Malaysia is poor and she find it hard to
keep up with gluten free eating habits. She wants to know ways to gain more information about
gluten-free food products available in Malaysia. Others western countries had aware about this
disease but Malaysia are not. Western countries even inserted the gluten Since Malaysia
population pay more concern on Internet of Things (IoT) and smart phones technology, so we
utilize this chance to create a gluten free app to raise awareness among the users.

Methodology

1.1 Recognize Celiac Disease


Celiac disease also known as celiac sprue or gluten-sensitive enteropathy which is a
digestive and autoimmune disorder that results in damage to the lining of the small intestine
when foods with gluten are eaten. Gluten is a form of protein found in some grains such as
wheat, rye and barley [1]. Normally, the body's immune system is designed to protect it from
foreign invaders. When people with celiac disease eat gluten, their body mounts an immune
response that attacks the intestinal lining. These attacks lead to inflammation in the intestines and
damage on the villi, small fingerlike projections that line the small intestine, that promote
nutrient absorption. When the villi get damaged, nutrients cannot be absorbed properly into the
body [2]. The damage to the intestine makes it hard for the body to absorb nutrients, especially fat,
calcium, iron, and foliate [1]. It is estimated to affect 1 in 100 people worldwide [2]. Celiac disease
is hereditary, meaning that it runs in families. People with a first-degree relative with celiac
disease such as parent, child, and siblings have a 1 in 10 risk of developing celiac disease [2].
Celiac disease does not raise a great awareness among Malaysia citizens because it only has the
sole study in Malaysia on Celiac Disease which is performed by University of Malaya in 2015.
According to the research paper, 7 out of 562 samples confirmed for CD which stands for 1.25%
out of Malaysia population which around 400k of Malaysian [3]. According to current gluten free
apps available in the apps store, there is no suitable apps which include recipes, symptoms
checklist,online purchase and delivery service, restaurant and shop locationing. Due to
Malaysian being unaware these disease therefore small populations of celiac disease patients
need are ignored compared to western countries. Hence, we realize there is an opportunity for us
to create a mobile app which applies the internet of thing (IoT) for those celiac disease patients

have a reference and advice on daily diet but also for health conscious people to track on daily
diet as well as seek help from doctor if necessary. Besides, this app is to create awareness for
public especially those who are undiagnosed celiac disease people to face squarely on this
disease which has an increasing trend annually.
References
[1] "An overview of celiac disease," in WebMD, WebMD, 2005. [Online]. Available:
http://www.webmd.com/digestive-disorders/celiac-disease/celiac-disease. Accessed: Sep. 15,
2016.
[2] 95 -4310830, "What is celiac disease? - celiac disease foundation," in Celiac Disease
Foundation, Celiac Disease Foundation, 1998. [Online]. Available: https://celiac.org/celiacdisease/understanding-celiac-disease-2/what-is-celiac-disease/. Accessed: Sep. 15, 2016.
[3] T. W.-C. Yap et al., "Prevalence of serum celiac antibodies in a Multiracial Asian populationa First study in the Young Asian adult population of Malaysia," vol. 10, no. 3, Mar. 2015.
[Online]. Available: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4370882/. Accessed: Sep.
15, 2016.

1.2 App Guidance special for Malaysian


In Malaysia, gluten barcode scanner is not applicable because it does not contain any
information regarding the ingredients whether they are gluten-free or not in contrast to the
United Kingdom. We created this app through Android Studio as a platform to communicate and
share experience between retailer and customer to make life easier for those patients who has to
follow a certain diet. There are several features which are available:

Global Positioning System (GPS) as to locate nearest gluten-free grocery shops,


restaurants to save time to find out the gluten free food

The shop and retailer featured in the app enables customers to make purchases
online and get delivery service

Gluten sensitive person as well as health conscious person can give feedback and
suggestion as to update any new restaurants or grocery store where gluten free
food or healthy food can be found.

Recipe and tutorial video for gluten free cuisine is available for viewing and
download

For undiagnosed Celiac Disease person, daily questionnaire will be asked for the
user to trace there is probability of Celiac disease symptoms or not. Based on the
result to determine there is a possibility to be suspect have celiac disease
symptom and advised to see the doctor for help.

For Celiac disease patient, daily gluten free meals is required which the app can
provide different style of recipes

Family members accounts can be synchronized together to trace if there is a


possibility of inherited celiac disease

Clinic appointments can be made based on customer requests for specific doctors
and hospitals.

1.3 Introduction for Android Studio


Before we start to develop the application, we search through a lot of develop app software but
we found that android studio will be chosen as our software to develop the app. This is due
Android Studio can support the features that we acquired in the app. Besides, Android Studio has
a huge data base which is community based where everyone can access and learn from internet.
It is also consent by all that which is easier to operate and control because we have learnt it
before.
Android Studio is Android's official Integrated Development Environment (IDE). It is purpose
built for Android to accelerate users development and help them build the highest-quality apps
for every Android device. It offers tools custom-tailored for Android developers, including rich
code editing, debugging, testing, and profiling tools. On top of IntelliJ's powerful code editor and
developer tools, Android Studio offers even more features that enhance your productivity when
building Android apps, such as:

A flexible Gradle-based build system

A fast and feature-rich emulator

A unified environment where you can develop for all Android devices

Instant Run to push changes to your running app without building a new APK

Code templates and GitHub integration to help you build common app features and
import sample code

Extensive testing tools and frameworks

Lint tools to catch performance, usability, version compatibility, and other problems

C++ and NDK support

Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud
Messaging and App Engine

1.4 Development of application Research Methodology


Before we proceed to develop an application by using software, we found that method to develop
an application in a short and efficient way is important. Therefore we apply the methodology
which is practically worked so called Agile software development methodology.
1.4.1 Agile software Development Methodology
Agile software development is a conceptual framework for undertaking software engineering
projects. There are a number of agile software development methodologies such as Crystal
Methods, Dynamic Systems Development Model (DSDM), and Scrum.

Most agile methods attempt to minimize risk by developing software in short time boxes, called
iterations, which typically last one to four weeks. Each iteration is like a miniature software
project of its own, and includes all the tasks necessary to release the mini-increment of new
functionality: planning, requirements analysis, design, coding, testing, and documentation. While
iteration may not add enough functionality to warrant releasing the product, an agile software
project intends to be capable of releasing new software at the end of every iteration. At the end of
each iteration, the team reevaluates project priorities.
Agile methods emphasize real time communication, preferably face-to-face, over written
documents. Most agile teams are located in a bullpen and include all the people necessary to
finish the software. At a minimum, this includes programmers and the people who define the
product such as product managers, business analysts, or actual customers. The bullpen may also
include testers, interface designers, technical writers, and management. Agile methods also
emphasize working software as the primary measure of progress. Combined with the preference
for face-to-face communication, agile methods produce very little written documentation relative
to other methods.
1.4.2 Feature Driven Development(FDD) Methodology
The second methodology that we involved in developing the application software is feature
driven development methodology. Jeff De Luca, an information technology strategist and Peter
Coad, software entrepreneur were both greatly involved in developing the Feature Driven
Development methodology. Peter describes FDD as having just enough process to ensure
scalability and repeatability while encouraging creativity and innovation.

More specifically, Feature Driven Development asserts that:

A system for building systems is necessary in order to scale to larger projects.

A simple, but well-define process will work best.

Process steps should be logical and their worth immediately obvious to each team
member.

Process pride can keep the real work from happening.

Good processes move to the background so team members can focus on results.

Short, iterative, feature-driven life cycles are best.

FDD proceeds to address the items above with this simple process
(numbers in brackets indicate the project time spent):
1. Develop an overall model (10 percent initial, 4 percent ongoing)
2. Build a features list (4 percent initial, 1 percent ongoing)
3. Plan by feature (2 percent initial, 2 percent ongoing)
4. Design by feature
5. Build by feature (77 percent for design and build combined)

1.4.3 Rapid Application Development (RAD) Methodology


Instead of using old language to produce long and lengthy coding, we can use Rapid Application
Development methodology to save up time building application time. The most popular objectoriented programming languages, C++ and Java, are offered in visual programming packages
often described as providing rapid application development.
Rapid-development language is a general term that refers to any programming language that
offers speedier implementation than do traditional third-generation languages such as C/C++,
Pascal, or Fortran. Rapid-Development Languages (RDLs) produce their savings by reducing the
amount of construction needed to build a product. Although the savings are realized during
construction, the ability to shorten the construction cycle has project wide implications such as
shorter construction cycles make incremental lifecycles such as Evolutionary Prototyping
practical. Because RDLs often lack first-rate performance, constrain flexibility, and are limited to
specific kinds of problems, they are usually better suited to the development of in-house business
software and limited-distribution custom software than systems software.
There are commercial products that include requirements gathering tools, prototyping tools,
software development environments such as those for the Java platform, groupware for
communication among development members, and testing tools. RAD usually embraces objectoriented programming methodology, which inherently fosters software re-use.
RAD (rapid application development) proposes that products can be developed faster and of
higher quality by:

Using workshops or focus groups to gather requirements.

Prototyping and user testing of designs.

Re-using software components.

Following a schedule that defers design improvements to the next product version.

Keeping review meetings and other team communication informal.

1.4.4 Systems Development Life Cycle (SDLC) Methodology


The systems development life cycle (SDLC) is a conceptual model used in project management
that describes the stages involved in an information system development project, from an initial
feasibility study through maintenance of the completed application. Various SDLC
methodologies have been developed to guide the processes involved. Often, several models are
combined into some sort of hybrid methodology. Documentation is crucial regardless of the type
of model chosen or devised for any application, and is usually done in parallel with the
development process. Some methods work better for specific types of projects, but in the final
analysis, the most important factor for the success of a project may be how closely the particular
plan was followed.
In general, an SDLC methodology follows these steps:
1. If there is an existing system, its deficiencies are identified. This is accomplished by
interviewing users and consulting with support personnel.
2. The new system requirements are defined including addressing any deficiencies in the existing
system with specific proposals for improvement.
3. The proposed system is designed. Plans are created detailing the hardware, operating systems,
programming, and security issues.
4. The new system is developed. The new components and programs must be obtained and
installed. Users of the system must be trained in its use, and all aspects of performance must be
tested. If necessary, adjustments must be made at this stage.
5. The system is put into use. This can be done in various ways. The new system can phased in,
according to application or location, and the old system gradually replaced. In some cases, it may
be more cost-effective to shut down the old system and implement the new system all at once.
6. Once the new system is up and running for a while, it should be exhaustively evaluated.
Maintenance must be kept up rigorously at all times. Users of the system should be kept up-todate concerning the latest modifications and procedures.

1.4.5 Waterfall Methodology


The waterfall model is a popular version of the systems development life cycle model for
software engineering. Often considered the classic approach to the systems development life
cycle, the waterfall model describes a development method that is rigid and linear. Waterfall
development has distinct goals for each phase of development where each phase is completed for
the next one is started and there is no turning back.

The perceived advantages of the waterfall process are that it allows for departmentalization and
managerial control. A schedule is typically set with deadlines for each stage of development and
a product can proceed through the development process. In theory, this process leads to the
project being delivered on time because each phase has been planned in detail.

In practice, waterfall development often falls short of expectations as it does not embrace the
inevitable changes and revisions that become necessary with most projects. Once an application
is in the testing stage, it is very difficult to go back and change something that was not thought of
in the concept stage. Alternatives to the waterfall model include joint application development
(JAD), rapid application development (RAD), sync and stabilize, build and fix, and the spiral
model.

You might also like