Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Group 8
System Documentation
For
Hotel Managers
Submitted by:
Submitted to:
Sahilu Wendeson
1 /14 /2017
Addis Ababa
Ethiopia
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
Part 2:
Customer Statement 33% 34% 33%
of Requirements
Part 3: System
Requirements 50% 50%
i
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
Table of Contents
Individual Contributions Breakdown ............................................................................................................. i
List of Figures ............................................................................................................................................... iv
List of Tables ................................................................................................................................................. v
1. Introduction .......................................................................................................................................... 1
2. Feasibility Study .................................................................................................................................... 1
2.1. Executive Summary ....................................................................................................................... 1
2.2. Market/Industry Feasibility........................................................................................................... 1
2.3. Operational Feasibility .................................................................................................................. 2
2.4. Technical Feasibility ...................................................................................................................... 2
2.5. Economic Feasibility ...................................................................................................................... 3
2.6. Schedule Feasibility ....................................................................................................................... 4
3. SDLC Methodology ................................................................................................................................ 4
3.1. What is Agile? ............................................................................................................................... 4
3.2. Why we use agile? ........................................................................................................................ 5
4. Customer Statement of Requirements ................................................................................................. 6
4.1. Problem Statement ....................................................................................................................... 6
5. System Requirements ........................................................................................................................... 9
5.1. Enumerated functional requirements ...................................................................................... 9
5.2. Nonfunctional requirements .................................................................................................. 10
5.3. On screen requirements ......................................................................................................... 11
5. Functional Requirements Specification .............................................................................................. 14
a. Stakeholders ................................................................................................................................... 14
b. Actors and Goals ............................................................................................................................. 14
c. Use Case .......................................................................................................................................... 15
I. Description .................................................................................................................................. 15
II. Use Case Diagram ....................................................................................................................... 19
III. Sequence diagrams ................................................................................................................. 20
IV. Traceability Matrix .................................................................................................................. 21
6. User Interface Specification ................................................................................................................ 22
a. Preliminary Design .......................................................................................................................... 22
ii
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
iii
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
List of Figures
Figure 1 Agile Development .......................................................................................................................... 5
Figure 2 App Search Screen ........................................................................................................................ 12
Figure 3 App Search Results ........................................................................................................................ 12
Figure 4 Hotel Side login ............................................................................................................................. 13
Figure 5 Hotel Manager Page ..................................................................................................................... 13
Figure 6: Online Hotel Reservation System ................................................................................................ 19
Figure 7: Hotel Review System ................................................................................................................... 19
Figure 8: Customer Sequence Diagram ...................................................................................................... 20
Figure 9: Hotel Admin Sequence Diagram .................................................................................................. 20
Figure 10: System Admin Sequence Diagram ............................................................................................. 21
Figure 11:The search screen and The check-in screen ............................................................................... 22
Figure 12:Hotel Search Results ................................................................................................................... 23
Figure 13:Room Search Result And Room Description ............................................................................... 24
Figure 14:Sign Up Page ............................................................................................................................... 25
Figure 15: Post Review Page ....................................................................................................................... 25
Figure 16: Payment Information ................................................................................................................. 26
Figure 17:Edit Profile................................................................................................................................... 26
Figure 18: Hotel Admin login page.............................................................................................................. 27
Figure 19:Edit Services Page ....................................................................................................................... 28
Figure 20:Special offers page ...................................................................................................................... 29
Figure 21: Domain Model Diagram ............................................................................................................. 32
Figure 22: UC1 ............................................................................................................................................. 37
Figure 23:UC2.............................................................................................................................................. 38
Figure 24: UC3 ............................................................................................................................................. 39
Figure 25: UC 4 & UC 5 ................................................................................................................................ 40
Figure 26: UC 6 ............................................................................................................................................ 41
Figure 27: UC 7 ............................................................................................................................................ 42
Figure 28: UC 8 ............................................................................................................................................ 43
Figure 29: Class Diagram ............................................................................................................................. 45
Figure 30: Architecture For The Web App .................................................................................................. 47
Figure 31: Client-Server Architecture ......................................................................................................... 47
Figure 32: Plan of work ............................................................................................................................... 55
iv
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
List of Tables
Table 1: Cost Estimation ............................................................................................................................... 3
Table 2: Schedule .......................................................................................................................................... 4
Table 3: Functional Requirement.................................................................................................................. 9
Table 4: Non Functional Requirement ........................................................................................................ 11
Table 5: Actors and Goals ........................................................................................................................... 14
Table 6: Use Case 1 ..................................................................................................................................... 15
Table 7:Use Case 2 ...................................................................................................................................... 16
Table 8: Use Case 3 ..................................................................................................................................... 16
Table 9: Use Case 4 ..................................................................................................................................... 16
Table 10: Use Case 5 ................................................................................................................................... 17
Table 11: Use Case 8 ................................................................................................................................... 17
Table 12: Use Case 9 ................................................................................................................................... 18
Table 13: Traceability Matrix ...................................................................................................................... 21
Table 14: Concept Definition ...................................................................................................................... 33
Table 15: Association Description ............................................................................................................... 35
Table 16: Attribute Definition ..................................................................................................................... 36
Table 17: Traceability Matrix ...................................................................................................................... 36
Table 18:user authentication ...................................................................................................................... 48
Table 19: Display list on app ....................................................................................................................... 49
Table 20: Search for hotels ......................................................................................................................... 49
Table 21:Display current data ..................................................................................................................... 50
Table 22: Book a room ................................................................................................................................ 50
Table 23:Connect multiple cell phones....................................................................................................... 51
Table 24: Write review ................................................................................................................................ 51
Table 25: Add hotel data ............................................................................................................................. 52
Table 26:Edit hotel data .............................................................................................................................. 52
Table 27: Manage profile ............................................................................................................................ 53
Table 28: View Hotels Data ......................................................................................................................... 53
v
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
1. Introduction
The hotel industry worldwide has witnessed enormous growth in the past two decades
and most of the credit for this achievement goes to effective utilization of power of the
internet. Millions of properties all over the world are nowadays offering the facility of online
bookings/reservations to their guests. In fact, online reservations have become a norm as
travellers find it much easier to book hotels/rooms of their choice from the convenience of four
walls of their homes.
There are many mobile applications available which make peoples work quicker. Here
we introduce new android application where user can book rooms via Smartphone. This
application allows users to book hotel rooms through the convenience of their android phones.
Using this system user can view and check for various rooms available and simultaneously book
them by making online payment. Hotels will also be able to advertise, allow customers to book
rooms and keep history of customers for recommendation. So, this system will have two
clients. This paper contains the project breakdown and work flow.
2. Feasibility Study
2.1. Executive Summary
The project undertaken is Hotel Reservation Android app. Hotel reservation app will be
very helpful in transforming the current hotel reservation system. It will be very helpful
especially in assisting or propelling new hotels to the hotel industry. It will also help hotels with
manual reservation system. Which will make the product very desirable. This product will
address the above mentioned subjects and their problems. It will appeal to their desires
towards solving those problems. Because we provide an easy to use and understand product,
the desirability of the product will be very high.
Performance: During the past several decades, records are taken and kept manually. They are
also handled manually for all activities such as book keeping, data storage etc. This method of
record management is time consuming and highly prone to error. Errors are very critical in the
hotel industry as it could mean loss of customers and hence loss of money.
To improve the performance of the Hotel Management System, the computerized system is to
be undertaken. This project will be fully computerized and user friendly.
Efficiency: Another need of this app is efficiency and reliability. The system should be efficient
so that whenever a new user submits his/her details the system is updated automatically. This
record will be useful for other users instantly, such as if the current room has been vacated and
so on. It can also efficiently store history of users.
Control: The complete control of the system is under the hands of authorized person who has
the password to access this system and illegal access is not supposed to deal with. All the
control is under the administrator and members of the administrator group. They will have the
rights to view the records. An admin will be able to manage everything. From control point of
view this system is very good.
Security: Security is another criteria for the proposed system. For most hotels in Ethiopia the
manual system (old) is very prone to damages. As all the documents are stored in a file cabinet
it has the chance of being damaged through time. But when it comes to the proposed system it
will be stored in a safe environment and will only be accessed by authorized personnel.
Service: The system we are building is user friendly on both sides of the system. From the
customer side, the customer will be able to search through hotels and book rooms online. From
the hotel manager side, the manager will be able to edit the services the hotels give, search
earlier history of customers. The system will be working in real time.
Software Requirements: Android OS, Web Browser (Google chrome, Internet Explorer,
etc.)
After the system is once developed it can be easily handled by a non-technical person.
So, a technically sound expert is not required here. Hence this problem does not arise at all.
5000-
1 Computer (PC) 7000
5 Miscellaneous 2,500
3. SDLC Methodology
3.1. What is Agile?
Agile software engineering combines a philosophy and a set of development guidelines. The
philosophy encourages customer satisfaction and early incremental delivery of software; small,
highly motivated project teams. Informal methods; minimal software engineering work
products; and overall development simplicity. The development guidelines stress delivery over
analysis and design (although these activities are not discouraged), and active and continuous
communication between developers and customers.
The values and principles of agile have enough flexibility to allow teams in wide variety of
organizations to develop software in a way that works best for their particular situation while
providing enough direction to help a team continually move towards their full potential.
Since both hotels and hotel customers will be using our product, having both involved from the
inception to the delivery stage of the product will allow us build a better system that both end
users will appreciate.
1. Customer satisfaction agile focuses more on customer satisfaction and interaction than
on plans and artifacts .collaborating with the customer will help us to develop a system
that meets the customer needs, having the customer involved from the beginning stage
until the final stage of the development will allow our team to focus on the customers
current priority.
2. Collaboration working closely with stakeholders and having strong communication
between the team is one core aspect of agile development.
3. Incremental developmentby building the system in an iterative approach it enables the
customer to evaluate the necessary feedback to the team, then the team will further
enhance the product and continue this cycle until the customer is satisfied with the final
product.
4. Response to change as the project proceeds it is difficult to predict how the customer
priorities change being able to adopt and change is one of the advantages of using agile.
System Specification Document |Biruk ATR/4514/05, Bisratemichael ATR/6015/05, Daniel
ATR/3676/05, Dawit ATR/1378/05, Yared ATR/1849/05
Hotel Reservation App
Addis Ababa, Ethiopia 5|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
Third only to Brussels and Washington DC, Addis Ababa is home to 118 diplomatic
missions accredited to both the government in Ethiopia, the AU and the UNECA. But it is a city
which has only three international chain and six internationally branded hotels. For the hotel
industry in Ethiopia, the best is yet to come.
I would like to emphasize on the last sentence. For the hotel industry in Ethiopia, the
best is yet to come. It is a very strong statement depicting the reality. The hotel industry is an
untouched gem. Ethiopia is one of the biggest tourist attracting countries due to its ancient
history, magnificent landscapes and beautiful diverse cultures. As a capital city of Africa there
are a number of international organizations in Addis Ababa such as the African Union (AU), the
European Union (EU) and the Economic Commission for Africa (ECA), a lot of conferences held
annually and high number of peoples comes to Addis Ababa with high expectation and demand.
But most hotels arent organized and have problems of service. Therefore, hotels in Addis
Ababa need to have high customers orientation in forwarding services to solve problems of
service delivery. Due to these factors there is a huge business opportunity for hotel investors.
There is a very big gap between the demand for hotel rooms and service provided. An article on
Addis Standard stated that in 2015, there was more than 3 million room night demand and less
than half of the demand was met. At this rate, around 5 million room night demand is expected
with more than 3 million room night demands unmet. Which is 60% room night demand unmet.
There is a lot that needs to be worked on bridging this gap. One very interesting stat is Addis
Ababa is experiencing the opening on average of one hotel per month, according to data from
the Addis Ababa Hotel Owners Trade Sectorial Association (an indication that the industry has
System Specification Document |Biruk ATR/4514/05, Bisratemichael ATR/6015/05, Daniel
ATR/3676/05, Dawit ATR/1378/05, Yared ATR/1849/05
Hotel Reservation App
Addis Ababa, Ethiopia 6|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
attracted the authorities and the developers due attention) . Even though much has been
done to improve the industry, there is no significant increase in hotel industry. This can be
attributed to different reasons.
Most of the current hotel reservation systems lack dynamism. The operational
integration between reservations, guest history and reception/front desk arent done in an
efficient way. Most of the countries hotels apply the old hotel reservation system. This
reservationsystem is done by phone orby front desk check in manually. Manual systems put
pressure on people to be correct in all details of their work at all times, the problem being that
people arent perfect, however much each of us wishes we were. On a survey conducted
onfrequent hotel customers we were able to conclude that this was an area of major issue. To
take one specific case, one of the customers(subjects) we asked explained that he made
reservations on the phone but on arrival he was told they had no record of his booking and in
fact the room the customer thought he had reserved was booked by another person and he
had to settle for another room. This was a case all of our subjects had experienced. Let us take
a look at another case that shows an issue with this system. One of our subjects told us that
when he booked a hotel he was told of the services he would be getting when booking the
room by the receptionist. But in arrival the services he didnt get the services he wanted. With
manual systems the level of service is dependent on individuals and this puts a requirement on
management to run training continuously for staff to keep them motivated and to ensure they
are following the correct procedures. It can be all too easy to accidentally switch details and
end up with inconsistency in data entry or in hand written orders. This has the effect of not
only causing problems with customer service but also making information unable be used for
reporting or finding trends with data discovery. Reporting and checking that data is robust can
be timely and expensive. This is often an area where significant money can be saved by
automation.
It takes more effort and physical space to keep track of paper documents, to find
information and to keep details secure. When mistakes are made or changes or corrections are
needed, often a manual transaction must be completely redone rather than just updated. With
manual or partially automated systems information often has to be written down and copied or
entered more than once. Systemization can reduce the amount of duplication of data entry.
Another impact of manual systems is on Customer service. Customer queries can be difficult
to respond to as information is stored in different places and may even require that you find
the right person before being able to respond. This is no good if they are out to lunch or only
work part time. And so the above can be summarized to these key points.
6. Lack of security.
Lack of computerized data storage:Historically, hotels have kept paper records in filing
cabinets. However, hotels are much larger now with many customers to keep track of with
regard to types of accommodations, whether low budget, luxury, or somewhere in between, as
well as smoking or non-smoking preferences. Keeping track of large customer bases and all
their attendant details would require an inordinate space for file cabinets, not to mention the
time employees would spend going back and forth to file cabinets looking up each clients
information.
Lack of advertisement:A Canadian professor named Marshall McLuhan once quoted that
Ads are the cave art of the twentieth century. This is a quote perfectly explaining the need of
advertisement. This is not an issue for all hotels as some are international brands and known all
over the world. Ethiopia has six internationally branded hotels with 990 rooms. With this
limited number of rooms it is a must to look for other options. But for most hotels they are not
known internationally or even across Ethiopia. Advertisement is an issue that hasnt been
addressed adequately. One of our subjects told us about a hotel in Bahirdar which they stayed
at as a backup due to a lack of hotel rooms at their preferred hotel. The customer said the hotel
was much better than the hotel they were going to stay at and was satisfied with their services
as well as being cheaper. So, from this we can conclude it is a very big issue to be addressed.
Lack of description of services given by the hotels is another big issue. Customers dont
want to go to hotels without knowing what they will get. In the survey we conducted we found
this to be another major issue. One customer booked a hotel through phone without any hitch.
After arrival he paid all his fees and he later found out he paid 25% more for services he didnt
use. He had paid for gym and swimming, services the customer didnt want at the time as he
was there for a business stay. This would have been avoided if he had received the full
description of the services he would get. Another case that occurred is the customer arrived at
System Specification Document |Biruk ATR/4514/05, Bisratemichael ATR/6015/05, Daniel
ATR/3676/05, Dawit ATR/1378/05, Yared ATR/1849/05
Hotel Reservation App
Addis Ababa, Ethiopia 8|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
the hotel after booking a family sweet for his family which consisted of 5 persons. But when
they arrived there the room only had 2 beds to the usually 3 for family sweets and they didnt
have Wi-Fi services as wellwhich they were told the hotelnever had. All this could have been
avoided if there were simple and clear description of services given by the hotel.
5. System Requirements
From the above list of problems we have elicited the requirements that should be met by
our system and organized them for display in a prioritized table for ease of reading. We have
divided these requirements to the functional requirements (the things our system should be
capable of doing) and the non-functional requirements (the features the system should have).
we have also added a firsthand draft of what the onscreen display should likely incorporate.
The functional requirement we have put down with the highest priority is searching for and
booking hotels rooms. Another requirement with high priority is REQ8 which states that the
system should have a platform to allow authorized users to set and manage hotel information,
this is to allow hotel managers or whoever is in charge of controlling the hotels image to change
some of the hotels features or make special offers to customer.
As stated in REQ1 the system should take search criterion such as location, duration of stay,
price as input and display a list of hotels with the vacancies that conform to the search
parameters REQ3. REQ 6 has been given lower priority because they are not integral to the
proper functionality of the system but are extra functionalities we would like to incorporate to
it.
REQ25
2 System must contain customer reservation history
Given that the system is built for hotel reservation it is expected to handle a multitude of
users at any given time this is why REQ17 is given highest priority. Also people using the app to
book hotel rooms online will likely be typical internet users; System should be designed in such
a way that the users will have little trouble in learning how to use it.
Say two people were trying to book the same room at the same time; REQ20 states the
system should handle this situation so that only one of them pays for and gets the room.
After filling in the search criterion, the system will display hotels based on the suitability or preferences
of the user.
Once logged in the users get a chance to change different features of their hotel and
check or schedule events.
At this page the hotel manager will be able to edit, update or add information pertaining to the
hotel.
System Specification Document |Biruk ATR/4514/05, Bisratemichael ATR/6015/05, Daniel
ATR/3676/05, Dawit ATR/1378/05, Yared ATR/1849/05
Hotel Reservation App
Addis Ababa, Ethiopia 13 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC
a. Stakeholders
Hotels: They would like to use our system to manage and computerize hotels the hotel booking system.
As well as wanting to enable users to book hotel rooms online.
People who want to book hotel rooms: They could use the app to browse through the different hotels
found in the city. They could search through the different hotel rooms by names or by price.
Organizations that require services of the hotel: Organizations would like to book hotel rooms for their
guests. They will also want to view the different services given by the hotels which will be provided.
c. Use Case
I. Description
<-system would display an error page, which shows Please Input the correct Information and then
returns to 2.
3(b) The email user submitted has already been registered.
<-system display an error page, which shows The email has already been registered. Please re-sign up
and returns 2.
Table 7:Use Case 2
Req PW UC1 UC2 UC3 UC4 UC5 UC6 UC7 UC8 UC9
REQ1 5 X
REQ2 5 X
REQ3 5 X X
REQ4 4 X
REQ5 4
REQ6 4 X
REQ7 4 X
REQ8 3 X
REQ9 3
REQ10 2 X
REQ11 2 X
REQ12 1 X
MaxPW 5 2 1 3 5 4 5 5 2
TotalPW 13 2 1 3 5 4 5 5 2
Table 13: Traceability Matrix
a. Preliminary Design
The default screen that the user will see is the search screen. In this screen the user first will specify the
hotel name or the city name in the search bar then by pressing the check-in button the user can set the
check-in date similarly the check-out date can be set in a similar manner ,furthermore the number of
room and guest can also be easily entered then finally the user will finish the process by pressing the
search button.
If the system finds a result matching the user request then it will display it and the user can browse
through the search results. Each option consists of the hotel name its star rating and also the price
The system also gives suggestion based on users past search history. The user can further select one
hotel and look through what service and amenities the hotel provides. Then they can browse through
the rooms by pressing the rooms button.
After pressing the Rooms button the user can view the available rooms in the hotel, just like before each
result contain the price of the room, then the user can select a room that suits them and proceed to
book the room by pressing the book button.
After the user pressed the book button then the user will be presented with the login screen, the user
will log into the account and proceed to the next stage. If the user doesnt have an account then the
user can sign up for an account.
The user also has the option to give feedback or review to the hotel they booked.
This is the index page for admin the admin, the admin must be logged-in in order to perform the
different services provided by the platform.
Once logged-in the admin can choose different actions like edit services & special offers, in edit services
the admin can change/update the service provided by the hotel.
In the special offers page the admin can change/update recent activity that the hotel will host
such as concerts, meetings or other offers.
a. Log in to account
b. Click on hotel
c. Click on review button
----After completing data entry as shown below----
d. Submit review
Data entry
a. Click on review field
b. Input review
a. Click on login
b. Click on check booking status
c. Click on cancel booking
d. Click finish
a. Click on sign in
b. Click on update services
-----After completing data entry as shown below-------
c. Click on logout
Data Entry
a. Click on the desired field
b. Update field
a. Click on log in
b. Click on report
c. View report
7. Domain Analysis
a. Domain Model
I. Concept Definition
The figure displayed below is a domain model diagram of our system. This Domain model
diagram was created with the use cases mentioned above in mind. We have also included a table
explaining the various concepts displayed in the image along with their associations.
R15 receive info from manager and notify customers via email Event notifier
R15 receive info from manager and notify customers via email description Event notify
R19 retrieve and display hotel information matching parameters SearchAndDisplay Search
Domain Model UC1 UC2 UC3 UC4 UC5 UC6 UC7 UC8 UC9
Customer X X X X X X X
Payment X X X X X
Reservation X X X X X
Review X X X
Room X X X X
Hotel X
Event Notifier X
Search X X
Hotel Manager X X
Table 17: Traceability Matrix
8. Interaction Diagram
a. Sequence Diagrams
UC 1
Description
The above interaction diagram is for Use case 1 Search info. The user inputs the search parameters. The
search filter filters out wrong characters and wrong inputs. The system or database searches for the
desired hotels and displays the results from the best much down.
UC2
Figure 23:UC2
Description
The above interaction diagram is for Use case 2 Signup. User clicks on sign up. Then user enters personal
information on the signup form. If the entered information is incorrect displays error message. If
information is valid displays user profile created.
UC 3
Description
The above interaction diagram is for Use case 3 give feedback. The user opens the leave review dialogue
box. If the comments or review is longer than the allowed number of characters it returns invalid
comment to the user. If the comment is valid
UC 4 &UC 5
Description
The above interaction diagram is for Use case 4 Online Payment and Use case 5 Book rooms. User logs
in to page. System authenticates validity of the user. If the user is valid the user moves on to book
rooms. Check balance checks if the user has sufficient balance. If the user has sufficient balance the user
books the room and GUI displays room booked. But if user doesnt have sufficient balance it displays
insufficient balance.
UC 6
Figure 26: UC 6
Description
The above interaction diagram is for Use case 6 Edit Account. User logs into account. User gets
authenticated. If user is valid, user edits personal information such as names and bank account or paying
information. The system then displays updated information.
UC 7
Figure 27: UC 7
Description
The above interaction diagram is for Use case 8 Update Profile. Hotel admin logs in to page. The
information gets authenticated. If the submitted information is invalid system displays error message. If
user input is correct, hotel admin updates information of their hotel. The system then displays
successful information.
UC 8
Figure 28: UC 8
Description
The above interaction diagram is for Use case 9 browse information. Hotel admin logs into page using
the correct information or username and password. If information submitted is incorrect system
displays error message. After user gets authenticated, user searches or inputs for specific information
concerning their hotel. System displays the results or information.
b. Design Principles
We will have In-app search feature amplifies the usability of an app for the end users. More
intuitive is the in-app search, better is the experience that a user derives from the app. There are
predefined proven search patterns that make the in-app search feature a treat for the end-users. Which
will apply use case 7.
We also applied the interface segregation principle rule. This principle teaches us to take care of
how we write our interfaces. When we write our interfaces we should take care to add only methods
that should be there. If we add methods that should not be there the classes implementing the interface
will have to implement those methods as well. Therefore we will be having this in mind.
9. Class Diagram
a. Description
User user class is a class that parents customer and hotel manager classes. It has the string attributes
name, username and password. The user class employs the method updateAccount() which allows the
user to make changes to their account this method is implemented both in hotel manager and customer
classes.
Customer has the method search() which runs searches and displays data, it also has the method
make reservation which would call other functions related to reservations. Customer has methods to
implement viewing and writing reviews.
viewCustomerInfo() retrieves information of customer of the hotel the hotel manager is responsible
for
Hotel has attributes keeping track of the hotels address, name and location (possibly coordinates) and
parents rooms which connect via its id.
Room has attributes pertaining to room #, type of room, price of booking the room and whether or
not it allows smoking. It employs the method getAvailability() which returns a Boolean describing
current status of the room
Reservation has attributes that keep track of check-in time, check-out time, the customers id and the
total cost. Reservation class employs a method reservation status() which returns true if reservation
process goes through flawlessly meaning no flags on payment.
System Admin has user name and password for authentication and has methods allowing for addition
and removal of hotels and hotel managers.
Payment has the attribute payment type declaring the type of payment to be performed and attribute
payment status holding the value of successful payment.
The architecture that we use for the web app is the three tier architecture, the tiers are the
presentation tier, the business tier & the data tier. The role of the presentation tier is providing an
interface that the user can interact with where as the Business tier is where the main business logic
exists .The data tier which is responsible for interacting with a database, so data persistence is executed
in this tier.
The advantage of using three tier architecture is separation of concern. The presentation tier can be
changed without changing the other tiers similarly the business logic can change without affecting the
presentation tier, so this separation into components will help the division of tasks even further, aids in
maintenance of the system and prompts scalability and extensibility.
Finally our web app is also a Restful web service meaning it provides access to any device
irrespective of its platform. In the REST architectural style, every piece of information is a resource, and
these resources are addressed using Uniform Resource Identifiers (URIs), typically links on the Web. The
resources are acted on by using a set of simple, well-defined operations. The REST client-server
architectural style is designed to exchange representations of these resources using a defined interface
and protocol. These principles encourage RESTful applications to be simple and lightweight, and to have
high performance.
The main persistent storage solution for our project is the MySQL relational database. in these
database all the relevant details of user information hotel details are stored. the android app also
utilizes the SQLite local relational database, the database primary is used for storing cached network
data, storing them in the database provides quick access.
b. Concurrency
In android the main thread is the ui thread it is in this thread all views are drawn so any task that takes
longer time to complete like network I/o file I/o will block the main thread and as a result causes hang-
up and freeze up to the ui . Therefore in order for the ui to be fluid and responsive this tasks should run
on separate background thread.
Hardware Requirement
user authentication
Assumption: Hotel manager is trying to log in to his/her account to view or make changes to their
hotel.
Unit Testing
Steps :
Hotel manager enters user authentication page
Hotel manager inputs user id and pass
Expected : if user id and pass check out Hotel manager gets access to next page
Fails if :
System doesnt allow access with correct id and pass entered
System allows access with fake credentials
Table 18:user authentication
Assumption : user is trying to browse through a list of hotels on their device and have navigated to
the right page
Integration Testing
Steps :
User runs app
Fails if :
App is unable to retrieve a list
Table 19: Display list on app
Assumption: user is trying to run a search for hotels has navigated to the right page
Unit Testing
Steps :
Fill in search parameters
Press search
Expected : app runs search, retrieves data from the database and displays a list of hotels matching
search parameters
Fails if :
System cant run search
System presents search results not matching parameters
Table 20: Search for hotels
Functional Testing
Steps :
Select hotel to view data
Expected : user should view up-to-date information on the page they are currently viewing, like
how many rooms available, any price changes and any other change to the hotel should propagate
to users apps
Fails if :
App doesnt show current data
App doesnt show changes when page is reloaded
Table 21:Display current data
Book a room
Functional Testing
Steps :
Enter payment information
Confirm payment
Expected : once user enters payment data and payment comes through room is set to be booked
and database updated
Fails if :
All affected members of database are not updated
Table 22: Book a room
Assumption : multiple users of the app are trying to use it at the same time
Integration Testing
Steps :
Run app on multiple cell phones at the same time
Expected : all devices are able to run the app and access the system at the same time
Fails if :
System doesnt support multiple access
Changes are not immediately updated
Table 23:Connect multiple cell phones
Write review
Assumption : user wants to post a review about a hotel or about the app itself and has navigated
to the right page to do that
Unit Testing
Steps :
Write comment and post
Fails if :
Review is not posted on site
Table 24: Write review
Assumption : Hotel manager has logged on to account and is trying to set features of their hotel
functional Testing
Steps :
Hotel manager enters the hotels data (pictures, location, )
Presses button to set data
Fails if :
Data is not there on next open
Table 25: Add hotel data
Assumption : Hotel manager has logged in and has navigated to the right place to make changes to
their hotel
Functional Testing
Steps :
Hotel manager updates data
Confirms changes
Expected : database is updated making if update doesnt cause current data to be corrupted
Fails if :
Changes are ignored without stating reason
Table 26:Edit hotel data
Manage profile
Assumption : Hotel manager wants to change user name or pass and has navigated to the right
page
Unit Testing
Steps :
Enter new information
Confirm change with old password
Expected : user name and pass get updated and functional on next log in
Fails if :
System doesnt allow login with new credentials
old pass and username still work
Assumption : Hotel manager has inserted and updated data about their hotel and want to view
current data about their hotel
Unit Testing
Steps :
Hotel manager requests data on their hotels status
Fails if :
System is unable to retrieve any existing data about the hotel
Table 28: View Hotels Data
Before this part, we created 10 Use Cases and their class, sequence diagram and they are in
different progress. So far, UC-2, UC-3 and UC-6 have been implemented. UC-1, UC-4,UC-5 are already
functional. Some of the Use Cases havent yet been implemented, but for the first demo we will have a
fully functional user interface and a working database.
c. Plan of Work
We plan on tackling this project in 3 different parts. Namely Data Gathering, Website, App and
UI design and Website and App programing.
We have already done the first phase as we submitted the project proposal. It took us around
two weeks to gather the necessary information, such as systems that are widely applied, issues in the
current system, ways to solve these issues. Each of the 5 group members participated in collecting the
information. We collected information by directly going to hotels and observing the currently used
system. We also asked frequent hotel users questions on the current system, faults or problems they
have faced and what they would do to solve those issues. We then based our project on this collected
information.
We have started on Website, App and UI design after we finished gathering information. This
will take a lot of time as this will be an integral part in the development of the project. The UI design will
be done mainly by Bisrat and Daniel. They will be responsible in designing an easy on the eye graphics as
well as designing the system. They will be the ones who will discuss in detail about the UI design to the
other members. They will design the system on the user side (App), from the hotel admin side, the
receptionist and from the system admin side which are all websites.
This phase will be started as soon as the UI designers finish the design. This phase will be mainly
done by Biruk and Dawit while Yared designs the back end database. Those three will work very closely
in trying to achieve maximum efficiency. This will be done in 3 up to 4 weeks. The other members will
also be given some modules to program as this will be too vast to handle for two.
Alongside this phases or tasks, group members will be in continuous discussion on how to
progress and check on progresses made. Any alteration to be made on the project will be discussed and
changed accordingly.
13. References
1. Feasibility analysis template -www.Conducting Business Feasibility Study - Sample Template _
MyTopBusinessideas.com
2.THE HOTEL INDUSTRY IN ETHIOPIA: THE BEST IS YET TO COME- Article By Kalkidan Yibeltal-Addis
Standard
5. Report 1,Prepared by: Yuanxi Li, Xiaoran Fan, Lun Li, Jingsong Yuan, Tian Xie
10. Software Architecture in Practice, Book by Len Bass, Paul Clements, and Rick Kazman
11. Just Enough Software Architecture: A Risk-driven Approach, Book by George Fairbanks