Hide menu

TDDC32 Design and implementation of a software module in Java

Lab 3 - Object Oriented Analysis and Design (optional)

Your task

Notice: This is a voluntary lab.
Your task is to do an object oriented analysis and design on the requirements specification in Lab 2, i.e. the text before the "Recommended steps" section. This should give you a perspective on how much easier you would have implemented Lab 2 if you had done a small OOAD on it. It also might give you a perspective on how well structured your final code is. You should do the following:

  • Criticise in one paragraph the requirements specification. Remember the rules?
  • Create one use case diagram.
  • Create the class diagram for the system. You can leave out the GUI objects.
  • Create one sequence diagram for releasing a producer/consumer from the bounded buffer. That is, what happens if you "push the button".
  • Create one state diagram for the states of the object representing the bounded buffer.
  • Create one activity diagram for the execution thread of producer 1.

UML Tool

Rational Rose
On the university computers you will find Rational Rose, that you can use to draw your diagrams. You install and start it by typing module add prog/rose; module initadd prog/rose; rose

It's quite easy to use, and you could immediately start your lab. If you want however, type rational rose tutorial in Google, and the first link should take you to some tutorial movies for every type of diagram. You could also take a look at the usage description in Lab 2 of TTDB62.

You cannot save directly as a pdf. Nevertheless, you can print your diagrams to file using the Generic Postscript Printer. Then on the generated file you run ps2pdf and you will get a pdf file that you can include in your documentation.

Other Tools
You may also use any other UML tool as long as it respects the standard (which I assume most do). The only problem is that you have to find a converter between the proprietary format of Rational Rose save files and your tool if you want to work both from school and home. A colleague of yours suggested ArgoUML as a nice free UML tool.

Page responsible: Tommy Färnqvist
Last updated: 2013-01-09