In a sequence diagram, which element correctly represents a synchronous message between two objects?
Think about how synchronous calls are shown as direct requests expecting a response.
A synchronous message is shown as a solid arrow with a filled arrowhead pointing from the caller to the callee, indicating a direct call that waits for a response.
Given a sequence diagram for a user login process involving User, Web Server, Authentication Service, and Database, which step correctly follows the user's login request?
Consider the typical flow of authentication in layered systems.
The user sends credentials to the Web Server, which then forwards them to the Authentication Service for verification before querying the Database.
How does adding multiple microservices to a system affect the complexity of its sequence diagram?
Think about how each microservice is represented as a separate participant.
Each microservice adds a lifeline and messages, increasing diagram complexity and requiring careful organization to maintain clarity.
Which option correctly represents asynchronous messages in a sequence diagram and explains its tradeoff?
Recall the standard UML notation for asynchronous messages.
Asynchronous messages are shown as dashed arrows with open arrowheads, which can make diagrams more complex but clearly indicate non-blocking calls.
If a system has 5 components and each component interacts with 3 others exactly once in a sequence diagram, what is the maximum number of messages shown?
Multiply the number of components by the interactions per component.
Each of the 5 components sends 3 messages, so total messages = 5 * 3 = 15.