MCS-270 Lab 2: Object-Oriented Analysis (Spring 2005)

Due: at beginning of class on February 28

In this lab, you will continue the example of a classified ad system. This time you will preform the object-oriented analysis workflow as described in chapters 6 and 7 of the textbook.

I will divide the class into three groups, with each group containing three students. The students in each group will ideally come from different lab 1 groups, so that as much insight from the requirements analysis phase as possible is represented. (This implies that the group members may need to reconcile conflicts between their requirements analyses, so that you have an agreed upon and consistent set of use cases to work use.)

Each lab group will be given a room with a whiteboard to work in, and should perform the initial functional modeling, class modeling, and at least part of the initial dynamic modeling. At the end of the class period, the current draft should be copied down onto paper. The group should then agree on a process for turning that draft into a more polished one on paper before the lab due date, and turn in a single document for the group on the due date. (Unless there are irreconcilable differences, in which case multiple versions can be turned in.)

Please note that what you turn in need not be comprehensive and complete. For example, you need not do dynamic modeling for every use case that resulted from lab 1. Instead, focus on a few of the use cases, and run through the analysis process described in the book. This will involve writing out scenarios for these use cases, which I want you to hand in. Additionally, I would like to see at least one collaboration diagram (as in Figure 6.25 on page 116 of the textbook) and at least one sequence diagram (as in Figure 6.27 on page 118). And of course, I would like to see lots of class diagrams.

One technical detail: you may use software (such as ArgoUML) if you wish, but I would be just as happy if you drew them up by hand, provided you do so neatly.


Instructor: Karl Knight