1. Preface
UML stands for Unified Modeling Language. Modeling a system is the main
idea in object-oriented problem solving. The UML is a graphical language
that sketches the steps of a real world problem toward understanding.
It becomes the standard for building Object-Oriented software. Actually,
the UML contains nine kinds of modeling diagrams:
|
- Use case model
- Class diagrams
- Object diagrams
- Sequence diagrams
- Collaboration diagrams
- State-chart diagrams
- Activity diagrams
- Component diagrams
- Deployment diagrams
|
2. The models
2.1. Use case diagrams
This first kind, as a scenario, describes what happens when an external
observer, which is an actor, interacts with a system (use case).
It represents a discrete unit of interaction between a user and the system.
The connection between an actor and a use case is called communication (or
communication association). In a set of single discrete units, many actors could have
communication with a single use case, or a single use case could have
interaction with many actors (actor could be human or machine entity).
Booking a room in a hotel, is an example of the Use case model.
2.2. Class diagram
UML class notation is a rectangle with three parts:
class name, attributes (properties or instances), and operations
(methods). Names of abstract classes (interfaces), are written in
italics.The association between classes are the connecting links.
In class diagram, we can find the following relationships:
- association : relationship between instances of the two classes.
- aggregation : association in which one class is a collection.
(It has a diamond end pointing to the collection class: here
Hotel Reception has a collection of rooms).
- generalization: : inheritance link indicating one class
extends of the other. It has a triangle which
points to the superclass. Payment is a superclass for Credit
and Internet Banking.
- navigability : arrow on an association that shows which direction the association
will take. This arrow shows who own the other (here Hotel Reception owns
payment class). An associations with no navigability arrows is bi-directional.
The multiplicity of an association is the number of possible instances of the class
associated with a single instance of the other class. Multiplicities are single numbers or
ranges of number.
Here are the most common used multiplicities.
Multiplicity | Number of instances |
0..1 |
zero or one -- n..m means n to m |
0..* or * |
no limit |
1 |
exactly one |
1..* |
at least one |
|