Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software ---- (more words of wisdom on UML...)
Introduction to the Unified Modeling Language
The first five articles form a 5 part mini-series introducing UML to Java developers published on www.informit.com. Following this is summary information for UML 2.x
This is followed by articles on the UML 2.1. I use UML all the time as it is the best general purpose modelling notation for software systems available. However, there are things about it I'd like to change and one or two of them are discussed below.
- A Picture Can Save a Thousand Words: UML Class Diagrams and
A gentle introduction to UML and object modeling from a Java programmer's perspective. Although it's tempting to spend time considering the history and philosophy behind UML, let's get straight down to business and look at how UML represents classes; we can do historical and philosophical stuff as we go.
- Inheritance and Interfaces in Java and UML
This article considers the two 'I's of UML class diagrams: inheritance and interfaces.
- Just Typical: UML Stereotypes and Class Archetypes
In this article, we start from the opposite end and look at the effect a UML mechanism has on the way we work with our code.
- Getting Dynamic: Java and UML Interaction Diagrams
In this article, we move on to consider another type of UML diagram: the interaction diagram.
- More Symbols, More Diagrams, More UML - Beyond Class and Interaction Diagrams
Other types of diagrams defined in the UML specification may be less directly related to Java source code than the more glamorous class and interaction diagrams, but your UML toolkit is incomplete without them.
- UML Class Diagrams: A Summary of the Basics
Basic shapes and symbols of UML 2.x class diagrams
- UML Sequence Diagrams: A Summary of the Basics
Basic shapes and symbols of UML 2.x sequence diagrams
- Descriptions of Model Elements in UML 2.1 Models
The different types of model elements in the UML 2.1 specification do not have a description property. Initially this looks like an obvious oversight because a textual description is one of the key bits of information of most elements in a model. It would be unthinkable to have classes or components in any serious model without descriptions.
- Is UML out of date?
When UML was created from various methods and notations, the most popular OO languages were Smalltalk and C++. Java was just starting to appear on the horizon. In many ways, the core concepts within UML reflect this situation by mirroring the core concepts in Smalltalk and C++ at that time. Over the last few years, additional concepts have been made more explicit in languages such as Java, Eiffel and C#. UML has needed to be extended to handle these concepts or has left it to 'convention between the user and any modeling tools and code generators'.
In 2010 I spent some time playing with Altova’s UModel, Sparx Systems Enterprise Architect, and Visual Paradigm. For working with class diagrams, none of these are as easy to use as Borland Together, due to many little things like:
- dragging and dropping attributes and operations form one class to another to cut or copy and paste.
- not being bombarded with clutter around a class as soon a I select it
- being able to select an attribute or operation without having to select it’s class first.
I used to complain about Together’s ease of use problems but I now believe starting I had it quite good, and I am still addicted to Together’s LiveSource approach.
I wanted to try IBM’s RSA but I had so many problems trying to install it that I gave up.