Name
1. Draw class diagram for the system (24pts):
Service station
(X) „ABC” Comp. has many service stations (Street, city, ZIP codę, optionally familiar name, unique identifier). Ali stations belonging to the company are open in the same days - currently from Tuesday to Saturday.
(2) Each station offers at least 30 types of services (name, description, base price in Euro). Seryice of one type can consist of seryices of other types. Services are divided according to kind of service into: basie mspection, balancing of wheels, etc. Other types of services are known, but irrelevant. Some types of services can combine features of a few different types of seryices. The base price of a particular type of seryice can be changed (inereased or decreased), but no morę then by 10 Euro a month.
(3) From the other side we can identify seryices according to form of payment: partially reimbursed, paid and others types of seryices. (There will be other types of seryices, but they are still undefined.) A seryice can switch from being reimbursed to being paid, and so on. For partially reimbursed seryices we know who pays for the customer, percentage of price the customer has to pay, and the minimal amount of money the customer has to pay (this amount is the same for all partially reimbursed seryices). For paid seryices we know type of payment (cash or credit card) and discount (default value of discount is 10%).
(4) Each type of seryice requires some skills (name of skill, name of certificate if there is any). There should be at least one skill assigned to each seryice.
(5) Each type of seryice requires a set of activities (name, time it takes). The order of activities is important. Activity is strictly related to one type of seryice.
(j6) Each seryice station has assigned a set of types of seryices that they specialize in (this is some part of seryices offered by the seryice station).
(7) Company employs mechanics (personal details, datę of employment, job seniority). Each mechanic has at least 3 skills (these are the same skills as for the types of seryices). We know a datę of obtaining a certificate for the skill by a given mechanic (if there is a certificate for the skiil).
(8) Mechanic can go on holidays and system should storę information on history of holidays of a given employee i.e. dates from, dates to and destinations (destinations are not required).
(9) Mechanics work in many seryice stations of the company. On each seryice station they can occupy a particular position. From 1 up to 2 mechanics are employed on a given position at a single station.
(10) Company seryices cars of customers. For each car a body serial, an engine serial and an owner are known. Customer can order a particular type of seryice for his/her car. For each order we know a datę and a mechanic who processes it. An order includes only one type of seryice (if morę seryices should be performed then there are multiple orders). We also know in which seryice station the order was performed. Of course the same type of seryice can be performed many times for the particular car by the given mechanic. The mechanic can be assigned to the order only if he/she has all skills required for the type of seryice.
(11) System should support:
• Eyaluating how much a customer should pay for the seryice.
• Defining a new seryice station in two ways: by giving Street, city, ZIP codę or by giving Street, city, ZIP codę, and familiar name.
f Generating reports on types of seryices. The reports are the same for all types of seryices except for basie inspections.
• Finding mechanics that were on holidays in a given period of time.
• Assigning a new skill to a mechanic (if a skill requires a certificate, then the name of the certificate and a datę of obtaining it should be given).