You are on page 1of 3

Component-Based Software

Dr. Rami Bahsoon


School of Computer Science
The University Of Birmingham
r.bahsoon@cs.bham.ac.uk
www.cs.bham.ac.uk/~rzb
Office 112 Y9- Computer Science

Unit 1. Sample Solution for Exercise 1

Component-Based Software Engineering


Dr R Bahsoon

Exercise 1

Flight
Booking
service

Sketch the
components and
interfaces
corresponding to the
given services

Hotel Promotional Service


Car Hire
Promotional
Service

Component-Based Software Engineering


Dr R Bahsoon

Exercise 1
Assume that Bob wants to book a holiday
Bob will book his holiday, where
He provides the following data: His origin airport, his
destination, his dates of departure/return, and any other
preference information (e.g., budget, luxury, etc)

Bob is interested in promotional offers for the period of


his holiday
He wants to rent a car at his destination.
He wants to get good hotel deals during his stay.

Component-Based Software Engineering


Dr R Bahsoon

Software Systems Requirements


After you book a holiday, the company shall provide the
holidaymaker with promotional services, which include
hotel deals and car rent promotional service at the
destination and for the duration of her/his stay

Component-Based Software Engineering


Dr R Bahsoon

Flight Booking

Provides

Requires

Flight Information

Customer data

Flight Booking

Customer
Preference
Information

Component-Based Software Engineering


Dr R Bahsoon

Promotional Hotel Booking Service..

Provides

Requires

List of available
Hotels

Flight Information

Customer Preference
Information

Promotional
Hotel Booking
Service

Component-Based Software Engineering


Dr R Bahsoon

You can even provide more services..

Provides

Requires

List of available
Hotels

Flight Information

Customer Preference
Information

List of Budget
Hotel

Promotional
Hotel Booking
Service

List of Five stars


List of B&B
List of 3 stars

Component-Based Software Engineering


Dr R Bahsoon

Car Hire Promotional Service

Provides

Requires

List of available
Car agents

Flight Information

Car Hire
Promotional
Service

Customer Preference
Information

List of cars deals

Component-Based Software Engineering


Dr R Bahsoon

Gluing the components


Provides

Requires

Provides

Requires

Customer
data

Flight
Booking

Flight Information
Customer
Preference
Information

Flight
Information
Customer
Preference
Information

Customer
Preference
Information

List of
available
Car agents

List of
cars
deals

Provides

Requires
Flight
Information

Car Hire
Promotional
Service

List of available
Hotels
List of Budget
Hotel

Promotional
Hotel
Booking
Service

Component-Based Software Engineering


Dr R Bahsoon

List of Five star


List of B&B

List of 3 stars