1.
Which of the following best describes a lifeline?
Correct Answer
D. A participant in an interaction
Explanation
A lifeline in a sequence diagram represents a participant in an interaction. It is typically depicted as a vertical dashed line extending downwards from the participant's name. The lifeline shows the existence of the participant over time and represents the flow of messages between different participants in the system.
2.
Interaction diagrams are verbatim transcriptions of a use case.
Correct Answer
B. False
Explanation
Interaction diagrams are not verbatim transcriptions of a use case. Interaction diagrams, such as sequence diagrams and communication diagrams, are used to visualize the interactions between objects or components in a system. They focus on the flow of messages and the order of interactions, rather than providing a detailed description of the use case itself. Therefore, the statement that interaction diagrams are verbatim transcriptions of a use case is false.
3.
In analysis, the focus is on creating a conceptual model, while in design, the purpose is to specify:
Correct Answer
A. A pHysical model
Explanation
In the analysis phase, the focus is on creating a conceptual model, which is an abstract representation of the system. On the other hand, in the design phase, the purpose is to specify the details and components of the system, including a physical model. A physical model represents the physical aspects of the system, such as hardware components, network infrastructure, and database design. Therefore, the correct answer is a physical model.
4.
Designers should always couple one class to another for the purpose of reusing code in the target class.
Correct Answer
B. False
Explanation
Coupling one class to another does not necessarily guarantee code reuse in the target class. Code reuse can be achieved through various mechanisms such as inheritance, composition, or interfaces. Coupling classes too tightly can actually lead to dependencies and make the code more difficult to maintain and modify. Therefore, it is not always necessary or recommended to couple classes for the sole purpose of code reuse.
5.
State invariants show the lack of state changes on a lifeline.
Correct Answer
B. False
Explanation
State invariants actually represent the conditions that remain unchanged throughout the lifetime of an object. They are used to ensure that certain properties or constraints are always satisfied. Therefore, state invariants do not indicate the lack of state changes on a lifeline, but rather the consistency of the object's state over time.
6.
Which of the following are formally identified as inputs to analyzing a use case?
Correct Answer(s)
A. Requirements model
C. Architecture description
D. Use case model
E. Business model
Explanation
The inputs to analyzing a use case include the requirements model, architecture description, use case model, and business model. These inputs provide the necessary information and context for understanding and analyzing the use case. The requirements model outlines the functional and non-functional requirements of the system, while the architecture description defines the structure and components of the system. The use case model describes the interactions between the system and its actors, and the business model provides an understanding of the organization's goals and processes. Analyzing these models helps in identifying the requirements and constraints for the use case.
7.
The Unified Process recommends having separate teams of analysts and designers.
Correct Answer
B. False
Explanation
The Unified Process does not recommend having separate teams of analysts and designers. Instead, it promotes a collaborative and iterative approach where analysts and designers work together as part of a cross-functional team. This allows for better communication, understanding, and alignment between the different roles, resulting in a more efficient and effective development process.
8.
Design classes come from which TWO main sources?
Correct Answer(s)
C. Solution domain
D. Problem domain
Explanation
Design classes come from the solution domain and the problem domain. The solution domain refers to the domain in which the software solution is being developed, while the problem domain refers to the specific area or industry for which the software solution is being designed. Both of these domains play a crucial role in determining the design classes and their relationships within a software system.
9.
Bi-directional relationships are reified into two opposing uni-directional ones.
Correct Answer
A. True
Explanation
Bi-directional relationships refer to a type of relationship where two entities are connected and can interact with each other in both directions. Reifying a bi-directional relationship means representing it as two separate uni-directional relationships, each going in one direction. This allows for easier management and understanding of the relationship between the entities. Therefore, the given statement that bi-directional relationships are reified into two opposing uni-directional ones is true.
10.
Which THREE of the following are considered interaction diagrams?
Correct Answer(s)
D. Communication diagrams
E. Sequence diagrams
F. Interaction overview diagrams
Explanation
Communication diagrams, Sequence diagrams, and Interaction overview diagrams are considered interaction diagrams because they all depict the interactions between objects or components in a system. Communication diagrams show the flow of messages between objects, Sequence diagrams show the chronological order of messages between objects, and Interaction overview diagrams provide a high-level overview of the interactions between objects. These diagrams are used to model the dynamic behavior of a system and are commonly used in software development to analyze and design the interactions between different components or objects.
11.
The combined fragments that are particularly useful for branching are:
Correct Answer(s)
B. Alt
D. Opt
Explanation
Alt (alternative) and Opt (optional) combined fragments are particularly useful for branching in sequence diagrams. Alt combined fragment represents a choice between multiple alternative paths, where only one path is executed based on a condition. Opt combined fragment represents an optional path that may or may not be executed based on a condition. These combined fragments allow for modeling different scenarios and decision-making processes within the sequence diagram, making it easier to understand the flow of events and possible outcomes.
12.
Design models are made up of:
Correct Answer(s)
A. Design subsystems
B. Deployment diagram
C. Interfaces
D. Design classes
Explanation
Design models are made up of design subsystems, deployment diagrams, interfaces, and design classes. These components are essential in creating a comprehensive design for a system. Design subsystems help organize and divide the system into manageable parts. Deployment diagrams depict the physical arrangement of components and how they interact in a system. Interfaces define the interactions between different components or systems. Design classes represent the structure and behavior of the objects in the system. Together, these elements form the foundation of a design model, allowing for a clear and systematic representation of the system's architecture and functionality.
13.
Which is the most desirable combination for designing classes?
Correct Answer
B. Low coupling, high cohesion
Explanation
Low coupling refers to the degree of interdependence between classes. When classes have low coupling, they are loosely connected and can be easily modified or replaced without affecting other classes. High cohesion refers to the degree to which the responsibilities of a class are related and focused. When classes have high cohesion, they have a clear and specific purpose, making them easier to understand and maintain. Therefore, the most desirable combination for designing classes is low coupling and high cohesion, as it promotes modularity, flexibility, and maintainability in the codebase.
14.
The operand for an interaction occurrence (interaction use) is:
Correct Answer
Ref
ref
Ref fragment
ref fragment
Ref Fragment
Explanation
The correct answer is "Ref, ref, Ref fragment, ref fragment, Ref Fragment". An interaction occurrence (interaction use) in a UML sequence diagram can have multiple operands, which represent the messages exchanged between the lifelines. The operands can be references to other interaction occurrences (ref) or references to fragments of the interaction (ref fragment, Ref Fragment). Therefore, all of the given options are valid operands for an interaction occurrence.
15.
In which of the following scenarios should one preserve the analysis model?
Correct Answer(s)
A. Understanding the logical architecture of the system
B. System of strategic value
E. Large complex system
F. Providing requirements traceability
Explanation
Preserving the analysis model is important in scenarios where there is a need to understand the logical architecture of the system, especially in large complex systems. It is also necessary for systems of strategic value, as they require detailed analysis to ensure their success. Additionally, preserving the analysis model is beneficial for providing requirements traceability, as it helps in tracking and documenting the relationship between requirements and the system design. However, it may not be necessary to preserve the analysis model for systems that are not strategic or have a short projected lifespan.
16.
Association classes are pure analysis artifacts.
Correct Answer
A. True
Explanation
Association classes are pure analysis artifacts because they are used to represent a relationship between two or more classes in a conceptual or abstract manner, without any implementation details. They help in understanding and modeling complex relationships between classes in a system. Association classes are not directly implemented in the code but are used during the analysis phase to capture and document the relationships between classes. Therefore, the statement "Association classes are pure analysis artifacts" is true.
17.
The inputs and outputs of interactions are handled by:
Correct Answer
D. Gates
18.
Most design work is done as you move from _____ to ______
Correct Answer
C. Elaboration to Construction
Explanation
In the software development life cycle, the elaboration phase is where the requirements are analyzed and refined, and the high-level design is developed. This phase focuses on gathering all the necessary information and defining the system architecture. Once the elaboration phase is completed, the project moves into the construction phase, where the actual coding and implementation take place. Therefore, it can be concluded that most design work is done as you move from the elaboration phase to the construction phase.
19.
Which of the following is the highest form of coupling between classes?
Correct Answer
A. Generalization
Explanation
Generalization is the highest form of coupling between classes because it represents an "is-a" relationship between classes, where one class is a more specialized version of another class. In generalization, a superclass is created to represent common attributes and behaviors, and subclasses inherit from the superclass to add or modify specific attributes and behaviors. This form of coupling is considered high because changes to the superclass can affect all its subclasses, and any changes in the subclasses can also impact the superclass.
20.
Which of the following is NOT a type of message in an interaction diagram?
Correct Answer
B. Self-delegation
Explanation
Self-delegation is not a type of message in an interaction diagram. In an interaction diagram, messages are used to represent communication between objects or components. The other options, such as Return, Synchronous, and Creation, are all valid types of messages that can be depicted in an interaction diagram. However, self-delegation refers to a situation where an object delegates a task to itself, which does not involve communication between different objects or components.
21.
Multiple inheritances allow:
Correct Answer
C. A class to have more than one superclass
Explanation
Multiple inheritances allow a class to have more than one superclass. This means that a class can inherit attributes and methods from multiple parent classes, allowing for greater flexibility and code reuse. With multiple inheritances, a class can combine the characteristics and behaviors of multiple superclasses, enhancing its functionality and versatility.
22.
The combined fragments that are particularly useful for iteration are:
Correct Answer(s)
B. Break
C. Loop
Explanation
Break and Loop combined fragments are particularly useful for iteration. The Break fragment is used to terminate a loop prematurely, allowing the program to exit the loop and continue with the next iteration or code outside the loop. The Loop fragment is used to repeat a set of statements multiple times until a certain condition is met. By combining these two fragments, programmers can create loops that can be terminated early based on specific conditions, making them efficient and flexible for iterating over a set of instructions.