Introducing the Work Area

The work area of Poseidon is separated in five parts. At the top of the window, there is a main menu and a toolbar that provide access to the main functions. Below this are four panes:

Figure 4-1. Poseidon for UML application work area.

Diagram Pane

Navigation Pane

Overview Pane

Details Pane

You can hide and redisplay panes by clicking on the small arrows that are located on the separation bars between panes, much in the same way you can manipulate panes in most other GUI applications. This allows you to gain extra room for drawing in the Diagram pane while the other panes are not needed. You can also resize the panes to best fit your needs by moving the separation bars with the mouse.

The Navigation Pane

The first pane we will explore is the Navigation pane in the upper left corner. It is used to access all of the main parts of a model by presenting the elements of the model in various tree structures. There are many different ways the model information could be organized into a tree structure; for example, the tree could be sorted alphabetically by element name, by diagram name, or by model element type. The classic way to organize them is by packages. Poseidon for UML uses the package structure as the default navigation tree, as do most UML tools. But, as we will see a little later, Poseidon provides additional tree structures called views. This is one of the strong points of Poseidon for UML, providing enormous flexibility for navigation. The default view is called the Package view.

The root node of the tree is the model itself, in our example it is called Webstore. The first level of the tree is open by default. In the Package Centric view, all first-level packages are shown, as well as all model elements that are not inside a specific package. As you can see, each element in the tree is preceded by a little icon. Element icons have one symbol, diagrams have several of these symbols combined into one icon. These icons are used consistently throughout the application.

Some sample icons:

You can navigate through the tree by clicking on the icon in front of an element name, similar to many other applications. Any element you subsequently add to the model will automatically appear in the corresponding branch of the tree hierarchy, no matter how it is created.

Right now, your Navigation pane should look like this:

Figure 4-2. Navigation pane in the Webstore model.

The model Webstore contains many packages (e.g. Analysis and Design) as well as diagrams ( Overview).

Select the class diagram Overview by clicking on it in the Navigation pane. The selected diagram will then be displayed in the Diagram pane, which is located to the right of the Navigation Pane. The 'Container Class Analysis-Packages' diagram (Figure 6–3) visualizes the dependencies between the included packages: Analysis, Design, and Deployment.

Figure 4-3. Class diagram 'Overview'

Inside the packages you can find further diagrams, but to quickly browse through the existing diagrams you need not navigate through the packages themselves. You can find diagrams directly (and much more quickly) using the diagram tree.

This view sorts the model elements according to the diagrams in which they are included. Of course, this view includes only includes those model elements that are included in at least one diagram. The organization of this view has the advantage of quick navigation to any diagram or to the elements they contain. It logically follows that sometimes the Diagram Centric view and at other times the Package Centric view is more useful. Take a few moments now to look at the other available views.

We will now turn our attention to the diagrams themselves and how to edit them by looking at the Diagram Pane.

The Diagram Pane

As diagrams are the center of UML, naturally the Diagram pane is the main working space in Poseidon for UML. It is the primary place for constructing and editing the diagrams that compose all models. Just as the Navigation pane can display multiple views, the Diagram pane also makes use of tabs to open additional workspaces. Let's take a closer look at some of the functions available in the Diagram pane.

Open the diagram Design in the Diagram pane by clicking on its name under Class Diagrams in the Navigation pane. Expand the tree for this diagram by clicking the 'expand tree' icon that appears to the left of the diagram name.

The Diagram pane to the right should now look like this:

Figure 4-4. The Diagram pane displaying the diagram 'Design'.

This is an overview diagram that provides a high level view of the design of our example. The classes from this diagram happen to be located in different packages. You can see the package name in parentheses under the class name (e.g. (from Design::Customers)). For each package in this example, there is another diagram you can view that shows the classes of that package and how they relate to each other. In UML, model elements can be represented in different diagrams to highlight specific aspects in different contexts. Other diagrams covered later in this guide will give us another perspective.

This diagram shows important classes from our example model. It already tells you quite a bit about this example, such as:

If you select one of these classes in the navigation tree, you will see that the corresponding class is also selected in the diagram. Similarly, if you select a class in the diagram it is also selected in the Navigation pane. This is true for all elements: your selection is synchronized between the different panes.

Try it for yourself by selecting one of the classes in this diagram from the Navigation pane. Notice how the class name is highlighted in the Navigation pane, while the Diagram pane displays the same class with its rapid buttons visible around it.

The Details Pane

So much more goes into a model than just the shapes representing elements and the connections between them. But if all of this information were displayed in the Diagram pane, the diagrams would quickly become cluttered and unreadable. The Details pane organizes and presents all of these important particulars via tabs.

So let's now take a closer look at the Details pane, located at the bottom of the application. Select the class Customer by either clicking on the class itself in the diagram or clicking on the class name in the Navigation pane.

Figure 4-5. The Details pane with class 'Customer' selected.

The Details pane is composed of seven tabs. These tabs (sometimes referred to as panels) display all of the detailed information about the element currently selected, allow changes to be made to these elements, add related elements, or delete the element all together. Properties can be changed, documentation can be written, the resulting code can be previewed and edited, and more. The tabs always reflect the currently selected model element and are enabled only if they make sense in the context of the selected element. The Details pane also serves as another mechanism to navigate through the model.

Tabs available in the Details pane:

The Overview Pane

The larger a diagram becomes, the harder it gets to keep track of all of the elements, especially once they are out of the immediate viewing area. The Overview pane allows you to keep track of the elements already in the diagram. The pane, located at the bottom left, provides access to the 'Birdview' tab, which displays a graphic summary of the diagram currently displayed in the Diagram pane. From this tab you can zoom and/or pan in either the Diagram pane or the Overview pane.

Figure 4-6. Class diagram as seen in the Birdview tab

To directly scale the section displayed in the main diagram area, enable the checkbox in the lower left-hand corner and use the slider bar to adjust the zoom factor. To pan and zoom the small diagram in the Birdview tab without disturbing the Diagram pane, disable this checkbox.