Unified Modelling Language
The Unified Modelling Language (UML) was developed to enable the
modelling of a variety of crucial aspects of systems. The UML enables a
system designer to move between models that elucidate a variety of aspects of
the system under construction. The models are created either directly in a tool
or by reverse engineering of previously written code. In the latter case, the
tool creates a model that corresponds with the code: the better quality tools
enable not only reverse engineering, but "round trip"
development.
We use Rhapsody®, which is developed by Telelogic as our UML
platform. It offers a comprehensive implementation of the UML, which is particularly suited to the
development of real time and embedded applications.
The UML enables a system designer to move between models that elucidate a
variety of aspects of the system under construction.
-
Use Case diagrams define the structure of the specification of the system. The
Use Cases themselves will typically be linked with documentation
managed by a requirements management tool, which defines them.
-
Scenarios are models of a particular sequence of events that take place inside
a system as part of a Use Case. They enable the designer to experiment with
aspects of the system to verify that it will implement a part of the
specification correctly.
-
Class diagrams may be created to define the logical structure of the code in a
system. They help the designer to partition the system into components of
suitable sizes and to identify where previously
written code may be imported to assist the system's construction.
-
State diagrams enable the designer to consider how objects (and possibly Use
Cases) function in the system in a formal manner.
-
Activity diagrams model the flow of control through a system whilst it is being
developed.
-
Component diagrams define the physical structure of a software system. The
modelled components effectively control how the software is partitioned into
modular components.
Overall, these models form both a basis for experimentation with a system under
construction and the means by which the system implementation may be linked
with its specification.
A Use Case specification is defined by identifying the things with which your
system interacts (called "Actors"). Your system performs a number of services
on behalf of these Actors, which are its "Use Cases". A single Use Case is the
definition of a logical flow of functionality in your system.