[CLIS logo]

INST 301 - Introduction to Information Science
Spring 2016
Assignment H5 - Entity Attributes


This homework is due before the start of the class session indicated on the syllabus. Partial credit may be awarded.

For this assignment our goal is to begin to get some experience with building models using data. Our focus for this assignment is on the attributes of entities. When we build a model using data, the first task is to figure out which entities need to be modeled. Of course, these should be the entities that you need to perform some task. In this assignment, we will specify the entities for you, so you won't need to do that step. The second task is to specify the attributes of each entity that are important for your task. Here you need to bear in mind what task(s) you plan to perform, because you don't want your model to become any more complex than it needs to be for the tasks you have in mind.

The task we're going to model is running an automobile repair shop. The entities that are important for this task (in my opinion) are customers, cars, mechanics, and bills. When a customer arrives, we want to get their contact information so that we can call, text, or email them when their car is ready. When cars are waiting for service and a mechanic becomes available, we want to assign that mechanic to a car that they can work on. When the mechanic finishes working on a car, we want to know how long they worked on it so that we can compute the bill (since we charge customers $40 per hour for the mechanic's time). Someone then needs to contact the customer to tell them their car is ready. When they come in to pick up their car, we need to present them the bill, and once they pay their bill we need to note that they have done so before we give them the keys to their car.

Okay, here's the assignment. For each entity type (customer, car, mechanic, and bill), make a list of the facts that we need to record about that entity (we call these facts the "attributes" of that entity. For each fact (i.e., each attribute) you should specify why you need that data. For example, if you think you need to know the color of the car, you might write that you need to do that so that the mechanic can easily find it. It would be incorrect to include an attribute that you don't need for any reason (e.g., recording the weight of the car would require an expensive process to actually weigh the car, and it is not clear what you would do with that information if you had it. It would also be incorrect to fail to record something that you need to know (for example, if you need to know the customer's phone number but forget to include it, that would be a mistake).

You'll have a few decisions to make, For example, if you want to record which mechanic worked on a car, you could note that either as an attribute of the car (the mechanic assigned to it) or the mechanic (the car they were assigned to). In cases like this where either choice is fine, then we will be happy with either one (or both). In a future class, we'll be talking about how to actually make those sorts of choices in the best possible way.

Submit your assignment using ELMS.