In the case of a school assignment a grade was waiting for you at the end. This tutorial does not take the position that there is One Correct Outline for any topic, but rather that you must measure its success in terms of its usefulness.
I would like to design a model to help me track a t-shirt collection. My view of t-shirts, concocted on very short notice, is that they have two important qualities which I call "characteristics" (i.e. physical attributes) and "history" (i.e., their life "story"). As far as physical characteristics, I care about color, size, if there is printing or other decoration, and what they are made of. As far as history is concerned I care about purchasing information, who has borrowed them, if they have been damaged, and ultimately when and why I disposed of them. Finally, because I am superstitious, I wear particular t-shirts only on certain days of the month. I want to keep track of that as well.
This may not be your view of t-shirts at all. Perhaps you don't care about history but instead want to emphasize, in great detail, exactly what your t-shirts look like. This could be because your collection is much more diverse than mine, you never loan out clothing, and your sense of style includes concepts I do not think much about, like which t-shirts can be worn with which pants. Perhaps you want a model that includes shirts of any sort and you don't believe t-shirts constitute a legitimate, distinct category.
Clearly the design is influenced not only by what a t-shirt is, but also how one thinks about and uses them. The same sorts of issues arise during the design of biological databases where the underlying reality is far more complex and the opportunities for disagreement correspondingly greater. But this is not to say that a design is beyond criticism. T-shirts, for example, don't have seven sleeves; a model that assumes otherwise does not map onto the real world. Likewise in biology there is a common framework that helps impose order. We agree that evolution occurs, that information is encoded in genes, and so on. Nonetheless enough disagreement exists to make concensus design difficult.
Since my model is an example only, I have not spent much time answering the questions I posed at the start of this section. The resulting flaws will provide an opportunity to make improvements. But you will want to reach a higher standard in your own project. In particular, you will want to test your design by discussing it with others, by loading data into it, and by watching users interact with it.
Back to Table of Contents