Never tell people how to do things. Tell them what to do and they will surprise you with their ingenuity. – George S. Patton, Jr., War As I Knew It, 1947

In this lab, you will work on two related activities:

The Monopoly Example

For the next few weeks, the labs in this course will use the game of Monopoly as an example¹. If you’re not familiar with the rules of the game, you find them on-line (e.g., http://www.centralconnector.com/GAMES/MONOPOL.html) or work with someone else who is. We will envision an on-line game playing system that runs a multi-player monopoly game and also maintains player statistics from game to game.

UML

UML is a modelling language that is supported by a number of tools. One such tool, StarUML, is an open source tool that is very much like other more costly commercial UML tools (e.g., IBM Rational Rose, iLogix Rhapsody, SPARX Enterprise Architect). You can choose to use it, some other tool, or simply hand-draw your UML diagrams. This section contains a short StartUML tutorial if you should choose to use it.

Using StarUML

This is an optional section useful only if you choose to use StartUML. The main StarUML window is shown here:

StarUML
	  Interface
Expand your browser to make this image easier to read, or click on the image itself for an enlarged view.

Note the following features in StarUML’s main window:

Use Case Diagrams in StarUML

StarUML is generally pretty easy to use for any of the UML diagram types, so you should be able to find your way around pretty well. Start by downloading the sample UML model for the Monopoly system to your hard-drive(monopoly.uml) and loading it in StarUML. Search around the model a bit and do the following things:

  1. Open the “Main” use case diagram - You can find this in the “Model Explorer” pane on the upper right under “Monopoly”-“Use Case View”-“Main”.

  2. Find the written use cases - You can find these as follows:
    1. Click on use case in the “Use Case View”
    2. Open the “Documentation” pane in the lower right. If the “Properties” pane is displayed there, choose the “Display” tab at the very bottom.
    I’ve written use cases for “Play Monopoly” and “View Statistics”.

  3. Use the toolbox - The “Toolbox” on the left will provide the basic UML modeling elements for the type of model you are currently displaying in the main workspace.

  4. Change the name of an element - This is not as easy as it should be in StarUML. You do it as follows:
    1. Click on the element in the Model Explorer
    2. Change its name property in the “Properties” pane in the lower right. You may have to switch back to the “Properties” pane from the “Documentation” pane.

  5. Distinguish between graphical views and model elements - UML tools tend to distinguish between the graphical presentation of an item (say the “Player” actor shown in the “Main” use case diagram) and the actual model element itself (shown as “Player” in the “Model Explorer” pane on the right). You can remove the presentation without deleting the underlying model element. Try this by doing the following:
    1. Delete the player from the diagram canvas
    2. Find the player element in the Model Explorer and drag it back onto the diagram canvas. The player icon and the relationships should come back.
    If you really want to remove an element for good, click mouse right on the element in the Model Explorer and choose “Delete from Model”.

  6. Build a new StarUML model - Finally, for this week’s homework, you’ll need to know how to create a new model. You can do this as follows:
    1. Start StarUML - StarUML is Win32-based, and is available on the Windows start menu.
    2. Create a New Project - Select the Rational Approach as your “Default Approach”.
    3. Open the “Main” Use Case Diagram - The new project automatically creates a default use case diagram under “Use Case View”-“Main” in the Model Explorer.
    4. Build the Model - Use the toolbox elements to create the model elements you need. Enter the actor and use case descriptions by clicking on the element and typing the text into the documentation field.

There is a reasonable on-line help facility available by choosing “Help”-“Contents”.

Use Case Modeling

As we discussed in class (see the lecture notes), use case modeling is a common requirements analysis activity and use case diagrams are a common requirements artifact. Open the following use case diagram, found in the Model Explorer under "Monopoly"-"Use Cases"-"Play":

StarUML
	  Use Case Diagram

This is a more detailed use case model of the high-level "Play Monopoly" use case. It focuses on actually playing Monopoly. Before you do the exercise, make sure that you understand the following things:

Exercise 4.1

Extend the Monopoly use case model in the following ways:

  1. Add use case ovals to the appropriate diagram for the following use cases:
    • Login - The player must login before playing monopoly or viewing statistics.
    • Trade Properties - At the beginning of their turn, a player may ask another player to trade properties and/or money.
    • Go to Jail - A player who lands on the "go to Jail" space or draws a "go to jail" card must move to the jail space.
    • Buy Property - At the end of their turn, a player may choose to buy the property they have just landed on.
  2. Write a full text use case for the "Buy Property" use case you just added to the diagram. Remember to write the main scenario as a "success" scenario and add other conditions as extensions. See my "Buy House" as an example. Also, don’t forget that the property could be owned either by the bank or by another player.

Make sure that your diagram employs UML use case elements in the manner promoted in the analysis lecture and that you save the full model for use in next week’s lab.

Use Case Modeling for your Team Project

This week, your team will do a preliminary use case analysis for your team project. Note:

Remember these mantras:

Exercise 4.2

You should actively participate in your team's use-case modeling session. Your attendance will contribute to your lab score.

Checking In

Submit the files specified above in Moodle under lab 4. We will grade your work according to the following criteria:

Back to the top

¹ Adapted from examples by Laurie Williams, Craig Larman and Barbara Lerner.