MCS-270 Domain Modeling Exercise (Spring 2012)

In class February 20, 2012; due February 27, 2012

In this exercise, you will continue the example of a classified ad system. This time you will work in a team to sketch a domain model.

You will again work in five groups, with each group containing three or four students. The students in each group should come from different use-case groups, so that as much insight from the use-case analysis phase as possible is represented. This implies that the group members may need to reconcile conflicts between their analyses, to the extent the conflicts imply differing domain models. Often the conceptual classes will be the same, though, even where the use cases differ.

By spreading out over three rooms, each group should have enough whiteboard space to work in. Use that space to sketch a domain model. At the end of the class period, record the current draft either digitally or by copying it onto paper. The group should then agree on a process for turning that draft into a more polished one before the due date, unless everyone is satisfied with the existing draft.

The entire group should turn in a single model by the due date. It may be more polished than your initial draft in two senses. You may incorporate some additional insights into the conceptual classes, attributes, and associations, if those insights arise once you reflect on your initial draft. Secondly, once the model is drafted, you may recognize that it could be laid out in a more clear arrangement. Sketching it over again may let you disentangle it. However, I do not intend that the diagram needs to be more polished in the sense of being crisply drawn using a computerized system; a hand-drawn sketch is fine. (A computer-drawn version is fine too.) You may submit the model either by email or in hardcopy form.

Note that a model need not be represented in a single diagram. In order to control the size and complexity of the diagrams, it may make sense to illustrate your model with multiple diagrams, each focusing on a specific coherent aspect of the model.

Your domain model should include conceptual classes, attributes, and associations, including multiplicities.