Choose the correct answer:
Which element in the following sequence diagram could correspond to a signal?

v
B
m
p
In UML sequence diagrams, a signal is typically represented as an asynchronous message without a return value. Asynchronous messages are often denoted with an open arrowhead, and they can represent the sending of a signal.
Looking at the diagram provided, 'p' is sent from 'v2[C]' to 'v3[B]' with an open arrowhead, which indicates that it is an asynchronous message. This fits the common representation of a signal, as it does not expect a response.
'A', 'B', and 'C' do not represent signals in the context of a sequence diagram: A) 'v' is not shown in the diagram; it might refer to a lifeline, which is not a signal. B) 'B' refers to a class or object type and not a message or signal. C) 'm' is represented as a synchronous message (as it has a return arrow), which is not typical for signals.
Therefore, the correct answer is:
D. p
Choose the correct answer:
Which diagram shows inherited properties?
A)

B)

C)

D)Inherited properties cannot be shown In a specialized class.
Option A
Option B
Option C
Option D
In UML, inherited properties are those attributes that are defined in a superclass and inherited by a subclass. According to UML notation, when a subclass inherits from a superclass, it inherits all the attributes and operations of the superclass unless they are redefined.
Let's examine each option:
A. In Option A, the Customer class shows the attributes name and address repeated from the Person class. This is not necessary in UML to show inheritance and could imply these are different attributes that happen to have the same name.
B. In Option B, the attributes of the Person class are not shown in the Customer class. This is correct as UML assumes that all attributes and operations are inherited by the subclass, and there is no need to repeat them unless they are overridden or extended. In this case, the diagram shows inheritance correctly without redundant representation of inherited properties.
C. In Option C, the inherited properties name and address are explicitly marked as inherited. While it's possible to show inherited properties in this way for clarity, it's not necessary and is less common in standard UML class diagrams.
D. Statement D is incorrect because inherited properties can be shown in a specialized class, although it is not a requirement to do so for the properties to be inherited.
Based on the UML 2 Foundation specification, the correct way to depict inheritance without redundantly listing inherited attributes is shown inOption B.
Choose the correct answer:
The stale machine below is in state1:

When does it transition to state2?
When all of el. e2. and e3 occur in any order.
When any one of the events e1. e2. or e3 occurs.
Only when e1. e2. and e3 occur in exactly this order
Never, because a transition cannot have more than one trigger.
The image depicts a state machine with three states labeled "state1" and "state2". Three events,e1,e2, ande3, are shown triggering transitions.
Analyzing the diagram, we can observe that all three events (e1,e2, ande3) are required for the transition from state1 to state2. The events are arranged sequentially, implying a specific order for the transition to occur.
Here's a breakdown of the reasoning for excluding other options:
Therefore, based on the visual representation of the state machine, the correct answer is that the transition to state2 happens only when eventse1,e2, ande3occur in precisely the specified order
Choose the correct answer:
Which statement is correct about an Activity Parameter Node?
It is a kind of Object Node
It is used to model a data store
It is equivalent to an action in or out pin.
It can hold only input parameters, not output parameters.
Here's a breakdown of why option A is correct and why the other options are not:
Activity Parameter Nodes:
Analysis of Other Options
References
Choose the correct answer:
What is the key difference between DataTypes and Classes?
Classes can have operations that show that a class reacts to invocations sent by other classes DataTypes do not have this feature.
DataTypes can only be very simple structures with attributes that are Datatypes as well, whereas Classes can be of arbitrary complexity.
Two instances of a Datatype are considered to be equal when all their attributes have the same values, unlike instances of classes.
Classes can inherit attributes, operations and other features of their super classes. DataTypes can only get instantiated.
DataTypes in UML are a type of classifier that represents a set of values that do not have identity, which means that two instances of a DataType are indistinguishable if all their attributes are equal. This is in contrast to instances of Classes, which are distinguishable by their identity - each instance is considered unique even if their attributes have the same values.
Option A is incorrect because DataTypes can indeed have operations in UML. Option B is also incorrect; DataTypes can have attributes of any complexity. Option D is incorrect because DataTypes can also have features inherited from their super DataTypes; it is not solely about instantiation.
The UML 2.5 specification discusses DataTypes in section 10.5.8, stating that DataTypes do not have an identity and are often used to type attributes and operation parameters. The equality of DataType instances is based on the equality of their attribute values. Classes, however, are described in section 9.2 of the UML 2.5 specification as elements that can have identity, and instances of a Class are distinguished based on that identity.
Choose the correct answer:
Which statement is correct regarding the diagram below?

All of the elements in Package G depend on all of the elements in Package F
All of the elements in Package F depend on all of the elements in Package G.
One or more of the elements in Package G depends on one or more of the elements in Package F.
One or more of the elements in Package F depends on one or more of the elements in Package G.
The dashed arrow with an open arrowhead in the UML diagram represents a dependency relationship. In UML, a dependency is a relationship that signifies that one element, or set of elements, requires another element (or set of elements) for its specification or implementation. This means that changes to the target element(s) (the element(s) that the arrow points to) may cause changes to the source element(s).
The statement "One or more of the elements in Package G depends on one or more of the elements in Package F" correctly describes the nature of a dependency relationship in UML. It indicates that there is at least one element in Package G that requires some element(s) from Package F. This does not necessarily imply that all elements from Package G depend on all elements from Package F.
Therefore, the correct answer is:
C. One or more of the elements in Package G depends on one or more of the elements in Package F.
Choose the correct answer: Consider the following scenario:
The "Withdraw Money" action can only be executed after the amount to withdraw is entered and the account contains sufficient funds. After the action is executed, the account balance is updated.
Which diagram models this scenario
A)


B)

C)

D)

Option A
Option B
Option C
Option D
The correct answer is Option C based on the UML 2 Foundation concepts for activities and pre/postconditions.
Analysis of the Diagram in Option C:
Comparison with Other Options:
References
Choose the correct answer:
What is the defining characteristic of a domain model?
It is a model that is specified using UML diagrams.
It is a model that focuses on the domain requirements of the system
It is a model that captures the main domain concepts and their relationships.
It is a model that represents the domain architecture of the implementation of the system.
A domain model's defining characteristic is that it captures the main domain concepts and their relationships. This model focuses on representing the key elements within the problem domain, outlining how these elements interact with each other without detailing the specific implementations. The domain model is an essential tool in software development for understanding and communicating the fundamental structure of the system from a problem domain perspective, helping teams to design solutions that are well-aligned with actual domain needs. UML is often used to represent domain models due to its capability to visually and clearly model complex relationships and structures.
Choose the correct answer:

The state machine in the diagram below is in the Start state when an event of type Ev occurs. At that time, the value of local variable VAR is equal to zero.
Which stale will the state machine be in after the run-to-completion step triggered by this event completes?
End1
End2
End3
Start
UML 2 state machine concepts, here's the analysis of the state machine's behavior after the event and the most likely answer:
State Transition Triggered by Event Ev:
The state machine starts in the "Start" state. When the event "Ev" occurs, there's a transition leaving "Start" with a condition "[VAR is equal to 0]".
Value of Local Variable VAR:
The prompt specifies that the value of local variable VAR is equal to zero at the time of the event.
State Transition Evaluation:
Since the condition "[VAR is equal to 0]" is true (given VAR's value is zero), the transition from "Start" to state "State1" is triggered.
Completion of Run-to-Completion Step:
Upon reaching "State1", there are no further outgoing transitions or events to consider. "State1" itself has no exit actions specified. Therefore, the run-to-completion step reaches its end at "State1".
Most Likely Answer:
Based on the analysis above, the most likely answer is:
C. End3
Explanation for Other Options:
Possible Ambiguity:
It's important to note that state machines can involve complex logic and actions within states. While "State1" appears to be a terminal state in this case, it's conceivable that there could be hidden actions within "State1" that modify VAR or trigger further transitions. The prompt and the provided image don't provide enough information to definitively rule out such possibilities.
Considering the Absence of Mentioned Ambiguity:
Assuming there are no such hidden actions or unspecified behaviors within "State1", then answer C (End3) is the most reasonable conclusion based on the information available in the prompt and image.
Choose the correct answer:
Given the diagram fragment below:

What are the possible values for the attribute response in the class Query?
Maybe
Yes. No, Maybe
There is insufficient information to determine the answer.
The diagram is not legal UML
The second diagram fragment you provided includes two enumeration types, YesNo and Answer, where YesNo is a generalization of Answer. The class Query has an attribute 'response' of type Answer. Given that YesNo is a generalization of Answer, the possible values for 'response' include the literals of Answer plus those inherited from YesNo. Since Answer includes 'Maybe', and YesNo includes 'Yes' and 'No', all three are valid values for 'response'.
References:
Choose the correct answer:
Exactly two Player Instances are involved in the "Play Tennis" Use Case.
Which diagram depicts this scenario correctly?
A)

B)

C)

D)

Option A
Option B
Option C
Option D
In UML use case diagrams, when specifying the number of actors involved in a use case, a multiplicity marker can be used. The multiplicity marker is a number placed near the actor symbol that denotes how many instances of the actor are involved in the use case.
Option C correctly uses a multiplicity marker of '2' next to the actor 'Player', which indicates that exactly two instances of 'Player' are involved in the "Play Tennis" use case.
Here is a brief explanation of why the other options are incorrect:
A) Option A shows two separate 'Player' actors involved in "Play Tennis" without a multiplicity marker, implying possibly different kinds of players, but does not specify that exactly two instances are required. B) Option B shows two 'Player' actors involved in "Play Tennis" without a multiplicity marker, also not specifying the exact number of instances required. D) Option D uses a multiplicity marker, but it is incorrectly placed near the 'Play Tennis' use case instead of the 'Player' actor, which does not follow UML notation for indicating actor multiplicity.
Therefore, the correct answer is:
C. Option C
Choose the correct answer: Consider the following diagram:

How many object nodes in total are shown?
1
2
3
4
5
6
8
ML 2 Foundation concepts for activity diagrams, there are eight object nodes in total. Here's a breakdown of the elements:
Object Nodes:
Counting the Nodes:
There are eight rectangles that represent object nodes in the diagram (Order, Cust Name, Order Details, New Order, Cust Order, Invoice, OrderAck).
References
Choose the correct answer:
Consider the following diagram:

Which statement is true about the diagram?
Within G you may refer to v:K by gh.H::v. .
From within H it is impossible to reach the v within G.
The package Pckg cannot have two definitions of v as shown in the diagram.
v will indicate different elements depending on where you refer to v within Pckg
The diagram you provided shows two classes, G and H, which are within a package named Pckg. Each class has an attribute named 'v' with different visibility and typeindicators. The attribute 'v' in class G has visibility 'private' (denoted by '-'), and in class H, it is 'protected' (denoted by '#'). This suggests that the scope of each 'v' is limited to its respective class. Therefore, when you refer to 'v' within the package, its meaning depends on the context or the namespace from which it's accessed.
References:
Choose the correct answer:
What represents the most appropriate use of UML during software development?
forcing management decisions
describing a planned or existing system to non-technical stakeholders
capturing and clarifying the business-level concerns of a planned or existing system
capturing the essential characteristics and design decisions of a planned or existing system
The most appropriate use of UML during software development is to capture the essential characteristics and design decisions of a planned or existing system. UML (Unified Modeling Language) is primarily utilized to visually represent the architecture, design, and behavior of a system, which includes detailing the components, relationships, and interactions within the system. This makes it a critical tool for understanding complex systems and making informed design decisions that align with project requirements and constraints. UML facilitates clear communication among development team members and stakeholders, ensuring that design decisions are well-understood and accurately implemented.
Choose the correct answer:
What is the meaning of the relationship shown in the diagram below?

class B is the creator of class A
class A is dependent on class B
class B is dependent on class A
class A can be reached (torn class B
In UML 2, the dashed arrow with an open arrowhead represents a dependency relationship. In the context of class diagrams, a dependency relationship indicates that changes to one class (the independent class) may cause changes in the other class (the dependent class). The direction of the arrow specifies which class is dependent on which. In the given diagram, the arrow points from class A to class B, which means that class A is dependent on class B. This could manifest as class A using some services or functions of class B, for example.
References:
Choose the correct answer:
How is the abstract syntax of UML specified?
using a MOF metamodel
using the Backus-Naur Form (BNF)
using natural language (e.g.. English)
using UML structure and behavior diagrams
The abstract syntax of UML is specified using the Meta-Object Facility (MOF) metamodel. MOF is a modeling language that provides a meta-meta-model at the top layer of the four-layer metadata architecture, which is used to define the metamodels, like the UML. The MOF specification defines the structure and semantics for constructing metamodels, including the UML. By using MOF, UML ensures that its structure is well-defined and can be processed by tools that understand MOF-based metamodels. The use of MOF to specify UML abstract syntax ensures a clear, structured, and standardized method of describing the semantics of UML components, enabling consistent interpretation and implementation across different modeling tools and environments.
Choose the correct answer:
For projects involving complex and strategic systems, what is a key advantage of developing models before starting implementation?
Developing models ensures that all requirements will be addressed.
Models are useful to provide proof of progress to project management.
Models help to establish a consensus among all the project stakeholders.
Modeling helps to convince developers that models are necessary for good design.
For projects involving complex and strategic systems, a key advantage of developing models before starting implementation is that models help to establish a consensus among all the project stakeholders. Creating UML models in the early stages of a project provides a visual and conceptual representation of the system that can be easily understood by various stakeholders, including developers, managers, and clients. This facilitates discussions and negotiations about the system’s design and functionality, helping to ensure that all parties have a shared understanding and agreement on the project’s objectives and solutions before significant resources are invested in implementation.
Choose the correct answer:
Which UML term pair captures complementary ways of looking at a relationship?
include / extend
use / implement
dependency / trace
aggregation / composition
generalization / specialization
The UML term pair that captures complementary ways of looking at a relationship is "aggregation / composition". Both terms describe types of associations between classes but differ in the degree of ownership and lifecycle dependency between the involved objects. Aggregation implies a weaker relationship where the parent class contains or is linked to other classes but does not strictly control their lifecycle (e.g., a university and its students). Composition, on the other hand, implies a stronger relationship where the parent class has full responsibility for the lifecycle of the associated classes (e.g., a house and its rooms). Understanding these relationships helps model systems more accurately in terms of object ownership and lifecycle management.
Choose the correct answer:
Consider the following class diagram:

Which statement is true about the class diagram?
The preferred age to open a bank account is 18 years old or older
Only customers who are 18 years old or older can open a bank account.
The age condition should only hold when the setAge(Integer) function is called
An object of Customer with age set to 18 or greater will raise an exception.
In UML 2, a class diagram is used to depict the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes. The constraint{age >= 18}in thePersonclass diagram indicates a condition that must hold true for the instances of thePersonclass whenever they are used in the context of aBankAccount. This constraint is an invariant of thePersonclass that specifies the rule for the attributeage.
Now, let's consider the provided options and explain why option B is correct:
A. The preferred age to open a bank account is 18 years old or older – This statement is incorrect because the diagram does not indicate a preference; it indicates a constraint or a rule.
B. Only customers who are 18 years old or older can open a bank account – This is the correct statement. The{age >= 18}constraint next to theageattribute of thePersonclass signifies that any instance ofPersonassociated with aBankAccountmust be at least 18 years old. SincePersonis connected toBankAccountwith the role namecustomer, this implies that only persons who are at least 18 can be customers of a bank account.
C. The age condition should only hold when the setAge(Integer) function is called – This statement is incorrect because the constraint{age >= 18}is not a condition that applies only when thesetAgeoperation is invoked. Instead, it is a class invariant that must always hold true for any instance ofPerson.
D. An object of Customer with age set to 18 or greater will raise an exception – This is incorrect because the UML diagram specifies a constraint, not an exception condition. The constraint ensures validity, not the raising of an exception.
The answer is verified according to the UML 2 Foundation documents, such as the UML 2.5 specification, where class diagrams and constraints are defined. The specification states that constraints are semantic conditions or restrictions expressed in natural language text or in a machine-readable language that must hold true for the system being modeled (UML 2.5 specification, section 7.9).
Choose the correct answer:
Which diagram contains only valid relationships?
A)

B)

C)

D)

Option A
Option B
Option C
Option D
In UML Use Case diagrams, there are specific relationships that are valid between actors and use cases, as well as between the use cases themselves:
Let's analyze the provided options:
A) This diagram shows simple associations between actors and use cases, which is a valid relationship in UML use case diagrams.
B) This diagram attempts to use include relationships directly between actors and use cases, which is not correct. The «include» relationship is used between use cases, not between an actor and a use case.
C) This diagram shows a solid line arrow from one use case to another, which is not a recognized relationship in UML use case diagrams.
D) This diagram attempts to use extend relationships directly between actors and use cases, which is not correct. The «extend» relationship is used between use cases, not between an actor and a use case.
Therefore, the only diagram that contains only valid relationships according to UML standards is Option A.
Choose the correct answer:
In the model shown below, what is gained by using the Extend relationship?

The Extend relationships avoid the need for behavior descriptions such as Activities.
The Extend relationship is used here to perform a functional decomposition of the Use case behavior.
This Use Case model could be updated with further payment methods without changing the main Use Cases "Book a car" and "Charge account".
Extend is a taxonomic relationship between Use Cases that extracts general descriptions into the super Use Case "Charge account" to avoid redundant descriptions in the sub Use Cases "Charge credit card" and "Pay with PayPal*.
In UML, the «extend» relationship indicates that the behavior defined in the extending use case (the extension) can be inserted into the behavior defined in the extended use case (the base). The extension occurs only under certain conditions, which are specified by the extension points. This relationship allows for the addition of optional behavior to a use case, which can be activated under certain conditions.
The diagram provided shows an extension relationship where "Charge credit card" and "Pay with PayPal" are extending "Charge account" use case at the "Charging" extension point.
The key benefit of using the «extend» relationship in this context is that it allows for the flexible addition of new behaviors (like new payment methods) without modifying themain use cases. It helps in evolving the system by adding optional behaviors that only occur under certain conditions, which is mentioned as an option:
C. This Use Case model could be updated with further payment methods without changing the main Use Cases "Book a car" and "Charge account".
This means that new payment methods could be incorporated as additional extending use cases in the future, just like "Charge credit card" and "Pay with PayPal".
The other options do not correctly describe the use of the «extend» relationship: A) «extend» relationships do not replace the need for behavior descriptions such as activities. B) It's not about functional decomposition; it's about adding optional or conditional behavior. D) «extend» is not a taxonomic relationship and does not extract general descriptions into a super Use Case; rather, it adds behavior under certain conditions.
Therefore, the correct answer is:
C. This Use Case model could be updated with further payment methods without changing the main Use Cases "Book a car" and "Charge account".
Choose the correct answer:
What is the name of the property represented by the leftmost lifeline in the following diagram?

v[1]
B
v
m
In a UML sequence diagram, a lifeline is identified by a box at the top of a dashed line that represents the presence of an individual participant in an interaction. The box contains the name of the lifeline, and optionally, it can include the object name and its classifier type.
In the diagram provided, the leftmost lifeline is labeledv[1]:B, which denotes an instance namedv[1]of the classifierB. The name of the property that the lifeline represents isv[1], asBis the type of the object that the lifeline represents, andmrepresents a message, not a lifeline.
Therefore, the correct answer is:
A. v[1]
Choose the correct answer:
Which category of stakeholders should have prime responsibility for making decisions on the contents of a domain model, and why?
The customers, as they will own the system when it is delivered
The users, as they will be using the system when it is operational.
All involved stakeholders, as they are knowledgeable and concerned.
The development team, as they are responsible for the final implementation.
Project managers, as they are responsible for delivering the right product to the customer
The testing team, as test-driven design is proven to be an effective approach to development
The system architects, as they are responsible for the design of the system and its proper functioning.
In the development of a domain model, the prime responsibility for decision-making should ideally rest with the users, as they are the ones who will be using the system operationally. Users have the most direct and frequent interactions with the system, making them best positioned to provide relevant insights into what the system should do and how it should behave to meet their needs effectively. While other stakeholders such as customers, project managers, and developers play significant roles, the users’ intimate knowledge of the domain processes and their requirements make them key contributors to ensuring that the domain model aligns closely with real-world application and utility.
Choose the correct answer:
Which statement is always true about the following sequence diagram?

Sending message x is the first occurrence that happens.
Sending message z will happen after receiving message x.
Sending message y will happen before sending message z.
Sending message p will happen before receiving message y.
In the second diagram provided, we see four messages: 'x', 'y', 'z', and 'p'. The vertical positioning of these messages indicates their order in time.
Option A states that "Sending message x is the first occurrence that happens." This could be true but is not necessarily always true, as there could be other messages or interactions before 'x' that are not shown in this part of the diagram.
Option B states that "Sending message z will happen after receiving message x." This is always true because the lifeline for 'v2[C]' shows the reception of 'x' before sending 'z'. In sequence diagrams, the vertical position indicates the sequence of events, and 'z' is clearly below 'x' on the 'v2[C]' lifeline.
Option C, "Sending message y will happen before sending message z," is not necessarily true because the messages 'y' and 'z' are sent by different lifelines, and there is no explicit ordering between them.
Option D, "Sending message p will happen before receiving message y," is not necessarily true as 'p' and 'y' involve different lifelines, and no ordering is specified between these interactions.
Therefore, the correct answer is:
B. Sending message z will happen after receiving message x.
TESTED 16 Jul 2026
