The main lesson here was supposed to that even simple OOA's can be pretty confusing before one's thoughts become organized. Wording and re-wording the usecases in terms of the classes in the OOA is the only way to make progress. Students spent a huge amount of effort trying to find the answer in the problem statement before knuckling down and inventing a solution. (That's why analysts get paid the big bucks, right?).
In class I've almost come out and admitted that I actually think mostly in terms of some implementation and really use the UML to communicate the overall structure of my thinking. I'm not sure that such true confessions are particularly useful at this stage. In any case the trick appears to be getting above the details of the implementation and sketching out the overall shape of the entity model. I certainly know good analysts who appear to be able to toggle between "programmer mode" and "analyst mode".
The use cases were difficult for some students without some notion of a user interface. It's okay if they refer to totally fictional UI, so long as nouns are defined by their OOA class diagram and verbs by and large correspond to associations. (Naturally, their fictitious boundary classes can be left off the OOA.) Read Rosenberg on use cases if you are not sure what I mean here.
Given the science fiction aspect to the domain please do not penalize students for making stuff up. I left the task very vague hoping that this would allow students to write very general use cases but this is not the route some of them took.
Presumably most solutions will be based around the 1 to many between fields and quads. Students will relate overview and planned amounts and types of Seed (etc) differently. An association class may be used to carry the overview plan and also the detailed plan. (See the problem statement for a2b.) I don't think I saw a single student at office hours that used association classes.
Students had trouble accommodating the historical nature of the data. Clearly an analysis that did not require an entire copy of each year's object network is preferable. For instance, if students simply used attributes in the Quad to store the amount of seed they would have to make a copy of the all Quad objects for each year of data. The association class approach is better in this way.
Remember, simplicity is highly desirable. The model could be quite simple.
marks | Comment |
---|---|
5 | Appropriate Use cases. The use cases above should appear in the set written by the student. Don't penalize for extra use cases (it's penalty enough to have wasted the time). The students have been warned that relationships between use cases in the use case diagram are hard to understand and NOT useful in this case. Scribble complaints but don't penalize unless the relationships on the use case diagram are far off the mark. |
5 | Use case text corresponds to class diagram in that most nouns and at least some of the verbs correspond to classes and associations in the OOA class diagram. A hypothetical user interface is okay -- but the Boundary objects it implies should not appear in the OOA. somewhere. |
5 |
Class Diagram is an analysis diagram (no methods).
Multiplicity is right. Associations are named sanely. NB: Association classes are the way to model this assignment most easily. A diagram taking this approach will appear as part of the problem statement of 2b. |
5 |
Check to make sure the detailed plan is modeled. The main
thrust of the system is to create detailed plans. Hence, I
suggest 5 marks and a quarter of your effort should be set
aside for this. There must be some way to get at the
amount of seed, fertilizer and poison for each quad of
each field for the current year and each year of history.
Don't worry too much if dollar amounts are sprinkled here and there. Students that didn't see to use association classes may have quite a messy solution for this aspect of the analysis. |
Suggested quality to marks:
5 | Excellent | superior grasp of the subject matter | no problems |
4 | few and minor problems | ||
3 | okay | a few more problems, none major | |
2 | marginal | some slight evidence that they understand. | |
0-1 | inadequate | little to no evidence of even a superficial understanding of what is required |
David Penny made some good comments last year about how to mark OOA.