UML: Unified Modeling Language


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 towards un understanding. It becomes the standard for building Object-Oriented software. Actually, the UML contains nine kinds of modeling diagrams:

  1. Use case model
  2. Class diagrams
  3. Object diagrams
  4. Sequence diagrams
  5. Collaboration diagrams
  6. Statechart diagrams
  7. Activity diagrams
  8. Component diagrams
  9. 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 sigle 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 HotelReception has a collection of rooms).
- generalization: : inheritance link indicating one class extends of the other. It has a triangle whcich points to the superclass. Payment is a superclass for Credit and InternetBanking.
- navigability : arrow on an association that shows which direction the association will take. This arrow shows hwo own the other (here HotelReception 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 commun used multiplicities.

MultiplicityNumber of instances
0..1 zero or one -- n..m means n to m
0..*  or  * no limit
1 exactly one
1..* at least one