Chapter Three
Chapter Three
3.1 Introduction
This chapter presents the analysis of the system requirements for developing a solution that
aims to provide travelers with information about places they want to visit, reduce manual
processes, plan expenses, display available travel packages, and enable booking and
reservation of these packages .in this chapter we use sequence diagram (shows how processes
operate with one another and in what order), use case diagram (to represent the interaction of
user with system), activity diagram (to show the representations of workflow of stepwise
activities and actions with support for choice, iteration and concurrency) and class diagram
(to describe the structure of a the system by showing the system's class their attributes,
operations (or methods) and the relationships among objects).
1 | Page
Actor identification
The main actors in the system are "Traveler”, "Travel Agency" and “System
Administrators.”
• Search Place: The traveler can search for travel destinations based on various
criteria.
• View Place Info: The traveler can view detailed information about a specific
travel destination.
• Plan Expense: The traveler can plan and track their travel expenses.
• Manage Packages: The travel agency can manage the available travel packages,
including creation, updates, and removal.
• Manage Bookings: The travel agency can manage the bookings made by travelers,
including confirmation, modifications, and cancellation
• User Registration: This use case involves the process of users creating an account in the
system by providing their personal information and credentials.
• User Authentication: This use case focuses on the authentication of users when they log
in to the system using their credentials (e.g., username and password).
2 | Page
• Search Place: Users can search for travel destinations based on various criteria such as
location, attractions, and activities.
• View Place Information: Users can access detailed information about specific travel
destinations, including attractions, accommodations, local culture, safety measures, and
reviews.
• Plan Expense: Users can enter their estimated budget for the trip and track their expenses
throughout the journey. The system can provide alerts or notifications when expenses
exceed the allocated budget.
• Manage Itinerary: Users can create, customize, and manage their travel itineraries based
on selected destinations, duration of stay, and preferences. The system can suggest
recommended activities and attractions for each day of the itinerary.
• Display Packages: The system displays a list of available travel packages from different
agencies, including package details, itineraries, prices, and special offers.
• Book Package: Users can select and book a travel package for specific dates. The system
facilitates secure online payment processing for booking and reservations.
• Cancel Package: Users can cancel a previously booked travel package, and the system
handles the cancellation process, including refund processing if applicable.
• Manage Packages: Travel agencies can manage the available travel packages, including
creating, updating, and removing packages from the system.
• Manage Bookings: Travel agencies can manage the bookings made by travelers,
including confirmation, modifications, and cancellations.
3 | Page
Figure 1 Use case diagram
4 | Page
Use case name user registration
Actor Traveler
Description This use case allows a traveler to register as a user in the system. The traveler
provides their personal information and creates login credentials to access the
system's features and functionalities.
Precondition The traveler has accessed the registration page of the system.
post condition • The traveler's account is successfully registered in the system.
• The traveler can log in to the system using their created credentials.
Flow of events Actor action System response
1. The traveler navigates to the 1.1 The system presents a registration
registration page of the system. form to the traveler, including fields to
2. The traveler fills in the required enter personal information such as
fields with accurate and valid name, email, and contact details
information. 2.1 The system validates the entered
3. The traveler selects a unique information, checking for any missing
username and a secure password for or incorrectly formatted fields. 3.1 The
their account. system verifies the uniqueness of the
4. The traveler submits the registration chosen username and checks for valid
form. email format.
5. The traveler receives the 4.1 If the entered information is valid,
confirmation email and follows the the system creates a new user account
instructions to verify their account. for the traveler.
5.1 The system sends a confirmation
6. The traveler can now log in to the email to the traveler's provided email
system using the created credentials. address, including instructions to verify
the account.
5 | Page
Alternative If the traveler enters an email or username that is already registered in the
system:
• The system displays an error message indicating that the email or
username is already in use.
• The traveler can revise the entered information and resubmit the
registration form.
6 | Page
the traveler.
4.1 The system grants access to the
traveler, allowing them to navigate
through the system's functionalities.
Actor Traveler
Description This use case allows a traveler to search for a specific travel destination or
browse through a list of available places within the system. The system presents
search results based on the traveler's input and provides relevant information
about the places.
post condition The traveler receives search results matching their query or is presented with a
list of available places
7 | Page
Flow of events Actor action System response
1. The traveler accesses the search 1.1 The system presents a search
functionality within the system. interface where the traveler can enter
their search query, such as a place
2. The traveler enters their search
name, country, or specific keywords
query into the search field.
related to their desired destination.
[Link] traveler submits the search query
2.1 The system processes the search
to initiate the search process
query and retrieves matching results
4. The traveler can view from the database.
summarized information about each
3.1 The system presents the search
place in the search results, such as
results to the traveler, displaying a list
place name, location, and brief
of places that match the search
descriptions.
criteria.
5. The traveler can click on a
4.1 The system retrieves
specific place in the search results to
comprehensive details about the
access more detailed information about
selected place and presents them to the
that place.
traveler.
6. The traveler can review the
detailed information about the place,
including attractions, accommodations,
local culture, safety measures, and
reviews.
8 | Page
Alternative If the search query does not match any places in the system:
• The system displays a message indicating that no results were found based
on the search criteria.
• The traveler can modify their search query and perform a new search.
Actor Traveler
Description This use case allows the traveler to view detailed information about a specific
travel destination. The system presents comprehensive details about the place,
including attractions, accommodations, local culture, safety measures, and
reviews.
Precondition The traveler has performed a search or selected a specific place from the search
results.
post condition The traveler has access to detailed information about the selected place.
9 | Page
1. The traveler selects a place of 1.1 The system retrieves detailed
interest from the search results or a information about the selected place
previously saved location. from the database.
2. The traveler can scroll through the
2.1The system presents the traveler
information, view images, and
with a comprehensive view of the
read reviews to gather insights
place's details, including attractions,
about the place.
accommodations, local culture, safety
3. The traveler can choose to go back
to the search results or proceed measures, and reviews.
with further actions related to the
selected place, such as adding it to
the itinerary or booking
accommodations
Alternative If the selected place does not have detailed information available:
• The traveler can choose to go back to the search results or select a different
place.
10 | Page
Actor Traveler
Description This use case allows the traveler to plan their expenses for a trip. The system
provides tools and functionalities to estimate and track expenses, helping the
traveler budget their travel costs.
11 | Page
.
Use case ID UC06
Use case name Manage itinerary
Actor Traveler
Description This use case allows the traveler to create and manage their travel itinerary within
the system. The system provides tools and functionalities for the traveler to plan
and organize their trip activities, including attractions, events, and reservations.
12 | Page
Alternative If the traveler does not wish to create or manage an itinerary:
The system allows the traveler to skip the itinerary management process
and proceed with other functionalities of the system.
Actor Traveler
Description This use case allows a traveler to manage their expenses related to their travel
plans. The traveler can track, categorize, and analyze their expenses to ensure
13 | Page
1. The traveler accesses the expense 1.1 The system presents the traveler
management section within the system. with an expense tracking interface,
2 The traveler can add a new expense displaying existing expense entries, if
entry by providing the necessary details, any.
such as expense amount, category, date, 2.1 The system updates the expense
and description. records and displays the newly added
3 The traveler submits the expense expense entry in the expense tracking
entry to record it within the system. interface.
4 The traveler can edit or delete 3.1 The system validates the entered
existing expense entries if necessary, information, ensuring the completeness
making changes to the amount, category, and accuracy of the expense details.
or description. 4.1The system updates the expense
5 The traveler can generate records accordingly, reflecting the
expense reports or summaries to gain modifications made by the traveler.
insights into their spending patterns and 5.1 The system provides options for the
analyze their expenses. traveler to filter and sort expense
6 The traveler can export or records based on criteria such as date,
download the expense data in various category, or amount.
formats, such as CSV or PDF, for further
analysis or record-keeping.
.
Use case ID UC08
Actor Traveler
14 | Page
Description This use case allows a traveler to view the available travel packages offered by
the system. The system presents a list of packages with relevant information,
enabling the traveler to explore and select suitable options for their travel plans .
15 | Page
5. The traveler can navigate back
to the list of packages or continue
exploring other packages.
6. The traveler can filter or sort the
list of packages based on criteria such
as destination, duration, price range, or
specific amenities.
.
Actor Traveler
Description This use case allows a traveler to book a travel package offered by the system.
The traveler selects a desired package, provides necessary information, and
completes the booking process to secure their reservation.
16 | Page
1. The traveler selects a travel 1.1 The system presents the details of
package from the list of available the selected package, including the
packages. itinerary, accommodations,
2. The traveler reviews the transportation, and pricing
package information and decides to 2.1 The system prompts the traveler to
proceed with the booking. provide necessary booking details,
3. The traveler clicks on the "Book such as the number of travelers,
Now" or similar button to initiate the preferred travel dates, and any
booking process. additional requirements or preferences
4. The traveler enters the required 3.1 The system validates the entered
booking information into the provided information and checks the availability
fields. of the package for the selected travel
5. The traveler confirms the dates.
booking details and submits the 4.1 If the package is available and the
booking request. entered information is valid, the
6. The traveler receives the system proceeds with the booking
booking confirmation and completes process.
the payment process according to the 5.1 The system generates a booking
provided instructions, ensuring the confirmation, including a unique
reservation is finalized. booking reference or ID.
7. The traveler can access their 6.1 The system updates the booking
booking details and reservation status and availability of the package,
information within the system. reserving the selected package for the
traveler.
7.1 The system sends a booking
confirmation email or notification to
the traveler, including the booking
details, payment information, and any
additional instructions.
8.1 The system updates the booking
status to "confirmed" upon successful
17 | Page
payment.
Alternative If the selected package is not available for the desired travel dates:
The system displays a message indicating that the package is not available for the
specified dates.
The traveler can modify their travel dates or choose an alternative package.
Table 14 Use case documentation for Book Package.
18 | Page
features or services included. 3. If confirmation before permanently
updating an existing package: removing the package from the
The user selects the package to update system.
from the list. If confirmed, the system deletes the
4 The user modifies the necessary package and updates the package list
fields, such as price, itinerary, accordingly.
accommodations, or other package 6.1 The system retrieves and presents a
details. filtered list of packages that match the
5 The user can remove a package search criteria.
from the system if necessary.
6 The user selects the package to 7.1 The system updates the package
remove from the list. list based on the selected sorting
7 The user can search for specific option
packages based on criteria such as
destination, duration, price range, or
other package attributes.
8 The user enters the search
criteria into the system's search
functionality.
9 The user can sort the list of
packages based on different attributes
such as price, duration, or popularity.
10 The user selects the desired
sorting option from the system's sorting
functionality.
.
19 | Page
• The user can choose to create new packages.
20 | Page
1. The user accesses the booking 1.1 The system presents a list of
management section within the existing bookings associated with the
system. user's account or within the system.
2. The user can select a specific 2.1 The system displays the booking
booking to manage or search for details, including the travel package,
a booking based on criteria such traveler information, booking status,
as booking reference, traveler and payment details.
name, or travel package details. 3.1 The system validates the requested
3. The user can view and review changes, checks for availability, and
the booking details, ensuring updates the booking details
accuracy and completeness. accordingly.
4. If the user is a traveler: 4.1 The system sends a notification or
The traveler can request confirmation to the traveler regarding
modifications to the the status of the Modification request
booking, such as
changes to travel dates, 5.1 The system validates the modified
accommodation booking details and updates the
preferences, or other
booking accordingly.
6.1 The system sends a notification or
21 | Page
booking details. confirmation to the traveler regarding
The traveler submits the the modifications made to the
modification request to booking.
the system. 7.1 The system prompts the user for
5. If the user is a travel agency confirmation before canceling the
representative or system booking.
administrator: 8.1 The system sends a notification or
• The user can modify the confirmation to the traveler regarding
booking based on the cancellation of the booking.
traveler requests or 8.1 The system generates the requested
reports and presents them to the user
system requirements.
for viewing or exporting.
• The user updates the
booking details, making
necessary changes to
travel dates,
accommodations, or
other booking
information.
6. The user can cancel a booking if
necessary.
• The user selects the
booking to be canceled
from the list.
• If confirmed, the system
updates the booking
status to "canceled" and
releases any reserved
resources associated
with the booking.
7. The user can generate booking
reports or summaries for
22 | Page
analysis or record-
keeping purposes.
The user selects the
desired options for
generating reports, such
as date range, booking
status, or specific travel
packages.
A sequence diagram is a type of interaction diagram in Unified Modeling Language (UML) that
represents the interactions between objects or components in a system over time. It illustrates the
sequence of messages exchanged between the objects or components involved in a particular
scenario or use case. In a sequence diagram, objects or components are represented as lifelines,
which are vertical lines that depict the lifespan of the object/component. Messages exchanged
between the lifelines are represented as horizontal arrows, indicating the flow of communication.
23 | Page
Figure 2 Sequence diagram for user registration
24 | Page
Figure 4 Sequence diagram for search place
25 | Page
Figure 6 Sequence diagram for plan expense
26 | Page
Figure 8 Sequence diagram Manage Expense
27 | Page
Figure 10 Sequence diagram for Book package
28 | Page
Figure 11 Sequence diagram for Manage package
29 | Page
3.2.4 Activity Diagram
An activity diagram is a type of behavioral diagram in Unified Modeling Language (UML) that
represents the flow of activities or actions within a system. It provides a visual representation of
the procedural logic of a system or a specific process.
Activity diagrams are used to model the behavior of a system, focusing on the flow of activities,
actions, and decisions that take place. They are particularly useful for visualizing complex
processes, business workflows, use case scenarios, and system behaviors.
30 | Page
Figure 14 Activity diagram for User authentication
31 | Page
Figure 16 Activity diagram for view place information
32 | Page
Figure 17 Activity diagram for Plan expense
33 | Page
Figure 18 Activity diagram for Manage itinerary
34 | Page
Figure 19 Activity diagram for Manage Expense
35 | Page
Figure 20 Activity diagram for display package
36 | Page
Figure 21 Activity diagram for book package
37 | Page
Figure 22 Activity diagram for Manage package
38 | Page
Figure 23 Activity diagram for Manage Booking
An analysis level class diagram is a type of class diagram used in the early stages of software
development to depict the conceptual classes and their relationships in a system. It focuses on
representing the static structure of the system at a high level, without including
implementationspecific details.
The analysis level class diagram helps in understanding the domain concepts, identifying major
classes, and capturing the relationships between them. It serves as a blueprint for further design
and development activities.
39 | Page
Figure 24 analysis level class diagram
40 | Page
3.2.6 User Interface Prototyping
User interface prototyping is an essential step in the software development process. It involves
creating visual representations of the user interface (UI) to provide a tangible and interactive
experience of how the system will look and function for end-users.
41 | Page
The Supplementary specifications capture the system requirements that are not readily
captured in the use cases of the use-case model. Such requirements include are as follows:
• Use Legal and regulatory requirements application standards
• Quality attributes of the system to be built, including usability, reliability,
performance, and supportable requirements.
• Operating systems and environments, compatibility requirements
• Validity checks on the inputs
• Relationship of outputs to inputs input to output conversion.
• External interfaces: How does the software interact with people, the system's
hardware, other hardware, and other software
• Performance: What is the speed, availability, response time, recovery time of
various software functions?
42 | Page