4.5. Questions and Exercises
Questions
Which of the following sentences about UML class modeling concepts are true?
Select one or more:
Which of the following UML attribute declarations specifies an optional attribute?
Select one or more:
An association between two classes is total if
Select one or more:
Exercises
Make a conceptual information model on the basis of the following case descriptions.
MyCAR Ltd is a car rental company operating in many European countries with headquarters in London. It has more than 600 branches and more than 100 service depots all over Europe. A branch may be an airport branch, a city branch or an agency (a branch that operates at the service desk in a hotel).
At each branch different models of car, classified by car group (such as Mini, Economy, Compact, Full-Size, Premium, Luxury), are stored and available for rental. All cars in a car group are charged at the same rates.
MyCAR does not accept corporate customers, but only individual customers. A rental reservation is made by a customer by specifying the rental period (pick-up date/time and return date/time), the desired car group and the MyCAR branch from which the rental is to start. Optionally, the reservation may specify a one-way rental (in which the car is returned to a branch different from the pick-up branch) and may request a specific car model within the required group. MyCAR also accepts immediate ('walk-in') rentals, if cars are available. A customer can have several reservations but only one car rented at a time.
For each rental, additional drivers may be registered. Any driver of a rental must be a "qualified driver"; according to the rules of MyCAR this is a person who is over 21 years old and has a valid driver's license.
A-BIRD is a new discount airline, for which an online flight booking information system is to be constructed. Only individual, but no corporate, customers are accepted. A booking concerns a single flight for one or more passengers. Depending on the fare (e.g. A-Value for low cost and A-Flex for maximum flexibility) and the day of the booking, flights are offered with varying prices. Normally, a booking requires an advance credit card payment. Alternatively, members of the A-BIRD frequent flier club can "pay" with points from their loyalty account.
A flight has a departure airport and a departure time, as well as an arrival airport and an arrival time. For each flight, there is a list of weekdays on which it takes place. A flight may involve stopovers in other airports. A stopover has an arrival time and a departure time. Each airport serves one or more cities.
It is important to account for the difference between a generic flight (identified by flight number) and a particular flight occurrence (identified by flight number and date).
The Sunshine Fitness Center (SFC) chain employs primarily fitness course instructors. Other positions filled by employees include the clerks in the fitness store and administrative personnel (e.g., billing clerks, equipment managers, etc.). Records on each past and present employee of the company are maintained that include the employee name, address, phone number, hire date, and position. Employees also have a unique sequential four-digit employee number assigned to them when they are originally hired.
When someone joins SFC, they have a unique sequential six-digit member number assigned to them. Also recorded for each member is his or her name, address, phone number, gender, birth date, and date of joining SFC.
SFC offers over thirty different types of personal fitness courses to its members. Courses include such exercise-based subjects as yoga, tai chi, weight training, and aerobics, and also other fitness-oriented topics such as nutrition and natural medicine. All courses are taught by qualified SFC instructors (it is recorded which instructor is qualified for which course). Each course has a unique course number assigned to it when it is created. The course number consists of three letters followed by three digits (e.g., AER101 for Introduction to Aerobics). Additional important information about each course is the course name, description, level (e.g., novice, intermediate, advanced), duration (the number of weeks that the course is designed to run), and fee (the price of the course, prior to any applied discounts). There are no prerequisites, as such, for taking courses, but members are encouraged to take courses in a logical progression (e.g., novice classes prior to intermediate classes in a particular subject area).
Courses are offered periodically in the form of classes (a class is a specific offering of a specific course). On the teaching schedule the following information is recorded for each class: the start date for the class, the day(s) of the week the class will be held (e.g. “Mon,Wed”), the time period that the class will be held (e.g., 8:00am-10:00am, 7:30pm-9:00pm, etc.), and the instructor. Also required is to specify which of the center's seven rooms is to be used to host the class. Each room has a unique sequential room number and a class capacity associated with it. The latter is the maximum number of members that can participate in a class being held in that room. That number is important in preventing classes from being over-enrolled.