Professional Documents
Culture Documents
Chelangat Document
Chelangat Document
SUBMITTED BY
PROJECT TITLE
A report submitted to the Department of Computer Science in the School of Computer Science
and Information Technology in partial fulfillment of the requirements for the award of the degree
of Computer Science Dedan Kimathi University of Technology
2018
i
ANDROID BASED MEAL BOOKING SYSTEM
DECLARATION
I hereby declare that the project entitled “Android Based Meal Booking System (ABMBS)”
submitted for the B.Sc. Computer Science degree is my original work and the project has not
formed the basis for award of any other degree, diploma or any other similar titles.
Signature …………………………….
Date: __________________________
SUPERVISOR
This is to certify that the above statement made by the student is true to the best of my
knowledge.
Signature ………………….
Date: ___________________
ii
ANDROID BASED MEAL BOOKING SYSTEM
ACKNOWLEDGEMENT
My sincere gratitude goes to the Almighty God for the gift of life and good health, to my
supervisor Dr. Musumba for his support, encouragement and his critics that paved way for the
success of the project, thanks to Mr. Opondo for his resourceful support and encouragement for a
short while, Dedan Kimathi University of Technology for giving me this opportunity to do this
project and to my family and friends for supporting me financially and whatsoever the case.
iii
ANDROID BASED MEAL BOOKING SYSTEM
DEDICATION
I lovingly dedicate this project to my mother who has been a source of inspiration throughout my
life. She has been my motivation and she has given me the courage to tackle tasks with
enthusiasm, hard work, hope no matter the situation is and determination. The project is also
dedicated to my sisters and brother who through it all they’ve showed me love and are a source
of inspiration.
iv
ANDROID BASED MEAL BOOKING SYSTEM
ABSTRACT
Technology and its effects has increased over a numbers of years. Taking advantage of the
advancement in technology, this project applies a digital touch to the way catering unit function,
in order to increase its reliability among students. Currently, there are no means of enabling
students to book meals online thus students have to be present for them to know the meals that
are still available and those that are not, on the other hand cashier has no means of knowing the
meals available and thus keeps waiting for update from those serving the meals.
Android Based Meal Booking System (ABMBS) solves the problem using the platform where
students can book meal within stipulated time, they can also check meals that are still available
according to preferences and finally manual update between the person serving and the cashier is
omitted since he or she would be able to control this through the use of the system.
The system followed the spiral development model in software development life cycle (SDLC)
through stages of identification, system design, construct or build, risk analysis and evaluation.
Since it combines the idea of iterative development with the systematic, controlled aspects of the
waterfall model. Software development takes place in series of developed releases. In initial
stage iterations, the release or model might be a paper model or a prototype. It allows changing
requirements to be accommodated.
TABLE OF CONTENTS
Table of Contents
v
ANDROID BASED MEAL BOOKING SYSTEM
DECLARATION.........................................................................................................................................ii
ACKNOWLEDGEMENT..........................................................................................................................iii
ABSTRACT...............................................................................................................................................iv
TABLE OF CONTENTS.............................................................................................................................v
LIST OF FIGURES...................................................................................................................................vii
CHAPTER ONE: INTRODUCTION..........................................................................................................1
Background.............................................................................................................................................1
1.2 Problem Definition............................................................................................................................2
1.3 Objectives..........................................................................................................................................2
1.3.1 General Objective.......................................................................................................................2
1.3.2 Specific Objectives.....................................................................................................................2
1.5Justification........................................................................................................................................2
1.6 Scope.................................................................................................................................................3
1.6.1 General Scope.............................................................................................................................3
1.6.2 Specific Scope............................................................................................................................3
CHAPTER 2: LITERATURE REVIEW.....................................................................................................4
2.1 INTRODUCTION.............................................................................................................................4
2.2 Case studies.......................................................................................................................................4
2.2.1 Case 1: Green Templeton College Oxford..................................................................................4
2.2.2 Case 2: Rhodes University Meal-booking System (South Africa...............................................4
2.2.3 Case 3: Durham University.........................................................................................................5
2.2.4 Case 4 Murray Edwards..............................................................................................................5
2.3 Weakness of their system..................................................................................................................5
2.4 Challenges solved by the system.......................................................................................................6
2.5 Research gap and summary of literature review................................................................................6
2.6 Assumptions......................................................................................................................................6
2.7 Methodology Used............................................................................................................................6
CHAPTER 3: METHODOLOGY...............................................................................................................7
3.1 Introduction.......................................................................................................................................7
3.2 Target population...............................................................................................................................7
3.3 Sampling strategy..............................................................................................................................7
3.4 Data collection...................................................................................................................................7
vi
ANDROID BASED MEAL BOOKING SYSTEM
vii
ANDROID BASED MEAL BOOKING SYSTEM
Appendix...................................................................................................................................................29
Software Resources...........................................................................................................................32
LIST OF FIGURES
Figure 1: Spiral development model (Houghton Mifflin, 1981; Penguin Books)........................................9
Figure 2: System recommendation............................................................................................................12
Figure 3:Impact of online meal booking system........................................................................................13
Figure 4 Use Case diagram........................................................................................................................14
Figure 5: Context Diagram........................................................................................................................15
Figure 6: Level 1 context Diagram............................................................................................................16
Figure 7: Entity relationship diagram(ERD)..............................................................................................17
Figure 8: Home page and login page.........................................................................................................18
Figure 9:Add meals...................................................................................................................................19
Figure 10: Receive cash.............................................................................................................................20
Figure 11:Dish details................................................................................................................................21
Figure 12: Administrator Dashboard..........................................................................................................23
Figure 13: Form for adding/registering Users............................................................................................24
Figure 14:List of Registered Users with different privileges......................................................................25
Figure 15: Administrator Dashboard for “Kennedy Onyango”..................................................................25
Figure 16: Cashier Dashboard....................................................................................................................27
List of tables
Table 1:Test Case and Error Messages for Users Registration Modules....................................................25
viii
ANDROID BASED MEAL BOOKING SYSTEM
ABBREVIATIONS
ABMBS- Android Based Meal Booking System.
ix
ANDROID BASED MEAL BOOKING SYSTEM
Students would have wasted time by moving to the catering unit and finds that meals are no
longer there. The students also face challenge where lecturers extend lessons and by the time the
students go to the mess some of the favorites meals are over.
Android Based Meal Booking System(ABMBS) is an answer this problem since it will make
work easier for students as they thrive through their studies. The system also aims at improving
student’s satisfaction.
This project seeks to utilize the technological convergence, by coming up with an Android Based
Meal Booking System (ABMBS) that can be installed on android mobile phone where the
students can check meals available and can also book meals. Implementing the system will help
the students save on time that would have been spent moving to catering unit to check on the
availability of meals. On the other hand, catering unit workers are saved on manual update
between the cashier and the person serving meals.
The system will overcome demerits of manual mess system whereby they will put down meals
available in the board and erasing them when there is notification from kitchen that certain meals
are no longer available.
Nearly all Kenyan Universities do not have systems where students can book their meals in
advance thus the system will be of the great use to most Kenyan university students.
1
ANDROID BASED MEAL BOOKING SYSTEM
Introducing Android Based Meal Booking System will solve the problem by introducing the
platform were students can book meal within stipulated time, they can also check meals that are
available and those that are not and finally manual update between the person serving and the
cashier is omitted since he or she would be able to control this through the use of the system.
1.3 Objectives
1.3.1 General Objective
The main objective of this research is to come up with a system that enables the students to book
meals in the school catering unit.
1.3.2 Specific Objectives
i. To develop system that will help the catering unit staff solve manual update between the
cashier and those serving food.
ii. To develop system that will help the student to know the food that are still available and
be able to book the meals.
1.5Justification
The system will ensure no wastage of resources such as time, energy, labor amongst others
which arise due to lack of a system which would complement those resources.
The Android Based Meal Booking System will be used by the students in Dedan Kimathi
University of Technology to book their meals, check the availability of meals and solve the
manual update between cashier and the person serving the meals.
This system can also be implemented in other universities in Kenya as well as Africa at large.
2
ANDROID BASED MEAL BOOKING SYSTEM
1.6 Scope
1.6.1 General Scope
It is possible to design Android Based Meal Booking System that can be implemented in all
Kenyan universities and in Africa. Some of which have done very little on their catering unit
section where students cannot check meals still available and cannot be able to book.
The system shall be developed by collecting the data from Dedan Kimathi University of
Technology students’ and catering unit staff/workers, and using it to come up with a system that
will be able to solve problems that are currently encountered.
3
ANDROID BASED MEAL BOOKING SYSTEM
2.1 INTRODUCTION
The body of text aims to review the critical point of current knowledge including substantive
findings as well as theoretical and methodological contributions towards the project. It doesn’t
involve any original experimental work, just secondary sources. Chapter two of this document
situates the current study within the field and scope covered by the project as well as providing
context. The document gives an account of what has been published related to my project by
scholars and other researchers. The document highlights on the knowledge and ideas that have
been established, their weaknesses as well as strengths.
This one of the universities in African continent that was founded in 1904 as Rhodes University
College, named after Cecil Rhodes, through a grant from the Rhodes Trust. It became a
constituent college of the University of South Africa in 1918 before becoming an independent
university in 1951.Rhodes meal booking system is a web based system where students can login
and book, unbook, rebook, change their meals or double book their meals any time of the day
from one of the computer in one of the computer labs. This must be done at least 48 hours in
advance.The meal booking computers are on 24hrs a day so you can make changes that you want
at any time. One important limitation is that you need to make changes 48hrs in advance of the
4
ANDROID BASED MEAL BOOKING SYSTEM
meal in question. This is done because the kitchens need that time to order the correct amounts
and sorts of food so that they can prepare the correct numbers and types of meals without
running short of anything.
5
ANDROID BASED MEAL BOOKING SYSTEM
The existing systems does not allow users book meals even with little amount since mode of
payment is limited to payment alongside with school fees of the student over time while the
proposed system would allow the students to book meals even with the little amount of money
they have i.e. via M-Pesa.
The proposed system will enable the user to checks the meals that are still available without
necessarily visiting the catering unit.
The proposed system will also help catering staff to put away the manual update between the
cashier at the counter those the meals.
2.6 Assumptions
It is assumed that;
6
ANDROID BASED MEAL BOOKING SYSTEM
CHAPTER 3: METHODOLOGY
3.1 Introduction
Methodology refers to the system of methods or procedures used in sampling and collecting data
required for particular research.it is also application of the principles of data collection methods
and procedures in any field of knowledge (,2003).
This being android based system aimed at helping the school to provide efficient services to the
students, the best data collection techniques for it are observations, and questionnaires for
students and catering unit staff. The development methodology to be used will be spiral model.
7
ANDROID BASED MEAL BOOKING SYSTEM
different classes in various schools. Data collected from this form were automatically collected
by google forms and aggregated in chart formats. It is from chats that done analysis were done.
No pressure, when using online questionnaires, there is no time limit and no one on the other end
waiting for an answer. Respondents can take their time to complete questions. They will often
answer question more truthfully.
They are cost efficient and time efficient. Questionnaires are one of the most affordable ways to
gather quantitative data. Especially online surveys have very low cost and a generous reach.
User anonymity. Questionnaires allows respondent to maintain their anonymity and allows also
to invisibly complete the questions.
Interviews are costly than questionnaires (Moser and Kalton,2000). All interviews require
careful preparation that means time and effort. Arrangements to visit, securing necessary
permission, confirming arrangements, rescheduling and rescheduling appointments.
Interviews requires great time amount of time to collect information. Because it takes several
interviews with different people.
Joint application development(JAD) is also similar to interviews since it requires a lot of time
and is costly. Few people often dominate the discussions and not everyone participates thus
making it bias.
3.4.3 Justification
For the above analysis questionnaires turns out to be the best method that was chosen as a
method of data collection since it is less costly, requires less time and it is no bias.
8
ANDROID BASED MEAL BOOKING SYSTEM
9
ANDROID BASED MEAL BOOKING SYSTEM
Iterative model application requires highly skilled resources for risk analysis, more management
attention is also required and finally project progress is highly dependent upon the risk analysis
phase.
Waterfall model requires fixed requirements as it cannot accommodate the changing
requirements, it is difficult to measure the progress within the stages and it is not suitable for
projects where requirements are at moderate risk of changing.
Agile method requires more commitments, is less predictable for some deliverables and
developers cannot the full extent of required efforts and the project can easily fall of track.
3.6.4 Justification
From the above analysis, spiral turns out to be the method that was chosen since it
accommodates the changing requirements, allows extensive use of prototypes and has better
mechanisms for carrying risk analysis.
10
ANDROID BASED MEAL BOOKING SYSTEM
All passwords should be encrypted, username and password verification as part security
measures.
Ease of use
The system should be ease to use for students, navigation should also be ease.
Robustness
Time to restart after failure, percentage of events causing failure, probability of data corruption
on failure.
Portability
11
ANDROID BASED MEAL BOOKING SYSTEM
51% of the respondents highly recommends the online meal booking system to be implemented
in University catering unit section.
31% of the respondent moderately recommend the online meal booking system and 17% highly
discouraged the online meal booking system in the university.
4.2.2 Impact of online booking system
The figure below shows the respondent’s responses on the impact of online booking system
whether positively or negatively.
12
ANDROID BASED MEAL BOOKING SYSTEM
63% of the respondent’s think that the system the online meal booking system would bring
positive impact on the University catering unit section and to students.
11% of the respondents think that the online meal booking system would bring negative impact
to both university catering unit and students.
25% of the respondents think that the online meal booking system would not bring an impact to
both university catering unit and students.
13
ANDROID BASED MEAL BOOKING SYSTEM
14
ANDROID BASED MEAL BOOKING SYSTEM
Show the other systems in the environment, not how the system being developed is used in that
environment. System boundaries are established to define what is inside and what is outside the
system. They show other systems that are used or depend on the system being developed.
15
ANDROID BASED MEAL BOOKING SYSTEM
16
ANDROID BASED MEAL BOOKING SYSTEM
Entities may be characterized not only by relationships, but also by additional properties
(attributes), which include identifiers called "primary keys". Diagrams created to represent
attributes as well as entities and relationships may be called entity-attribute-relationship
diagrams, rather than entity–relationship models (Beynon-Davies and Paul, 2004).
17
ANDROID BASED MEAL BOOKING SYSTEM
18
ANDROID BASED MEAL BOOKING SYSTEM
19
ANDROID BASED MEAL BOOKING SYSTEM
20
ANDROID BASED MEAL BOOKING SYSTEM
21
ANDROID BASED MEAL BOOKING SYSTEM
In software engineering, system testing plays an important role for the delivery of the project or
the system. Every developed system is checked in order to find out the programming bugs.
Meanwhile, testing cannot guarantee the total bug free system. Hence, the basic objective of the
system is to find out the bugs solve them for the bugs free system. White box testing and black
box testing were used.
Method of software testing that examines the functionality of an application without peering into
its internal structures or workings. This method of test can be applied virtually to every level of
software testing: unit, integration, system and acceptance. It is sometimes referred to as
specification-based testing (Jerry Gao et al ,2003).
22
ANDROID BASED MEAL BOOKING SYSTEM
If successful i.e. no errors have occurred, the following are the expected results:
1. Account created successfully. Once accessed the Registered Accounts “Kennedy Onyango’s”
details should be available.
2. “Kennedy Onyango” would be able to login as administrator and given privileges of
administrator
23
ANDROID BASED MEAL BOOKING SYSTEM
24
ANDROID BASED MEAL BOOKING SYSTEM
Table 1:Test Case and Error Messages for Users Registration Modules
A user submits the registration form with an The s name field is required.
empty Last Name field
A user submits the registration form with an The username field is required.
empty username
A user submits the registration form with an The phone field is required.
empty phone number
A user submits the registration form with an The password field is required.
empty password
A user submits the registration form with The password confirmation does not match.
password fields not matching
A user submits the registration form with The password must be at least 6 characters.
password less six characters
A user submits the registration form with an The email field is required.
empty email
A user submits the registration form with an The email has already been taken.
email already used by another user
25
ANDROID BASED MEAL BOOKING SYSTEM
A user submits the registration form with an The email must be a valid email address.
invalid email format
Table 1: Test Case and Error Messages for Users Registration Modules
5.2 implementation
The ABMBS system is a combination of an android App and web Application. The
implementation part is more specific to the website as this site is meant to serve a large number
of users(students). It is expected that the server hosting this website will always have huge traffic
and thus needs to be hosted on the best server hardware and the software.
5.3 Deployment.
5.2.0 Release
During the course of development ABMBS System prototypes were and shall continue to be
released for user testing and reviews. The prototypes and final application shall be hosted on the
server.
26
ANDROID BASED MEAL BOOKING SYSTEM
5.4 Security
For security purposes, the following were implemented:
Set the minimum length of required password and let the password include mixture of character
and symbols.
Use sessions, when user logs out, clicking back button in the browser will prompt the user to
enter the username and password.
Use POST instead of GET to submit data so sensitive information is not in the URL.
27
ANDROID BASED MEAL BOOKING SYSTEM
Make sure you log all admin level accesses with date, times and usernames.
Maintain backups.
Test backups.
Use root account only when required. Enforce strong passwords and change policies.
In line with the specific objectives that were stipulated; this is how each was achieved by the
system, the system was proposed to enable payment through M-pesa, which the system has
achieved that through M-Pesa sandbox for testing.
To develop a system that enhance meal booking in a mobile android app. This was achieved
when the users are able to view meal and be able to book.
To develop system that will help the catering unit staff solve manual update between cashier and
serving the food by enabling chef to add meals and be viewed by users (cashier and students).
6.1 Limitations
The following are the limitations and challenges that I face during the development of Android
Based Meal Booking System:
1. Budget constraints: I was constrained by cost overruns. I intended to integrated M-Pesa online
payment which needed a lot money to acquire M-Pesa and formalities to enable online payments.
28
ANDROID BASED MEAL BOOKING SYSTEM
2. M-Pesa till number that enhances online payment and ended up simulating using M-Pesa
sandbox for simulation.
3. Less literature review on the meal booking system that uses online payment through M-pesa.
6.4 Recommendations
The following are the recommendation for Android Based Meal Booking System:
1. Ensure that ABMBS is available at all times. It is very crucial to ensure that Android
Based Meal Booking System has the full trust from its users. Breakdown of the system
will cause loss of trust.
2. Till number that allows online payment should be acquired to enhance meal booking and
enhance payment to the catering unit account.
3. Create awareness among the users so that they aware of the usability of the system in
general.
4. Continual redesign of the System. Many online users get “bored” with the same user
interface over time and may opt to go other opt for the old methods.
6.2 Conclusions
The main goal was to develop mobile application that can be used book meals by Dedan Kimathi
University students and catering unit staff hence address the need of users on saving time and
discouraged manual update between cashier and people in the kitchen.
The opportunity that exists in DKUT concerning meal booking is not well utilized thus mobile
application comes in handy to offer a solution.
The proposed solution is android based mobile application that was designed, developed and
tested for use by DKUT students.
29
ANDROID BASED MEAL BOOKING SYSTEM
References
University (2018). Meal booking help documents. Retrieved from:
https://www.ru.ac.za/residential operations/meal bookings/
Floyd et al.: STEPS to software development with users. In: Ghezzi, C.; McDermid, J.A. (eds.):
ESEC’89: Lecture Notes in Computer Science Nr. 387; Berlin: Springer 1989.
Christian Dawson 2013, Software Development Process: A Technique for Evaluation and
Decision-Making, Knowledge and Process Management.
Boehm and B. W (1988).: A Spiral Model of Software Development and Enhancement; IEEE
Computer 21, 1988.
Beck and K.: extreme Programming Explained: Embrace Change; Addison-Wesley, 2004 (2 nd
Edition).
Ken Black (2004). Business statistics for contemporary Decision Making (fourth (Wiley student
Edition for India) ed.).
Chen and Peter (March 1976). "The Entity-Relationship Model - Toward a Unified View of
Data". ACM Transactions on Database Systems. 1 (1): 9–36.
Jerry Gao; H.-S. J. Tsao; Ye Wu (2003). Testing and Quality Assurance for Component-based
Software
30
ANDROID BASED MEAL BOOKING SYSTEM
Appendix
Sample questionnaires
Hello interviewee, please help us collect information about the current system-. The information
given in this interview is meant for coming up with a long lasting solution to provide quality and
timely services to all our students. Information will be kept confidential and will NOT be used for
any other purpose.
STUDENTS QUESTIONS.
Please answer the questions according to your opinion, there are no penalties for your response.
5. Have you ever booked meal online? 6. If yes, did you like it?
Yes Very much
No Yes
31
ANDROID BASED MEAL BOOKING SYSTEM
No
3. Who do you serve? Tick all that apply 4. How many meal varieties do you offer?
Students Less than 5
Lecturers 5-20
Guest Above 20
Any other
5. In scale of 1-5,5 being the highest, rate the 6. Have you ever thought of venturing into online
current system? meal booking system?
One Yes
Two No
Three
Four
Five
32
ANDROID BASED MEAL BOOKING SYSTEM
Gantt Chart
33
ANDROID BASED MEAL BOOKING SYSTEM
Software Resources
Operating system (windows 8.0, windows 8.1, windows 10, Ubuntu).
Android studio.
MYSQL database.
Apache server.
Sandbox for testing M-Pesa payments
Android phone.
User Manual
Log in –Tasks for cashier and administrator
1. Go to meal.shulemall.com
2. In the home page click “login” in the top right of the home page
4. Click "Login."
34
ANDROID BASED MEAL BOOKING SYSTEM
3. Click delete Icon /edit Icon alongside the name of the user you want to delete /edit
35
ANDROID BASED MEAL BOOKING SYSTEM
36
ANDROID BASED MEAL BOOKING SYSTEM
37
ANDROID BASED MEAL BOOKING SYSTEM
38
ANDROID BASED MEAL BOOKING SYSTEM
39