UML Introduction : rev. 2006-06-13 by FipS
For a programmer it is fundamental to know a programming language. Often, it
is the only thing you need to develop a software application. However, when
applications become huge or complicated, it is time to sit and plan a bit
before one starts coding. There are many approaches to the process. It is
usually necessary to involve some kind of hand-written diagrams to
figure out the overall design.
Those personal diagrams are OK and help one to face the complexity. The
real problem arises when there are more developers involved in the design /
implementation process. Then it is convenient to introduce some common
notation. At present it is worth taking a look at
[ UML ]
(Unified Modeling Language).
If you come across the UML for the first time it could be quite
confusing. Especially for a pragmatic programmer all those UML
diagrams might seem rather vague. Of course, it is the purpose of
UML to hide low-level details for the most part, however If you want
to discuss the design with skilled persons I prefer to be much more
concrete (as is possible in personal diagrams).
The motivation for the following chapters is to take a look at
UML from the C++ programmer's point of view. I will try
to find connections between C++ and UML constructs and
hopefully be able to express low-level details. For that purpose, I
have chosen a great UML tool. It is
[ BOUML ] by
Bruno Pagès. It is fast, free and I am pleased that I
have been even able to force BOUML to generate
std::vector-like code...
Finally, I would like to point out that I am not an UML expert!
Everything presented here is a product of my effort to understand and
take advantage of UML in my everyday programming.
[ Comments here... ]