Using UML when describing application design.
The Unified Modeling Language is a powerful tool for designing application and describing its behavior, architecture, and implementation.
In this article I will illustrate the most basic aspects of UML when modeling classes.
Classes represent the most fundamental aspect of objects within an application.
They serve as a template used to describe data and behavior.
Here is an example Employee class that may be used to create many Employee objects.
Interfaces describe behavior shared among many different types of objects and serve as an excellent way to implement contracts among objects to ensure consistency within the API.
Inheritance promotes code reuse by defining a parent class (superclass) in which you place functionality common to many similar types of objects.
Child classes that are defined using the parent class are called subclasses.
This type of relationship is sometimes referred to as “is-a” relationship.
Aggregation is a type of composition which describe a relationship between two objects where one contains (part of) another.
This type of relationship is sometimes referred to as “has-a” relationship.

Association is a type of association which describes where one object performs a service for another. This type of relationship is sometimes referred to as “has-a” relationship.
Cardinality describes how many objects take part in the composition between objects.




