As a follow-up on my previous post:
http://groups.google.com/group/xpdian-uml/t/254c88baea344daa
I would like to take the opportunity to highlight the diagrams useful
for the modelling of systems.
In the context of this post I would like to define systems modelling
as the set of models needed for defining a system on a platform
independent level as is defined by the PIM (Platform Independent
Model) layer of the Object Management Group's MDA (Model Driven
Architecture).
At the platform independent layer of models we intend to describe the
system from the point of view of what the requirements are necessary
to support the business system, or need. This implies that the system
is described independently from the technology, or platform, within
which the system will be implemented.
Before deciding the diagrams to be used for modelling the system, it
is important to consider the audience of the models (all UML diagrams
are optional). Systems models have as an audience the business people
(users/customers/business players) as well as the technical people
(system analysts/DBA/system configurators). The decision of what
models to build (what UML diagrams to be used) should be taken with
the audience.
Another source that will assist in the selection of the models is the
methodology, or process, to be used. This often specifies the types of
models to be prepared in a well planned project.
The subset of UML diagrams useful to platform independent systems
modelling are:
1. Package diagrams - package diagrams are used to divide the entire
scope into smaller more manageable pieces and are used to describe the
dependencies between the packages.
2. Use case diagrams - use case diagrams are useful to define the
system roles (actors) and the system functions (system use cases).
3. Class diagrams - useful for identifying system classes about which
information is to be collected and managed and the relationships
between these system classes.
4. Composite structure diagrams - to model the internal structure of
use cases and classes. These may be used to show how system classes
collaborate within the execution of a system use case, or describe the
internal structure of the parts within a system class.
5. Interaction Overview Diagrams - to model system processes. The
interaction overview diagram is used to tie together system sequences
into a systems workflow, or process.
6. Sequence diagrams - to model system sequences which describe
interaction between system actors and system objects while remaining
system and platform independent.
7. Communication diagrams - also used for modelling system sequences,
but with the focus of understanding the collaboration between the
actors and objects within the system.
8. State machine diagrams - to model and explain the system entity
lifecycles in the system from creation to archival and more.
The abovementioned diagrams would give any audience a comprehensive
description of a system and would form a marvellous basis for system
design models.
Happy modelling!