*** Welcome to piglix ***

Class diagram


In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.

The class diagram is the main building block of object-oriented modelling. It is used both for general conceptual modelling of the systematics of the application, and for detailed modelling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed.

In the diagram, classes are represented with boxes that contain three compartments:

In the design of a system, a number of classes are identified and grouped together in a class diagram that helps to determine the static relations between them. With detailed modelling, the classes of the conceptual design are often split into a number of subclasses.

In order to further describe the behaviour of systems, these class diagrams can be complemented by a state diagram or UML state machine.

UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them.

To specify the visibility of a class member (i.e. any attribute or method), these notations must be placed before the member's name:

The UML specifies two types of scope for members: instance and classifier, and the latter is represented by underlined names.

To indicate a classifier scope for a member, its name must be underlined. Otherwise, instance scope is assumed by default.

A relationship is a general term covering the specific types of logical connections found on class and object diagrams. UML defines the following relationships:

A dependency is a semantic connection between dependent and independent model elements. It exists between two elements if changes to the definition of one element (the server or target) may cause changes to the other (the client or source). This association is uni-directional.


...
Wikipedia

...