CSCI 201 Guest Lecture: Data Modeling


Exercise

Extend the PPC example object model to accommodate this new information:

Part One

Peter wants to produce a new high-end pump with automatic sensing and control. Peter's pump designers use AutoCAD software to produce their drawings. The drawings are plotted on large format paper and sent to the shop for production. Each pump drawing is an assembly drawing that shows the manufacturing technician how to assemble the pump from its components. Each of the components is described on a detail drawing. The manufacturing foreman makes some of the components in the shop and buys standard off-the-shelf components like screws, switches, and bearings.

The AutoCAD pump assembly design is called an "assembly model" and the component designs are called "component models." These AutoCAD models are actually files on Peter's file server. The assembly model contains pointers to the component files. The vendors supply AutoCAD component files for the off-the-shelf parts. Thus, the designers don't need to re-draw the off-the-shelf components, and components that have multiple instances in an assembly or in multiple assemblies are stored just once. Naturally, updating a component model file updates all assembly models that utilize it.

When the assembly model is printed on paper (usually several sheets), it is called a "drawing." Likewise with component models. Some day the manufacturing shop will view models directly on computer screens, but for now assume the shop works only from paper.

When the shop or customers find design flaws in a pump, the design model is updated and assigned a revision number. The first issue of the design has no revision identifier (null) and the first revision is identified "A", the second is "B", and so on. The shop needs to know that the paper it is working to is the latest revision.

Peter has hired an embedded systems programmer to write the software for the pump control system. The software goes through version revision on a regular basis. Peter wants to control both source and executable files on his file server.

Part Two

After the first several new pumps are produced, Peter realizes that he will never successfully market the pump unless he offers a warranty and on-site user support. He concludes that this will require tracking the individual pumps via serial numbers. The assembly model is modified to require marking each pump with a serial number. Peter institutes a policy to associate each pump sold with a purchaser who has a name, address, phone number, and purchase date.

Directions

Produce an object model chart for this business process on one or more sheets of paper along with a narrative description of objects and rationales for object relationships. You do not need to address specific C++ implementation details. Do part one first. Then using a copy of the part one model, attempt to extend it for the requirements of part two. If you need to re-design the model, include an explanation of how and why.

This is not an easy exercise, but it is not particularly difficult either. This exercise distills the essence of some actual data modeling problems. You might find it easiest to draw a general high-level model chart first, then think about the problem for a day or two, and return to the model chart and revise it. This might also be a good exercise for a small team working over several days.

Solution


Email: Richard dot J dot Wagner at gmail dot com

dm09.htm, this hand crafted HTML file created October 18, 1997.
Last updated October 22, 2010, by Rick Wagner. Copyright © 2010, all rights reserved.