Domain Modelling
A conceptualization process that aims to identify important domain concepts, their properties, and relationships between the concepts. The result is portrayed in a diagram called a domain model.
Extensional definition
Defines a concept by enumerating instances of the concept.
Intentional definition
Defines a concept through specification of properties and behaviours that instances of the concepts possess.
UML class diagram
A structural diagram that depicts the classes and their attributes and relationships between the classes.
A class
A type, an intentional definition of a concept. A class encapsulates its attributes and operations that characterize the instances of the class. An object is an instance of a class.
Why Domain Modeling?
● Domain modelling helps development team for the analyst understand the application and the application domain.
● Domain modelling lets the team members communicate and improve the common perception of application and application domain.
● Domain modelling helps a development team communicate their perception to the consumer or users and seek feedback.
● Domain modelling provides a common conceptual basis for the subsequent design, implementation testing and maintenance.
● A domain model can help new team members understand the relevant application and application domain.
Association
A relation between one or more classes. It states that objects of one class may relate to objects of other classes.
Multiplicity and Role
Multiplicity of a class with respect to an association is an assertion on the number of instances of the class that may relate to each combination of one instance of each of the other classes in the association.
Aggregation
A binary relation between two classes. It states that objects of one class is apart of another object class.
Inheritance
A binary relation between two concepts or classes such that one concept of class is a generalization or specialisation of the other.
Polymorphism
Means that one thing can assume different forms.
Association Class
A special class that defines properties and behaviours for the instances of an association.
Steps for Domain Modeling
Guidelines for domain Modeling
Apply Agile Principles to Domain Modeling
Domain Model Review Checklist