Vous êtes sur la page 1sur 42

1 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Contents
Problem Description
System Capabilities
Business Benefits
Workflow Activity Diagrams
Registration/Log-in/Log-out Subsystem
Search Subsystem
Checkout/Payment Subsystem
Attraction Subsystem
Use Cases
Use Case Diagram
Use Case List
Use Case Descriptions
Domain Class Diagram
Technology tools for software development
Project Plan (Part A)
Design Class Diagram
Class responsibility collaboration
System Sequence Diagram
Registration/Log-in/Log-out
Search/Selection/Checkout
State Machine Diagram
Travel
Attractions
Payment

2 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Online Travel Booking System


Problem Description
Traveling has always been a tough endeavor to plan for the average consumer; budget constraints,
timing issues, lack of language proficiency, and unfamiliarity with the area of travel make the process
difficult without the aid of a professional. However, during the exponential growth of the internet and
mobile technologies, a marketplace catering to consumers cutting out the physical middlemen has
blossomed. This provides an opportunity to bring the consumer an easy way to use their devices to
book their flight, their hotel, their transportation, and even plan what local attractions they will visit.
This system will save the consumers a considerable amount of time and money, this will be done by
linking the consumer to the global databases maintained by third parties on behalf of hotels and
transportation companies, as well as handling their payments through our service, bringing them the
power to plan their own customized vacation package from the comfort of their own homes.

System Capabilities
The system should be capable of:

Providing user with account user/pass


Connecting the user to the flight/hotel/transportation global distribution systems through our
client
Handling input queries of desired dates and location of travel, and outputting corresponding
flights/hotels/transportation
Handling hotel/transport payment from customer securely
Sending payment minus fee to hotel/transportation system
Local attraction database/Google places API

Business Benefits
We believe that this new system will provide the following benefits to the consumer, and the
hotel/transportation providers:

Saving money on staffing, marketing, and booking systems maintenance for


hotel/transportation chains
Allowing small businesses to be seen and accessed by a larger customer base
Higher competition leading to lower prices for the consumer
Consumer uses a single system for all their booking, instead of one for each reservation
Takes full advantage of current GDS technology used by travel agents to eliminate need for in
house inventory acquisition and database maintenance
Opportunity for advertisers to capitalize on customer visits to trip planning site
3 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Workflow Activity Diagrams


Registration/Log-in/Log-out Subsystem

User actions
1. If user has account, user logs in
2. If user has no account, user enters new
account info into creation form
3. If user wishes to log out logs out

System Actions
1. If user has no account system opens
creation form
2. If user had no account, account created
with input info
3. Logs user in

4 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Search Subsystem

User actions
1. User enters location and travel destination
2. User applies filters to search(budget,
distance, type of hotel/trans, etc)
3. User selects flight/hotel/transportation

1.
2.
3.
4.

System Actions
System opens main page
System receives input,
System queries the GDS with provided
filters
System outputs information to user client

5 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Checkout/Payment Subsystem
User actions
1. User checks out

1.
2.
3.

4.
5.

System Actions
System receives and processes payment
If invalid payment, system waits for valid
If payment is valid, system simultaneously
checks if user booked a flight, hotel, and or
transportation
If user booked a flight, payment is sent to
flight company
If user booked a hotel and or
transportation, payment is sent minus fee

6 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Attraction Subsystem

User actions
If user wishes to browse attraction section
they select the option
User browses attraction section(external
API)
User logs out

System Actions
Closes user session

7 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

8 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Use Cases
Use Case Diagram

Use Case List


Actors
Customer

Actions
Log In
Register an account
Input location/travel destination
Filter searching result
Select flight/hotel/transportation
Check out
Browse attraction section
Log out
9 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Use Case Descriptions


Log in
Use case Name
Use case scenario

Log In
Customer logs in the system

Brief Description

Customer provides Username and password to log in


system.

Actor

Related use case

Pre-conditions

Flow of activities

Exceptions
Conditions

Customer
Register an account
Input location/travel destination
Filter searching result
Select flight/hotel/transportation
Check out
View orders
Browse attraction section
Customer must have an account in System.
Actor
If user has account,
user logs in
If user has no
account, user
enters new
account info into
creation form

System
If user has no
account system
opens creation
form
Logs user in

If customer has no account system opens creation


form, registers account after input.
If customer inputs invalid username/password, they
must be entered again.

10 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Register
Use case Name
Use case scenario
Brief Description
Actor
Related use case
Pre-conditions

Flow of activities

Exceptions
Conditions

Register an account
Customer creates a new account in system
Customer input their personal information to fill in the
form.
A new account will be created in system.
Customer
Log In
Customer does not have an account in system.
Actor
If user has no
account, user
enters new
account info into
creation form

System
If user had no
account, account
created with input
info

If customer inputs invalid information, no account will


be created
Until he/she input successfully.

11 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Input location/travel destination


Use case Name
Use case scenario

Input location/travel destination


Customer input locations he/she wants to travel.

Brief Description

Customer enters the location/destination in the search


bar and presses Submit button.

Actor

Related use case

Pre-conditions

Customer

Log In

Customer must log in the system.


Actor
User enters
location and travel
destination

Flow of activities

System
System receives
input,
System outputs
information to
user client

12 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Exceptions
Conditions

If the destination does not exist in the database, the


system will report that no information is found.

13 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Filter searching result


Use case Name
Use case scenario

Brief Description
Actor

Related use case

Pre-conditions

Flow of activities

Exceptions
Conditions

Filter searching result


Customer filters the searching results according to the
demand.
Customer use the filter to narrow down displayed
options (budget, distance, type of hotel/trans, etc.).
System displays corresponding result according to
users selection.
Customer

Log In
Input location/travel destination

Customer must enters the location/destination in the


search bar first
Actor
User applies filters
to search (budget,
distance, type of
hotel/trans, etc.)

System
System receives
input
System queries the
GDS with provided
filters
System outputs
information to
user client

None

14 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Select flight/hotel/transportation
Use case Name
Use case scenario
Brief Description
Actor

Related use case

Pre-conditions

Flow of activities

Exceptions
Conditions

Select flight/hotel/transportation
User select the flight/hotel/transportation they want to
book
Customer choose the service they want to book
according to the final result that is displayed by system.
System accepts the request and requires payment.
Customer

Log In
Input location/travel destination
Filter searching result

User has already finished the searching process.


Actor
User selects
flight/hotel/transportatio
n

System
System
requires the
payment

If customers change their mind , they can cancel the


selection and choose new options.

15 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

16 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Check out
Use case Name
Use case scenario
Brief Description
Actor
Related use case
Pre-conditions

Check out
Customer makes a payment for the booking order
Customer presses Checkout button to make a payment.
System receives the payment, creates the order. System sends
the fee to the corresponding company.
Customer
Log In
Input location/travel destination
Filter searching result
Select flight/hotel/transportation
Customer has already select the service and confirm the
selection.
Actor
If user has account,
user logs in
If user has no account,
user enters new
account info into
creation form

Flow of activities

Exceptions
Conditions

System
System receives and
processes payment
If payment is not valid
system waits until
valid payment is
made
If payment is valid,
system
simultaneously
checks if user booked
a flight, hotel, and or
transportation
If user booked a
flight, payment is
sent to flight
company
If user booked a hotel
and or
transportation,
payment is sent
minus fee

If payment is not valid system waits until valid payment is made.


If customer does not make a payment within 1 hour, the
booking order will be canceled.

17 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Browse attraction section


Use case Name
Use case scenario
Brief Description
Actor
Related use case
Pre-conditions

Flow of activities

Exceptions
Conditions

Browse attraction section


Customer browse the attraction section they select.
Customer presses the Attractions button to
browse the attraction section they select. System
queries the database and display the result.
(Use API if needed)
Customer
Log In
Customer must log in the system.
Actor
If user wishes to
browse attraction
section they select the
option
User browses
attraction
section(external API
or in house database)

System
Closes user
session

None

18 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Check out

Use case Name


Use case scenario

Log out
Customer log out system

Brief Description

Customer presses Log Out button to log out system

Actor
Related use case
Pre-conditions

Customer
Log In
Customer already logged in the system
Actor
If user wishes to log
out logs out

System
Closes user
session

Flow of activities

Exceptions
Conditions

None

19 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Domain Class Diagram

Technology tools for software development


Technology Tools
Microsoft office suite
Visual Paradigm
HTML, JS, ASP.NET, CSS, Relevant IDEs
SQL Server, Relevant IDEs

Purpose of Tool
Project proposal, project planning, document
prep
Design and create various UML diagrams
Website/client design and implementation
Developing and maintaining in house databases

20 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Project Plan (Part A)

Design Class Diagram

21 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Class responsibility collaboration


User
Add user
Delete user
Update user info
Get user info
CreateCart
AddNewSearch
AddNewTravel

SearchAttraction
TravelOrder
Cart

userID
name
lastName
country
city
22 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
address
phone
email

SearchAttraction
Match searching location
Print the selected attraction info
description
location

TravelOrder
Get travel order info
Cancel the travel
Check whether the travel is confirmed

User

User
Payment
Flight
Hotel
Transportation

travelID
userID
transportation
fightID
hotelID
attractionName

Payment
Select payment options
Receive a payment
travelID
amount

Credit
Receive a credit payment

TravelOrder

TravelOrder
Payment

cardNumber
expireDate
CVC

23 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
Deposit
Receive a deposit payment

TravelOrder
Payment

Name
bankID

Points
Receive a point payment

TravelOrder
Payment

quantity

Flight
Get flight information

CartItem
Flight details

flightID
from
destination
class
price
airline
departureDate
returnDate

Hotel
Get hotel information

CartItem
Hotel Details

hotelID
hotelName
country
city
address
price
classification

Transportation
Get transportation information

CartItem
Transportation details
24 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
Plate
capacity

SystemUI
Log in user

Cart
getcartItemInfo
AddCartItem
DeleteFromcart
Checkout
CartID
Quantity
TotalAmpount
UserID
CartItemNumber

User

User

Cart Items
Cart
CartItemNumber
FlightID
HotelID
PlateID

Flight Details
Travel Order
Flight
Status
Price
25 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
Class
Hotel Details
Travel Order
Hotel
Price
Classification

Transportation Details
Travel Order
transportation
Price
Type of vehicle

26 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

System Sequence Diagram


Registration/Log-in/Log-out

27 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Search/Selection/Checkout

State Machine Diagram

28 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Travel Order

Flight

29 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

Payment

Part C
30 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

1. High level Architecture design

2. UI

A. User settings

B. Travel Order details

31 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

C. Travel orders general

32 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

D. Flight Details (Selection)


33 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

34 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

E. Search Attractions

F. Checkout

35 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

3. ERD

4. Component and Deployment

5. Stub Code

6.
7.
8.
9.
10.
11.
12.
13.

public class User


{
private int userID;
private string name;
private string lastName;
private string country;
private string city;
private string address;

36 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.

private i nt phone;
private s tring email;
public void UpdateUserInformation()
{
// TODO - implement Customer.UpdateContactInformation
throw new System.InvalidOperationException( );
}
public void DeleteUser()
{
// TODO - implement Customer.DeleteUse
throw new System.InvalidOperationException( );
}
public void AddUser()
{
// TODO - implement Customer.AddUser
throw new System.InvalidOperationException( );
}
public string GetUserInformation()
{
string userInfromation = ""; // gather information
return userInfromation;
}
public void CreateCart()
{
// TODO - implement Customer.CreateCart
throw new System.InvalidOperationException( );
}
public void AddNewSearching()
{
// TODO - implement Customer.AddNewSearching
throw new System.InvalidOperationException( );
}
public void AddNewTravel()
{
// TODO - implement Customer.AddNewTravel
throw new System.InvalidOperationException( );
}
}

37 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.

public class SearchAttraction


{
private string description;
private string location;
public void PrintSelectedAttraction()
{
// TODO - implement Customer.PrintSelectedAttraction
throw new System.InvalidOperationException( );
}
public void MatchSearchingLocation()
{
// TODO - implement Customer.MatchSearchingLocation
throw new System.InvalidOperationException( );
}
}

public class Cart


{
private string cartID;
private int quantity;
private double totalAmount;
private int userID;
private int cartItemNumber;
public string GetCartItemInfo()
{
string cartInfo = ""; // gather information
return cartInfo;
}
public void AddToCart()
{
// TODO - implement Customer.AddToCart
throw new System.InvalidOperationException( );
}
public void DeleteFromCart()
{
// TODO - implement Customer.DeleteFromCart
throw new System.InvalidOperationException( );
}
}

38 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.

public class CartItems


{
private int cartItemNumber;
private string flightID;
private string hotelID;
private string plateID;
}
public class TravelOrder
{
private int travelID;
private int userID;
private string transportation;
private int flightID;
private int hotelID;
private string attractionName;
public string GetTravelInformation()
{
string travelInformation = ""; // gather information
return travelInformation;
}
public void CancelTravelOrder()
{
// TODO - implement Customer.CancelTravelOrder
throw new System.InvalidOperationException( );
}
public void IsConfirmed()
{
// TODO - implement Customer.IsConfirmed
throw new System.InvalidOperationException( );
}
}

public class Payment


{
private int travelID;
private double amount;
public void SelectPaymentOption()
{
// TODO - implement Customer.SelectPaymentOption
throw new System.InvalidOperationException( );

39 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.

public void ReceivePayment()


{
// TODO - implement Customer.ReceivePayment
throw new System.InvalidOperationException( );
}
}

public class Points : Payment


{
private double quantity;
}
public class Deposit : Payment
{
private string name;
private int bankID;
}
public class Credit:Payment
{
private int cardNumber;
private string expireDate;
private string cvc;
}
public class Flight
{
private int flightID;
private string from;
private string destination;
private string airline;
private string departureDate;
private string returnDate;
private string seat;
public string GetFlightinfo()
{
string flightInfo = ""; // gather information
return flightInfo;
}
}

public class FlightDetails


{

40 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.

private s tring status;


private d
ouble price;
private s tring flightClass;
}

public class Hotel


{
private int hotelID;
private string hotelName;
private string country;
private string city;
private string address;
public string GetHotelInfo()
{
string hotelInfo = ""; / / gather information
return hotelInfo;
}
}

public class HoteDetails


{
private double price;
private string classification;
}
public class Transportation
{
private int capacity;
private string plateID;
public string GetTransInfo()
{
string transInfo = ""; // gather information
return transInfo;
}
}

public class TransportationDetails


{
private double price;
private string typeOfVehice;
}

41 | Page

Kenneth Lopez Rodriguez


Madeleine Sangoi
Jiawei Mao

42 | Page

Vous aimerez peut-être aussi