Chapter 1: Getting Started


Thank you for choosing UMLStudio. UMLStudio has been in commercial release since 1996 and is used by tens of thousands of users around the world, including many major corporations, universities, government institutions, and individual users. Most of our clients choose UMLStudio as their preferred modeling tool because of its ease of use, robustness, speed, and competitive price.

Please take a moment to read the License Agreement, if you havenít done so already.

If youíre using the freeware version of UMLStudio, you can upgrade it to a licensed version by paying the License Fee. We will then provide you with a valid Serial Number and Key Code which will remove the save restriction of the freeware version. By doing so, you will qualify for Product Support.

If you have any comments, questions, or suggestions, please contact Pragsoft Corporation via email:

We continually enhance UMLStudio and make new releases. Please visit our web site,, to download new releases as they become available. Licensed users and those who join our email list will be automatically informed via email of new releases.

What is a CASE Tool?

UMLStudio is a Computer Aided Software Engineering (CASE) tool. In simple English, a CASE tool is a software tool that helps software practitioners develop their software systems more systematically and more productively. CASE tools achieve this by helping software practitioners visualize their ideas and hence communicate and analyse them more effectively. Because most software systems these days tend to be large, feature-rich, and complex, visualization is almost a necessity in order to manage their complexity.

So rather than describing a software system in text, pictures are used to express the system at various levels of abstraction. The level of formality of these pictures can range from totally informal to a formally-specified graphical language. The advantage of formal graphical notations is that they can be analysed by the CASE tool and useful textual information (e.g., program code) automatically generated from them. Informal notations, on the other hand, have the advantage of not being as much constrained in their syntax and hence completely open to the userís interpretation and needs.

A CASE tool typically provides the following capabilities:

Based on their notations, CASE tools support specific analysis and design methods. Earlier generation of CASE tools supported Structured Analysis and Design methods. These methods are now largely obsolete and are replaced by Object-Oriented Analysis and Design methods, which are in turn supported by the more recent CASE tools.

What You Can Do with UMLStudio

UMLStudio is a unique Object-Oriented (OO) CASE tool in that it does not tie you down to any specific notation. Instead, it allows you to visually define your own graphical notations, so that they look and behave the way you want them.

Because notations are defined visually, you do not need any specialized skills to define them. With UMLStudio, you can define and start using a new notation in a matter of minutes.

Unlike most other CASE tools, UMLStudioís graphical notations are not hard-coded into it. Instead, each notation is stored in a notation template file. These templates are analogous to Microsoft Word document templates. (By creating a Microsoft Word template you can define a unique document style. This template can then be used to create documents that share the specified style. If you ever decide to adjust the style, you simply modify the template and the change can be automatically applied to the documents that use it.)

Similarly, a notation template in UMLStudio can be used to create diagrams that conform to that notation. You can adjust the notation at any point in time by modifying the template, and all the diagrams that are based on that notation will change automatically. Like in Word, you can also apply a different template to your drawings to instantly transform them into a different notation. For example, you can create a Booch class diagram and then automatically transform it to UML or some other OO notation.

By using templates, UMLStudio makes it easy to design new notations and share them with others. Most CASE users often face the problem of confronting a problem for which they have no appropriate notation. With UMLStudio, youíre never limited. If the task is best served by designing a completely new notation to address it, then you can do so quickly and consistently.

UMLStudio also provides the necessary tools for creating arbitrary and informal diagrams and to link and mix these with your formal diagrams. UMLStudioís advanced grouping feature allows you to create arbitrarily complex objects of your own design and to formalize these objects as you see fit. You can put your designs in a library and make them available for quick reuse via the library menu.

In UMLStudio, we usually use the term model instead of a diagram or a drawing. A model is an abstraction of a concept. For example, a design model is an abstract representation of a design idea. Models are represented as drawings. For example, a software design model may be represented by a class diagram.

We also use the terms object (or entity) to refer to the logical components of a model, and the term drawable to refer to the visible representation of an object in a modelís drawing. However, these terms are also used interchangeably, but the intent will be clear from the context.

The following is a summary of UMLStudioís key features:

Installing UMLStudio

UMLStudio is a Microsoft Windows application (works with any 32bit version of Windows).

UMLStudio has very modest memory and disk space requirements. If you have sufficient memory for Windows to operate comfortably, then this will be more than adequate for UMLStudio.

To install UMLStudio on your PC, run the installation executable, and follow the Setup instruction steps.

Creating a Simple Project

This section provides step-by-step instructions for creating a simple project with UMLStudio. In doing so, you will exercise some of UMLStudioís basic features.

The objective of this exercise is to create a model of the workers in a hypothetical company. This model consist of two classes:

Every employee will have a manager to whom s/he reports. Multiple employees may be managed by the same manager. These two classes and their relationships can be represented by a simple UML class diagram:

Employee will have the following attributes and methods:

Attributes:name : String
hireDate : Date
Methods:Terminate (date : Date) : void
DaysInService () : Integer

To create the project:

Click on the icon of the Untitled model in the explorer pane to select it.

Click on the Class tool in the custom toolbar to select it.

Click the mouse button.

Click the mouse while positioned over the class text.

Type "Employee".

Click outside the object.

The first step in creating the Employee class is now complete. Follow the same steps to also create the Manager class.

Note how the two classes created also appear in the lister page of the info pane. Each place has an associated master that defines the object denoted by the place. The lister provides a list of all masters you create in your project.

Our next task is to create the inheritance relationship between Manager and Employee.

Click on the Inheritance tool in the custom toolbar to select it.

Position the mouse pointer on the Manager class, hold the mouse button down, and drag (donít release the mouse button yet).

Drag until the pointer is positioned over the Employee class and release the mouse button.

The diagram created so far should look like this:

We will now create the aggregation relationship between Employee and Manager. To avoid this link overlapping the previous one, we will create it with two intermediate points.

Click on the Bi-Aggregation tool in the custom toolbar to select it.

Place the mouse pointer on the Employee class, hold the mouse button down, and drag to a point outside the right of the class and release the mouse button.

Finally, move the pointer over the Manager class and click the mouse button.

Click on the link text box and type "reports to".

Your drawing should now look like this:

Double-click the link you just created.

After entering the cardinality and pressing the OK button, your diagram will look like this:

The only thing left to do is defining the attributes and methods of the Employee class. We can do this using the class property sheet.

Double click the Employee class.

Click on the Attributes tab to select it.

Click on the Methods tab to select it.

Your diagram should now look like this:

Choose File:Save As to save your project.

This completes our simple exercise.

Viewing an Existing Project

A number of sample projects are supplied with the UMLStudio for you to play with. You will find them inside the following folder (where UMLStudio is installed):


If youíre a new user, itís a good idea to have a look at these projects and to explore the models inside them.

You can open a project in two ways:

Click on the various models in the explorer pane of the project to view them.

Table of Contents | Chapter 2

Copyright © 1996-2010 PragSoft Corporation (