The Unified Modelling Language
has quickly become the de-facto standard for building
Object-Oriented software. This short tutorial
provides a very high level introduction to UML,
and suggests some further reading.
But first... What is UML?
The OMG
specification states:
"The Unified Modeling
Language (UML) is a graphical language for visualizing,
specifying, constructing, and documenting the
artifacts of a software-intensive system.
The UML offers a standard way to write a system's
blueprints, including conceptual
things such as business processes and system functions
as well as concrete things such
as programming language statements, database schemas,
and reusable software
components."
The important point to note
here is that UML is a 'language' for specifying
and not a method or procedure. The UML is used
to define a software system; to detail the artifacts
in the system, to document and construct - it
is the language that the blueprint is written
in. The UML may be used in a variety of ways to
support a software development methodology (such
as the Rational Unified Process) - but in itself
it does not specify that methodology or process.
UML defines the notation
and semantics for the following domains:
| -
|
The User Interaction
or Use Case
Model - describes the boundary
and interaction between the system and users.
Corresponds in some respects to a requirements
model. |
| - |
The Interaction or Collaboration
Model - describes how objects in the system
will interact with each other to get work
done. |
| - |
The State or Dynamic
Model - State
charts describe the states or conditions
that classes assume over time. Activity
graphs
describe the workflows the system will implement. |
| - |
The Logical
or Class Model -
describes the classes and objects that
will make up the system. |
| - |
The Physical Component
Model - describes the software (and
sometimes hardware components) that make
up the system. |
| - |
The Physical
Deployment Model - describes the physical
architecture and the deployment of components
on that hardware
architecture. |
The UML also defines extension
mechanisms for extending the UML to meet specialised
needs (for example Business Process Modeling
extensions).
Part
2 of this tutorial expands on how you use
the UML to define and build actual systems.
See also Business Process Modelling
If you have any suggestions
or comments on the material here, please forward
your thoughts to ea@compile.co.il.
|