Draw a class diagram, showing the relevant classes, attributes, operations, and relationships, for the following situation:
Wally Los Gatos and his partner Henry Chordate have formed a new limited partnership, Fin and Finicky Security Consultants. Fin and Finicky consults with corporations to determine their security needs. You have been hired by Wally and Henry to design a database management system to help them manage their business.
Due to a recent increase in business, Fin and Finicky has decided to automate its client tracking system. You and your team have done a preliminary analysis and come up with the following set of classes, attributes, and business rules:
consultant
There are two types of consultants: business consultants and technical consultants. Business consultants are contacted by a business in order to first determine security needs and provide an estimate for the actual services to be performed.
Technical consultants perform services according to the specifications developed by the business consultants.
Attributes of business consultant are the following:
employee ID (identifier), name, address (street, city, state, zip code), telephone, date of birth, age, business experience (number of years, type of business [or businesses]), degrees received.
Attributes of technical consultant are the following:
employee ID (identifier), name, address (street, city,
state, zip code), telephone, date of birth, age, technical
skills, degrees received.
customer
Customers are businesses that have asked for consulting services. Attributes of customer are customer ID (identifier), company name, address (street, city, state, zip code), contact name, contact title, contact telephone, business type, and number of employees.
Location
Customers can have multiple locations. Attributes of location are customer ID, location ID (which is unique only for each customer ID), address (street, city, state, zip code), telephone, and building size.
service
A security service is performed for a customer at one or more locations. Before services are performed, an estimate is prepared. Attributes of service are service ID (identifier), description, cost, coverage, and clearance required.
Additional Business Rules
In addition to the classes outlined above, the following information will need to be stored and should be shown in the model. These may be classes, but they also reflect a relationship between more than
one class:
Estimates: date, amount, business consultant, services,
customer
Services performed: date, amount, technical consultant,
services, customer
In order to construct the class diagram, you may assume the following: A customer can have many consultants providing many services. We wish to track both actual services performed and services offered. Therefore, there should be two relationships between customer—service and consultant—one to show services performed and one to show services offered as part of the estimate.