CS-321 Lab 3: Introduction To the Graphics Shell

This is a 1-week lab. Please refer to http://people.msoe.edu/~cs321/lab3.shtml [no longer online] for the lab details.

UML Class and Sequence Diagrams

Before writing your code for this week, model your existing work and develop your design using a UML editing tool. Specifically, use** Visio (Windows) or Dia (Windows or Linux***) to prepare a UML class diagram and a UML sequence diagram.

Your model must contain enough detail to support a non-trivial example of using your classes. For example...

Feel free to propose another example for diagramming to the instructor.

Save your graphics (1 class diagram and 1 sequence diagram) in PNG format at a reasonable resolution for on-screen viewing and reference them so that they appear in your XML report (File|Save As in Visio, File|Export in Dia). In your report, give the user an overview of the diagrams with additional information not obvious from the diagrams -- do not simply re-tell the user what the UML diagrams already convey.

**If you prefer, you may instead use Rose, a much more powerful tool that you have access to while on campus (the Department has 100 licenses managed by a license server). Rose has a shallower learning curve (meaning that it takes longer to gain proficiency), but is also much more powerful. Rose has a Web Export feature that, among other things, generates PNG versions of all diagrams.

***If dia is not available (dia& from command prompt), execute `up2date dia` as root to install it on your Linux setup.

Other Requirements

These requirements are in addition to those listed on the common lab page linked to above.

Note: It is not necessary to handle loading and saving, but these features will be required in future labs, so you might want to get a start on them.

Demonstration (during week 5 lab)

You will need to demonstrate your project to the instructor during the week 5 lab meeting. The demonstration will count for 25% of your project grade.

Lab report (due 4 P.M., the day prior to week 5 lab)

Your lab report need not be self-contained. This means that it is not necessary to restate the entire specification in your report.

If you have any questions, consult the instructor.