nus-cs2103-AY2223S2 / forum

12 stars 0 forks source link

Practice Paper part 3 Q15 #417

Open seadragon2000341 opened 1 year ago

seadragon2000341 commented 1 year ago

Hi, why is the answer Class diagram here? From the textbook: "Class diagrams can also be used to model objects in the problem domain (i.e. to model how objects actually interact in the real world, before emulating them in the solution). Class diagrams that are used to model the problem domain are called conceptual class diagrams or OO domain models (OODMs)."

I chose sequence diagram instead, because from the textbook "OODMs represents the class structure of the problem domain and not their behavior, just like class diagrams. To show behavior, use other diagrams such as sequence diagrams."

Thank you!

image

BoAi01 commented 1 year ago

I am wondering about this as well. Welcome any explanations..

venuslimm commented 1 year ago

Actually I am also confused about this as week 10's lecture slide 7 says that "Anything (not just UML diagrams) that can represent the problem domain can be used for domain modelling.", which means class diagrams can be used for domain modelling but class diagram isn't an answer for this in-lecture question.

Is class diagram the answer for the practice paper question because class diagram can model objects in the problem domain using solution-specific classes but it cant represent the problem domain itself?

SPWwj commented 1 year ago

Actually I am also confused about this as week 10's lecture slide 7 says that "Anything (not just UML diagrams) that can represent the problem domain can be used for domain modelling.", which means class diagrams can be used for domain modelling but class diagram isn't an answer for this in-lecture question.

Is class diagram the answer for the practice paper question because class diagram can model objects in the problem domain using solution-specific classes but it cant represent the problem domain itself?

I guess from this question the class diagram is used to model the solution domain.

Explanation: Both are UML diagrams, and use the class diagram notation. While it is true that often a class diagram may have more classes and more details, the main difference is that the OO domain model describes the problem domain while the class diagram describes the solution.

damithc commented 1 year ago

Good question. The expected answer is Class Diagrams because we use OODMs instead of class diagrams for modelling the problem domain. But I understand that it could be confusing because OODMs are technically a type of class diagrams, and because OODM doesn't appear in the list of options. There was a few times the point 'class diagrams are for the solution domain, OODMs are for the problem domain' was mentioned.

image

In hindsight, I should have added OODM to the answer options.

joellow88 commented 1 year ago

Adding on with a follow up question, why is organization chart not the answer? From searching in the module textbook, the term organization chart was not mentioned, and from my understanding, it does not even model relationships relevant to software (rather showing the hierarchy in a team).

SPWwj commented 1 year ago

Adding on with a follow up question, why is organization chart not the answer? From searching in the module textbook, the term organization chart was not mentioned, and from my understanding, it does not even model relationships relevant to software (rather showing the hierarchy in a team).

I think we need this piece of infomation to model the problem, as it supplies pertinent details, including who is responsible for approving leave requests and the corresponding applicants.

damithc commented 1 year ago

I think we need this piece of infomation to model the problem, as it supplies pertinent details, including who is responsible for approving leave requests and the corresponding applicants.

Yup, domain modelling can use other relevant models (no need to limit to UML). Thanks @SPWwj