Domain Class diagram is about providing the overview of the system in which the objects and the classes are described in the system and the relationship between them. The main advantage of domain class diagram is that it provides the number of a variety of usages to the user such as modelling the domain-specific data structure to the detailed design of the system. There is a share model facility in the domain class diagram which makes it reusable for the interaction diagram for modelling detailed design of dynamic behaviour.
There are various notations that are used in the domain class diagram such as General Issues, Classes, Interfaces, Relationships, Inheritance and Aggregation and composition.
General Guidelines: The class diagrams are used for various purposes such as to know or understand the requirement and describing the detailed design. It is necessary to analyse the requirements and must design the versions of the class accordingly. The classes must be associated with the each other according to their relationship to each other. It is necessary to identify responsibilities on Domain Class Diagrams and indicate the visibility only in design models.
Class Style Guidelines: A class in Domain Class Diagram is expressed as a template from which the objects are created such as students; professors are objects from school management system. Instead of using every entity as an object, the group of similar or same category entities are considered as one object. In classes, there are attributes, information regarding the object, operations and the functionality which are supported by the objects. The classes also classify the relationship between each other and realise the interfaces.
Interfaces: The interface in the domain class diagram is a collection of operation signatures and attributes definitions that define a set of behaviours in the system. The interfaces are generally used by the classes to represent the relation of one class with other. Any class in the domain class diagram can have nun or more interfaces, and one or more classes can implement same interfaces.
Inheritance Guidelines: The inheritance models “is a” relationship that allows the reuse of the existing data in the system. For example, when class A inherits the properties of class B, it is considered that class A is a subclass of class B and class B is a superclass of class A. There are some guidelines that must be considered such as:
- Apply the sentence rule
- Beware of data-based inheritance
- Place subclass below superclass
- There should be everything inherit by the subclass from the superclass.
Aggregation and Composition Guidelines: In domain class diagram, the combination of different objects makes one object. Aggregation is an association that creates the relationship between two objects. The composition is far stronger than a form of aggregation where the whole part has coincident lifetimes.
The domain model is a conceptual model in database modelling that represents the entities and attributes that will be included in a database system. In domain model, there are three types of models such as:
- Domain Models: Domain models are those models that are resulted from the domain engineering in the system analysis phase of the system development lifecycle.
- Design Models: The design models are prepared from the system design activities in the description phase of system development.
- Implementation models: The implementation models are those which are derived from the design models.
The domain class diagram helps in providing the solution-independent descriptions for the problems that are identified in the analysis phase of information system development life cycle. The domain model is also known as a conceptual model as it contains both descriptions of domain’s state structure and its processes. In the design phase of the information system development lifecycle, a platform-independent model is designed which must be based on the domain model. The domain model can be utilised to produce different design models that represent different design choices. There is the difference between domain model diagrams and design model diagrams. In UML diagram which represents domain model, the arrows are not used to show the link between entities. The classes are linked with each other through line which specifies the relationship between the classes. The text annotation over the line can be used to illustrate relation.