To answer this question, you need to understand collaboration diagrams and their characteristics. Let's go through each option to understand why it is correct or incorrect:
Option A) Collaboration diagrams are dynamic models - This option is correct. Collaboration diagrams are indeed dynamic models that represent the interactions between objects in a system. They show the flow of messages between objects and the order in which these messages are exchanged.
Option B) Sequence numbers in collaboration diagrams are optional - This option is incorrect. Sequence numbers are essential in collaboration diagrams as they help to depict the order of messages being exchanged between objects. They ensure that the interactions are represented accurately.
Option C) Collaboration diagrams do not show iteration since that is a low-level implementation detail - This option is incorrect. Collaboration diagrams can depict iteration or looping structures. They can represent repetitive interactions between objects. However, it is important to note that collaboration diagrams focus on the high-level interactions rather than the low-level implementation details.
Option D) Collaboration diagrams cannot show when an object sends itself a message - This option is incorrect. Collaboration diagrams can indeed show when an object sends itself a message. This self-message is represented by an arrow pointing to the same object.
The correct answer is A) Collaboration diagrams are dynamic models. This option is correct because collaboration diagrams are indeed dynamic models that represent the interactions between objects in a system.