UML  «Prev  Next»
Lesson 2 UML Fundamental Requirements
ObjectiveWhat is required to take this course?

UML Fundamental Requirements

Required software

There is a range of open-source software available that allow users to create Unified Modeling Language (UML) diagrams on a PC or Mac. These tools are designed to facilitate the process of designing and visualizing complex systems. Here are several well-regarded options:
  1. StarUML: StarUML is a powerful and flexible tool for UML modeling. It supports the full range of UML diagrams and has a user-friendly interface. The software can be extended using JavaScript and it supports code generation for several programming languages. StarUML is available for Windows, macOS, and Linux.
  2. ArgoUML: ArgoUML is one of the oldest open-source UML modeling tools. It offers support for all standard UML 1.4 diagrams. The software is implemented in Java, which allows it to run on any platform that supports Java. This includes Windows, macOS, and Linux.
  3. Umbrello UML Modeller: Umbrello UML Modeller is a free and open-source UML modeling tool from KDE. It provides support for a wide range of UML diagrams and can generate code in multiple programming languages. Umbrello is primarily designed for Linux but can also be run on Windows and macOS using KDE for Windows/Mac.
  4. Modelio: Modelio is an open-source modeling tool that supports UML2 and BPMN2, and provides an extension system to add new functionalities. It includes features for modeling in UML and BPMN, as well as code generation. Modelio runs on Windows, macOS, and Linux.
  5. Dia: Dia is an open-source, GTK+ based diagram creation tool for Linux, Unix, and Windows. It is somewhat less specialized for UML than some other options, but it does include support for UML static structure diagrams (class diagrams), use case diagrams, sequence diagrams, activity diagrams, and state diagrams.
  6. BOUML: BOUML is a free UML 2 tool box that allows you to specify and generate code in C++, Java, Idl, Php, Python, and MySQL. It runs on Windows, Linux, and macOS.

These are just a few of the open-source tools available for creating UML diagrams. Each of these tools has its own strengths, so it's recommended to explore several options and choose the one that best fits your specific needs and preferences.
To create diagramming exercises you must have access to a drawing tool capable of making a GIF.
For example, you might choose a tool such as Visio, or a freeware product. Later in this module, the details of exercise submission are outlined.

Use of other Tools

If you use an OO modeling computer-assisted software engineering (CASE) tool, you will still have to be able to save your diagram as a GIF in order to submit your assignment. Open Source Case Tools can be acquired by searching the Internet.
However, use of a CASE tool is not required for this course. The course will not provide support for the use of any of the drawing tools or CASE tools, and instructions will not be provided on how to use any of these tools.

Optional Books

Optional books for the course include:
(as indicated below)
  1. UML Distilled: Applying the Standard Object Modeling Language
  2. UML Toolkit
  3. Instant UML

You can purchase UML distilled from the following link below.
UML Distilled

How can UML solve Problems

So how can the Unified Modeling Language help solve these problems? UML has become an increasingly popular and powerful component of software development strategies around the world. More than 90 percent of the Fortune 500 companies use it in some form.
Why? Because UML supplies some essential tools that support a professional response to these challenges. UML provides
  1. A consistent form of communication that works equally well in analysis and design
  2. A visual presentation that works equally well for technical and non technical team members
  3. A formal yet flexible standard to ensure consistency and clarity
  4. An extensible language that may be tailored to any industry or application type
  5. A programming language independent way to specify software
  6. A rigorous means to specify software structure and behavior to generate code or even generate complete applications (executable UML)
  7. Regardless of the method you use to apply it, UML supports the development of precise and traceable communication that will survive rapid pace of change

Additional resources

you will find a number of helpful references on the Help pages, including a list of frequently asked questions, links to UML Internet and print resources, and links to CASE tool vendor Web sites.
In the next lesson, some of the features you can expect to encounter throughout the course will be examined.