Sei sulla pagina 1di 62

Addis Ababa University

Addis Ababa Institute of Technology (AAIT)

Faculty of Electrical and Computer Engineering

Department of Computer Engineering

Software Engineering (ECEG-4201) Course Project


Semester 1, Year 2009 EC / 2016 GC

Group 8

System Documentation

Hotel Reservation Android App

For

Hotel Managers

Submitted by:

Biruk Tesfaw ATR/4514/05

Bisratemichael Moges ATR/6015/05

Daniel G/Yohannes ATR/3676/05

Dawit Samuel ATR/1378/05

Yared Abera ENR/1849/04

Submitted to:

Sahilu Wendeson

1 /14 /2017

Addis Ababa

Ethiopia
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Individual Contributions Breakdown

Responsibility Team Members and Contribution


Biruk Bisratemichael Daniel Dawit Yared
Tesfaw Moges G/Yohannes Samuel Abera
Part 1: SDLC
Methodology 20% 20% 20% 20% 20%

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

b. User Effort Estimation ..................................................................................................................... 30


7. Domain Analysis .................................................................................................................................. 32
a. Domain Model ................................................................................................................................ 32
I. Concept Definition ...................................................................................................................... 32
II. Association Description............................................................................................................... 34
III. Attribute Definition ................................................................................................................. 35
IV. Traceability Matrix .................................................................................................................. 36
8. Interaction Diagram ............................................................................................................................ 37
a. Sequence Diagrams......................................................................................................................... 37
b. Design Principles ............................................................................................................................. 44
9. Class Diagram ...................................................................................................................................... 45
a. Description ...................................................................................................................................... 46
10. System Architecture ........................................................................................................................ 47
a. Persistent Data Storage .................................................................................................................. 48
b. Concurrency .................................................................................................................................... 48
11. Testing Design ................................................................................................................................. 48
12. Project Management and Plan of Work ......................................................................................... 54
a. Merging Contributions from Individual Members .......................................................................... 54
b. Project coordination and progress report ...................................................................................... 54
c. Plan of Work.................................................................................................................................... 54
d. Breakdowns For responsibilities ..................................................................................................... 55
13. References ...................................................................................................................................... 56

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.

2.2. Market/Industry Feasibility


Due to globalization and the extensive use of internet it is a must to apply an automated
system. In a world where almost everything is accessed from the convenience of our smart
phones, it is no mystery that a Hotel Reservation App is also required. In Ethiopia there is a
need for this, as it will have advertisement value for up and coming hotels. So, there will be a
high demand for the system.

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 1|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

2.3. Operational Feasibility


The proposed system is built for Android and incorporates hotels database systems to
automate the process of Hotel Reservations. The authority or hotel manager can add hotel
packages, room details, availability of rooms, booking etc.

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.

2.4. Technical Feasibility


The proposed android hotel reservation system and website is definitely practical as we
have all the resources available. We possess all the hardware and software required. The
technology we will be using is available, free and is being used all around the world.

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 2|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Software: - It will not be requiring any special software.

Software Requirements: Android OS, Web Browser (Google chrome, Internet Explorer,
etc.)

Hardware: - Hardware requirements includes following points:

Hardware Components: Android powered phones, PCs

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.

2.5. Economic Feasibility


The cost of the system includes cost of the system development and implementation but it
does not include the maintenance. Due to theavailability of materials in affordable price, it will
make it reasonably priced even to smaller hotels.

Economic Feasibility Analysis (Requirement Document)


Cost

S.N. Details birr

5000-
1 Computer (PC) 7000

2 Required Software free

3 Portable devices (Pen drives, CD etc.) 1,500

4 Paper work cost 500

5 Miscellaneous 2,500

Total Cost 9,500-


11,500

Table 1: Cost Estimation

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 3|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

2.6. Schedule Feasibility


Schedule feasibility deals with the deadline offered to complete the project. We will try
to submit the project report at regular interval. As described in our project proposal, we will
complete within four months.

The following is a breakdown of the activities as anticipated to be carried out:.

Week 1 Problem definition, Data collection,


Problem description, system
analysis, interpretation of collected
data
Week 2-14 System design and construction
Week 15 System testing and debugging
Week 16 Submission of Project
Table 2: Schedule

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.

Below are the characteristics of agile software development methodology

Responding to change over following a plan


Individuals and interaction over processes & tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation

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.

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 4|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 1 Agile Development

3.2. Why we use agile?

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.

We chose agile because

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

4. Customer Statement of Requirements


4.1. Problem Statement
The hotel industry is a business venture for the owner and a solace for the traveler
and/or tourist. A customer can get stranded in the quest to secure a hotel room to pass the
night if he has not made adequate plans by the existing system. The modern history of what is
now known as the Ethiopian hospitality industry dates back to more than 100 years with the
opening in 1895 of Taitu Hotel, the first hotel in Addis Ababa (previously Finfinee) by Empress
Taitu. Located in the heart of the old city Piassa, the hotel still bears the same name. It is an
industry which hasnot been worked on to its full capacity.

An article by Kalkidan Yibeltal published on Addis Standard read as follows.

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.

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 7|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

1. Inconsistency in data entry, room for errors, miskeying information.

2. Large ongoing staff training cost.

3. System is dependent on good individuals.

4. Reduction in sharing information and customer services.

5. Time consuming and costly to produce reports.

6. Lack of security.

7. Duplication of data entry.

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.

5.1. Enumerated functional requirements

ID Priority weight(1-5) Requirement


REQ1 5 The system should allow users to search for hotels
REQ2 5 The system should allow users to book rooms
The system should have a platform to allow authorized users
REQ3 5 to set and manage hotel information
REQ4 4 Customers will have the ability to cancel their reservation
REQ5 4 System should allow users to cancel booking
The system should allow customer to choose hotels from a
REQ6 4 list of hotels
The system should allow customer to choose from list of
REQ7 4 rooms of a hotel
REQ8 3 System should allow users to make online payment
REQ9 3 System must retain users history
REQ10 2 The system should allow users to register
REQ11 2 Hotel admin can search for information about their hotel

REQ12 1 Customers can write review about hotels

Table 3: Functional Requirement

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 9|Page
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

5.2. Nonfunctional requirements


Priority
ID weight(1-5) Requirement
REQ13
5 System can run on handheld devices
REQ14
5 System should be able to work on any web browser
REQ15
5 System must be able to handle multiple transaction or users at a time
REQ16
5 The system should handle race condition conflicts
The system must check incoming booking requests for room
REQ17 5 availability
REQ18 The system must include real time accounting of rooms
5 availability
REQ19 System must ensure all transferable data such as customer credits or
5 debit cards, e-payment should be done in secured connection
REQ20
4 The system should have a quick response time
REQ21
4 System should be available for 24 hours a day 365 days
REQ22 The system includes all available safeguards from viruses,
4 worms etc.
REQ23
3 System must be able to convert price from Birr to common currencies
REQ24
2 System should update users on promotions or events

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 10 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

REQ25
2 System must contain customer reservation history

Table 4: Non Functional Requirement

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.

5.3. On screen requirements


Primary on screen requirement is that the interface be easily understood so that any typical
internet user can use the software without much trouble our system will likely require two
main faces: user side and hotel manager (authorized user) side.

5.3.1. The user side


The below figure shows a first draft at what the search screen of the hotel app will
contain. After filling in the appropriate information about when and where they would
like to stay pressing search should take the user to a screen containing the results.

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 11 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 2 App Search Screen

After filling in the search criterion, the system will display hotels based on the suitability or preferences
of the user.

Figure 3 App Search Results

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 12 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

5.3.2. The hotel manager side


Since it would be impractical to input and maintain all the information about
every hotel the system will require us to build a user interface where the hotel
manager or authorized personnel can use to manage information about their hotels
profile. This side will require a login page for user authentication.

Figure 4 Hotel Side login

Once logged in the users get a chance to change different features of their hotel and
check or schedule events.

Figure 5 Hotel Manager Page

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

5. Functional Requirements Specification

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.

Advertisers: Organization that would like to advertise their products.

b. Actors and Goals

Actor Goals Use case


User To look up for bookable rooms SearchInfo(UC1)
User To signup Signup(UC2)
User Give Feedback or Review GiveReview(UC3)
User Pay Online OnlinePayment(UC4)
User To Book Rooms BookRooms(UC5)
User, Hotel Admin To cancel reservation CancelBooking(UC6)
Hotel Admins Update Hotel Profile and Room availability UpdateHotelProfile(UC7)
Hotel Admins Fetch information concerning their hotel FetchInforamtion(UC8)
Table 5: Actors and Goals

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 14 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

c. Use Case
I. Description

Use Case UC-1: Search Info


Related Requirements: REQ1,REQ6,REQ7
Initiating Actor: Users
Actors Goal: To search for hotel rooms
Participating Actors: System
Precondition: App displays search page
Post condition: Hotels rooms that satisfy the query are displays.
Failed End Condition: If the hotel is not found, it will show Sorry no hotels found, input correct hotel
name, and then returns to searching page.
Flow of Events for Main Success Scenario:
1,User clicks on searching button to enter searching page
2, System displays the searching page with the searching methods or keys, by price, by location etc.
3, User inputs the hotel name.
4, System searches for the hotel specified.
5, System displays the results.
6, User gets the required information, could then continue to book the hotel or exit app.
Flow of Events for Extension:
5(a) Information submitted does not exist.
<- System would display an error page, which reads Sorry no hotels found, input correct name and then
returns to start page.
Table 6: Use Case 1

Use Case UC-2:Sign UP


Related Requirements: REQ10
Initiating Actor: Users that are not signed up
Actors Goal: Create an account on the app
Participating Actors: System
Precondition: User does not have another account
Post condition: User will have their own account and becomes a registered user
Failed End Condition: If the user provides invalid information or already has an account
Flow of Events for Main Success Scenario:
1, User clicks on the sign up button
2,System displays the details to fill for signing up, like personal information, email address, hello cash
account
3,User fills the information and clicks on the finish button
4, If successful the system displays successfully registered and returns to home page.
Flow of Events for extension:
3(a) information user submitted includes invalid cahracters.

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 15 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

<-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

Use Case UC-3:GiveReview


Related Requirements: REQ12
Initiating Actor: All Registered Users
Actors Goal: Submit feedback on hotel
Participating Actors: System
Precondition: User must be registered
Post condition: Feedback would be posted
Flow of Events for Main Success Scenario:
1,User logs in to account
2,Users clicks on hotel
3,User clicks on Reviews button and leaves feedback.
4,User clicks the post button to submit the review.
Flow of Events for extension:
3(a)User clicks the cancel button
<-system would cancel the review
Table 8: Use Case 3

Use Case UC-4: Online Payment


Related Requirements: REQ8
Initiating Actor: Registered User
Actors Goal: Pay Online
Participating Actors: System
Precondition: User must have a hello cash account
Post condition: User will be able to able pay
Failed End Condition: User will not be able to pay online
Flow of Events for Main Success Scenario:
1,User logs in to system
2,User searches for hotel and selects preferred hotel
3,User selects services he would like to receive
4,User pays for the service
Flow of Events for extension:
4(a) User doesnt have sufficient money
<-System will display Insufficient balance. And returns to 3.
3(a)User can cancel services he would like to purchase
Table 9: Use Case 4

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 16 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Use Case UC-5:Book Rooms


Related Requirements: REQ2
Initiating Actor: Registered User
Actors Goal: Book Rooms
Participating Actors: System
Precondition: User must be a registered user
Post condition: User will book rooms
Flow of Events for Main Success Scenario:
1,User logs in
2,User searches for available hotel rooms
3,User selects room
4,User books room
Flow of Events for extension:
3(a) user pays online
Table 10: Use Case 5

Use Case UC-8: Update Profile


Related Requirements: REQ3
Initiating Actor: Hotel Admins
Actors Goal: Update information on the hotel such as upcoming events, Hotel services,
New Hotel Packages
Participating Actors: System
Precondition: User must be authorized hotel admin
Post condition: Hotels Services are updated
Flow of Events for Main Success Scenario:
1,Hotel admin signs in to the system.
2,User clicks on update hotel
3,User clicks on services
4,User updates services to likings
5,User signs out
Flow of Events for extension:
4(a) User updates new hotel packages
Table 11: Use Case 8

Use Case UC-9:Fetch Information


Related Requirements: REQ11
Initiating Actor: Hotel Admin
Actors Goal: Search for users information or use information in database for reports, read
review
Participating Actors: System
Precondition: User must be authorized hotel personnel
Post condition: User will fetch data about their hotel
Flow of Events for Main Success Scenario:
1,Hotel admin logs in to the system

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 17 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

2,Hotel admin clicks on users button


3,Hotel admin fetches information about user.
Flow of Events for extension:
3(a)Hotel Admin fetches information for reports on the hotel
Table 12: Use Case 9

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 18 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

II. Use Case Diagram

Figure 6: Online Hotel Reservation System

Figure 7: Hotel Review System

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 19 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

III. Sequence diagrams

Figure 8: Customer Sequence Diagram

Figure 9: Hotel Admin Sequence Diagram

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 20 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 10: System Admin Sequence Diagram

IV. Traceability Matrix

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

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 21 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

6. User Interface Specification

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.

Figure 11:The search screen and The check-in screen

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

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 22 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

Figure 12:Hotel Search Results

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.

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 23 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 13:Room Search Result And Room Description

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.

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 24 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 14:Sign Up Page

The user also has the option to give feedback or review to the hotel they booked.

Figure 15: Post Review Page

Users can input their respective payment information

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 25 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 16: Payment Information

Users can also change their username,password and paymount account.

Figure 17:Edit Profile

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 26 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

The Admin Side

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.

Figure 18: Hotel Admin login page

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.

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 27 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 19:Edit Services Page

In the special offers page the admin can change/update recent activity that the hotel will host
such as concerts, meetings or other offers.

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 28 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 20:Special offers page

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 29 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

b. User Effort Estimation

Use Case 1: SearchInfo

a. Click search button on homepage


b. Type the hotel or city name in the input field
c. Input the number of guests
d. Input the number of rooms needed
e. Press the search button

Use Case 2:Signup

a. Click on the signup or create account button


----After completing data entry as shown below----
b. Click submit button to finish

Data entry total


a. Click screen on user name text field
b. Input user name
c. Press on the next field
d. Input password
e. Press the next field
f. Input password again
g. Press the next field
h. Input email address
i. Press on the next field

Use Case 3: GiveReview

a. Log in to account
b. Click on hotel
c. Click on review button
----After completing data entry as shown below----
d. Submit review

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 30 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Data entry
a. Click on review field
b. Input review

Use Case 4:OnlinePayment

a. Click on desired hotel


b. Click on book rooms
----After completing data entry as shown below----
c. Click on Pay
Data Entry
a. Input User name
b. Input paying information

Use Case 5:BookRooms

a. Click on search button


----After completing data entry as shown below----
b. Click on book
Data Entry
a. Click on search field
b. Input hotel name
c. Click on number of rooms drop down list
d. Click on a number
e. Click on check in
f. Click on date

Use Case 6:CancelBooking

a. Click on login
b. Click on check booking status
c. Click on cancel booking
d. Click finish

Use Case 7:UpdateHotelProfile

a. Click on sign in
b. Click on update services
-----After completing data entry as shown below-------

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 31 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

c. Click on logout
Data Entry
a. Click on the desired field
b. Update field

Use Case 8:FetchInforamtion

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.

Figure 21: Domain Model Diagram

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 32 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Responsibility key concept

R1 Receive customer input about hotels review

R2 make customer review available for hotel managers review

R3 record customer that makes reservation reservation

R4 record time of booking reservation

R5 record room to be booked reservation

R6 Gets booked by customer room

R7 handles payment from customer payment

R8 keeps record of payment transaction payment

R9 keeps record of hotels location hotel

R10 keeps record of hotels rating hotel

R11 keeps description of hotel hotel

R12 manages hotel information hotel manager

R13 checks hotels reviews by customers hotel manager

R14 sets events or offers to customers hotel manager

R15 receive info from manager and notify customers via email Event notifier

R16 creates hotels System administrator

R17 authorizes hotel managers System administrator

R18 take parameters from customer search

R19 retrieve and display hotel information matching parameters search

Table 14: Concept Definition

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 33 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

II. Association Description


The below table describes the various associations defined in the domain concept diagram

concept pair Association description Association name

a customer can make a reservation at


customer - reservation any given time makes

hotel reservation by customer will


involve payment, this association
payment - reservation signifies that paid by

a room with status ( vacant/occupied )


reservation - room is referenced in reservation gets booked

room - hotel a hotel has many rooms has

a hotel is created and its data is


hotel - hotel manager maintained by a hotel manager creates/manages

a system administrator authorizes


hotel managers to create or make
hotel manager - system admin changes to hotels authorizes

any customer has the option to write


customer - review reviews about hotels write

hotel managers can view reviews about


hotel manager - review their hotel view

customers get notified of upcoming


customer - event notifier offers and/or events receive notice

the hotel managers set events to notify


hotel manager - event notifier their customers of upcoming events set

customer - search customer can initiate a search of hotels initiates

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 34 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

a customer initiated search will


retrieve data of hotels that match the
search - hotel search criterion retrieves information

Table 15: Association Description

III. Attribute Definition

Responsibility Attribute concept

R1 Receive customer input about hotels Review

R2 make customer review available for hotel managers ShowManager Review

R3 record customer that makes reservation User

R4 record time of booking Date

R5 record room to be booked Date Reservation

R6 Gets booked by customer status room

R7 handles payment from customer amount

R8 keeps record of payment transaction record Payment

R9 keeps record of hotels location location

R10 keeps record of hotels rating KeepRecord

R11 keeps description of hotel description Hotel

R12 manages hotel information UpdateInfo

R13 checks hotels reviews by customers CheckReview

R14 sets events or offers to customers UpdateInfo Hotel Manager

R15 receive info from manager and notify customers via email description Event notify

R16 creates hotels CreateProfile System Administrator

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 35 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

R17 authorizes hotel managers Authorize

R18 take parameters from customer TakeInput

R19 retrieve and display hotel information matching parameters SearchAndDisplay Search

Table 16: Attribute Definition

IV. Traceability Matrix

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

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 36 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

8. Interaction Diagram

a. Sequence Diagrams

UC 1

Figure 22: UC1

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.

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 37 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

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 38 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

UC 3

Figure 24: UC3

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

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 39 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

UC 4 &UC 5

Figure 25: 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.

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 40 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

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 41 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

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 42 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

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 43 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

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 44 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

9. Class Diagram

Figure 29: Class Diagram

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 45 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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.

Hotel Admin has methods

manageRoomType() - edits the type of room

viewReservations() retrieves reservation data about the hotel in question

viewCustomerInfo() retrieves information of customer of the hotel the hotel manager is responsible
for

manageServices() adds services and offers to hotels attributes

offers() allows hotel manager to make offers to customers

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.

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 46 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

10. System Architecture

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.

Figure 30: Architecture For The Web App

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.

Figure 31: Client-Server Architecture

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 47 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

a. Persistent Data Storage

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

android phone running kitkat or any newer version


Internet connection

11. Testing Design

user authentication

Test covers : security

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

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 48 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Display list on app

Test covers : user interface

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

Expected : app lists a tabulated list of hotels with details attached

Fails if :
App is unable to retrieve a list
Table 19: Display list on app

Search for hotels

Test covers : user interface

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

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 49 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Display current data

Test covers : functionality

Assumption : user is trying to view data of a hotel

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

Test covers : functionality

Assumption : user has chosen a room and is trying to book online

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

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 50 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Connect multiple cell phones

Test covers : scalability

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

Test covers : functionality

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

Expected : review is added and available for viewing by others

Fails if :
Review is not posted on site
Table 24: Write review

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 51 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Add hotel data

Test covers : user interface

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

Expected : data is uploaded to database

Fails if :
Data is not there on next open
Table 25: Add hotel data

Edit hotel data

Test covers : functionality

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

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 52 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Manage profile

Test covers : user interface

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

Table 27: Manage profile

View hotels data

Test covers : functionality

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

Expected : System displays information about their hotel and customers

Fails if :
System is unable to retrieve any existing data about the hotel
Table 28: View Hotels Data

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 53 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

12.Project Management and Plan of Work

a. Merging Contributions from Individual Members


This report was written by the participation of all members of the group. One of our members
Bisratemichael took control of compiling the report, doing the formatting, ensuring consistency and
uniform formatting and appearance. No extreme issues were encountered in compiling the report.

b. Project coordination and progress report

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.

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 54 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

Figure 32: Plan of work

d. Breakdowns For responsibilities


i. For the Project
(1)Android App Biruk
(2) Database Design Dawit and Daniel
(3) Website Structure Design Bisratemichael and Yared
(4) Functions implementations
(a). Register and Log in Dawit and Biruk
(b). Search for Rooms to make reservation- Biruk and Daniel
(c). Browse Information and update profile - Bisratemichael
(d). Online Payment using Hello Cash - Yared
(f). Get hotel feedback and suggestion Biruk and Bisratemichael
(g). Contact providers Daniel and Dawit
ii. For the Report
(1) Class, Use-case, State ,Sequence Diagrams Daniel and Yared

(2) Use-case, Class, Sequence Diagrams Description - Bisratemichael

(3) Design Principles Dawit and Biruk

(4) Project Management and Plan of work

(a) Merging the Contributions from Individual Team Members -Dawit


(b) Project Coordination and Progress Report -Bisratemichael
(c) Plan of work - Daniel
(d) Breakdown of responsibility Biruk and Yared

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 55 | P a g e
Software Engineering (ECEG 4201), Year 2009 EC/2016 GC

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

3. THE MISSING INGREDIENTS THE HOTEL INDUSTRY IN ETHIOPIA-Article By Elias A. Kebede-Addis


Standard

4. Software Engineering A practitioners Approach, 7th edition, Roger S.Pressman

5. Report 1,Prepared by: Yuanxi Li, Xiaoran Fan, Lun Li, Jingsong Yuan, Tian Xie

6. Slides on domain analysis, Supplied to us by Sahilu Wendeson

7. beginning java EE 7, by Antonio Goncalves

8. UML - Interaction Diagrams, Tutorials Point

9.Slides on interaction diagram, class diagram Supplied to us by Sahilu Wendeson

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

12. A Practitioner's Guide To Software Test Design, Book by Lee Copeland

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 56 | P a g e

Potrebbero piacerti anche