What is the difference between Domain Class Diagrams and Design Class Diagrams?

What is the difference between Domain Class Diagrams and Design Class Diagrams?

Select one:

a. Domain Class Diagrams are exactly the same as Design Class Diagrams

b. Design Classes are in fact not real

c. Domain Class Diagrams are logical while Design Class Diagrams are conceptual

d. Domain Class Diagrams are conceptual while Design Class Diagrams are Logical

Answer: d. Domain Class Diagrams are conceptual while Design Class Diagrams are Logical

 

Explain how domain classes are different from design classes.

During the analysis phase of a software engineering project, domain models are developed as descriptions of a problem domain that are not dependent on any particular solution. It is common practice to refer to the “domain model” when the “conceptual model” is meant to be used instead. It is possible for a domain model to contain not only descriptions of the domain’s state structure (as found in conceptual information models) but also descriptions of the domain’s processes (in conceptual process models). They are solution-independent, sometimes known as “computation-independent,” in the sense that they are not concerned with making any system design decisions or with other computational concerns. This makes them able to solve problems without regard to how those problems are solved. Instead, they centre their attention on the point of view and terminology used by subject matter experts for the domain that is being considered.

During the design phase, a platform-independent design model is first produced on the basis of the domain model. This platform-independent design model serves as a generic computational solution to the software engineering challenge that has been presented. The same domain model has the ability to be utilised to build many (even drastically different) design models that each reflect a distinct set of design options. After that, one or more platform-specific implementation models are derived from the design model by taking into consideration a number of implementation issues ranging from architectural styles, nonfunctional quality criteria to be maximised (such as performance and adaptability), and target technology platforms. These implementation issues range from the design model itself to architectural styles.