C5: Domain Modeling Flashcards

1
Q

Domain Modelling

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Extensional definition

A

Defines a concept by enumerating instances of the concept.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Intentional definition

A

Defines a concept through specification of properties and behaviours that instances of the concepts possess.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

UML class diagram

A

A structural diagram that depicts the classes and their attributes and relationships between the classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A class

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Why Domain Modeling?

A

● 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Association

A

A relation between one or more classes. It states that objects of one class may relate to objects of other classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Multiplicity and Role

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Aggregation

A

A binary relation between two classes. It states that objects of one class is apart of another object class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Inheritance

A

A binary relation between two concepts or classes such that one concept of class is a generalization or specialisation of the other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Polymorphism

A

Means that one thing can assume different forms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Association Class

A

A special class that defines properties and behaviours for the instances of an association.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Steps for Domain Modeling

A
  1. Collecting application domain information
  2. Brainstorm
    1. Focus on domain specific or domain relevant concepts and relationships.
    1. Ignore design and implementation concepts.
  3. Classifying brainstorming results
  4. Visualising the domain model
    1. Domain Model and class diagram - A domain model is visualised buy a class diagram in which the classes do not show any operations.
    1. Using aggregation
    1. Using inheritance - Use Inheritance only if instance of a subclass is also instance of a superclass. Use Inheritance only if all relationships of the superclass are also relationships of the subclass.
  5. Reviewing the domain model
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Guidelines for domain Modeling

A
  1. The team members should perform brainstorming and classification as team activities rather than individual activities.
  2. Brainstorm first then classify.
  3. Each brainstorming in classification session should last 1 to 2 hours.
  4. Each brainstorming and classification session should be effectively coordinated.
  5. Do not draw UML class diagrams during brainstorming and classification sessions.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Apply Agile Principles to Domain Modeling

A
  1. Work closely with the customers and users to understand the application and application domain.
  2. Perform domain modelling only if the team needs to understand the application domain keep the domain model simple and expanded incrementally.
  3. Domain modeling may be performed simultaneously with actor-system interaction modeling, object interaction modeling, object state modeling, and/or activity modeling.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Domain Model Review Checklist

A
  1. Does the domain model contain most of the important classes in the application domain?
  2. Does the domain model show all important application domain relationships?
  3. Does each relationship in the domain model correctly represent the corresponding real-world relationship?
  4. Are there any important multiplicity constraints missing or incorrectly specified?
  5. Does the domain model contain any design or implementation classes?
  6. Are there any classes used as attributes?