This page is for anyone who wants to understand the basic implementation concepts behind the UML modeling tool ArgoUML. You should know Java and UML a little bit to understand everything here. For the authors of this page, it sometimes might be hard to keep things understandable, especially for the super-experts among them, so please help by adding comments like "Argh I'm bailing out here!" or "WHAT?" in big bold letters, so that others can fix it. If you feel guilty for only adding such nasty todos, you can in return fix some typos or beautify this page a little bit. ;-)
So, let's have fun! (hopefully)
ArgoUML is a tool for graphically designing UML models. So, after saving your work you'd expect that whatever you designed is stored somewhere (in a file), so you can later continue working on it. But what entities are created under the hood that make up your UML design? Basically two things:
- the model
- the diagrams
We will explain later what these two consist of in more detail, and how they are handled inside ArgoUML. As a first step, see if you can understand this: the model is a set of nonvisual entities with relations between each other, while the diagrams are just views or visualizations of the entities in the model. Can you get an imagination? (If not, then maybe put some marking comment here.) Let's describe the model a little bit more in the next section.
The UML model
If you strip all visual aspects from your UML design, you end up with (UML specific) entities that are nothing more than just a bunch of objects somewhere in memory. They are instances of all the know elements of UML, like: classes, associations, actors, lifelines, states and so on.
When looking at ArgoUML with the background knowledge about models and diagrams, one starts thinking which parts deal with the model or model elements, which other parts address the diagrams, which parts work with both or even with none of them (these parts do exist!). Distinguishing between model and diagram gains a much deeper understanding on how ArgoUML works than just viewing this tool as some graphical editor! Let's first go through the for most obvious parts with this new perspective.
The explorer pane
The details pane
The property pane
The todo pane