AST21105 – Object Oriented Programming and Design
Task:
Assessment Item: Object-Oriented Design (30%) Deadline: by April 13 23:59
You are asked to design a system, in object-oriented fashion, to resolve the scenario. Note that, at this stage, you are not asked to provide actual implementation to this problem. You are only required to define classes, in UML class diagrams, aiming to give clear implementation plan for programmers to proceed.
The following information is actually MORE than enough for you to build complete this assignment. You are advised to read carefully and filter those useful for your work.
Problem Description:
BNC is an exhibition company holding exhibition tour in European cities. The tour takes 16 days visiting 5 cities and each city stays 2 – 3 days. BNC is planning to recruit potential exhibitors for next year’s tour.
BNC plans to visit London, Budapest, Vienna, Munich and Zurich in next exhibition tour. For each city exhibition hall, there are following characteristics:
London
Budapest
Vienna
Munich
Zurich
Capacity
1800 sq. m.
800 sq. m.
1680 sq. m.
680 sq. m.
1500 sq. m.
Rent
$130 / sq. m.
$85 / sq. m.
$120 / sq. m.
$87 / sq. m.
$ 110 / sq. m.
WiFi
Yes $130
Yes $88
Yes $75
N/A
Yes $85
Transportation
$80 / head
N/A
$65 / head
$50 / head
N/A
Potential exhibitors are required to provide 1) company name, 2) country of company registration, 3) and up to 3 contacting details. Each contacting detail includes title, name of contact person, position held in the company, email, and contact numbers.
1
AST21105 – Object Oriented Programming and Design
To make a reservation, exhibitors could opt cities they wish to participate. They could choose all cities or choose to skip some of them. For exhibition area, there are 2 kinds of settings: standard booth (3 x 3 sq. m.) and raw-space (multiply of 9 sq. m.). Exhibitors could choose standard booth or raw-space for exhibition. Such selection could vary from cities. That is, an exhibitor could choose a raw-space (27 sq. m.) in London and a standard booth in Munich. Besides exhibition area, additional equipment is available for exhibitors to rent. Rental of equipment should be recorded in the reservation. There is no limit on how many items, from 0 to any number, of equipment that an exhibitor could rent. The design should keep this flexible. Actual equipment item will be discussed later. For some cities WIFI and transportation are available. Rental of WIFI is for a tour within the city. For example, if exhibitors wish to have WIFI in London and Munich, they would have to pay for two WIFI charges. Transportation cost is counted per head, exhibitors would need to indicate how many people, from 0 to any number, would take transportation. Be reminded there is a limit of capacity for each city and such limit must be observed.
Exhibition equipment comprises of multiple items including interpreter, chairs, tables, av system, and notebook. Generally speaking, all items have a common attribute like price while each type of items have its own specific attributes:
Interpreter:
l Price: $180 / city l Language(s)
Chair:
l Price: $30 / chair / city l Type of chair:
1) high chair
2) low chair
Table:
l Price: $30 / table / city l Shape: round / square l Surface area
AV System:
l Price: $110 / city
Notebook:
l Price: 80 / city
l OS: Windows / Mac
You are also reminded to design classes that are used to facilitate the booking. For 2
AST21105 – Object Oriented Programming and Design
example, menu and booking manager. Menu is used to provide a clear and user- friendly instructions for exhibitors to proceed reservation. Booking manager aims to administer the whole system. The booking manager would administer booking records, client records, and equipment records, etc. The booking manager would also provide reports to BNC regarding reservation details, such as client list for each city, revenue generated for each city, and total revenue for the tour.
Submission:
By mid-night of April 13, you are required to submit a proposal, in pdf format, of implementation plan with the following items:
1) Class diagrams, with appropriate attributes, constructors, methods, destructor,
that fit for the mentioned scenario.
2) For each class, you are required to describe its functionality.
All classes must be drawn nicely preferably using computer or online design tools. Marks will be deducted if hand drawings are received.
Rubrics:
You will be graded according to the following criteria: l Design of classes (15 / 30)
l Technical level (10 / 30)
l Readability (5/30)
3