The editorial team at ProProfs Quizzes consists of a select group of subject experts, trivia writers, and quiz masters who have authored over 10,000 quizzes taken by more than 100 million users. This team includes our in-house seasoned quiz moderators and subject matter experts. Our editorial experts, spread across the world, are rigorously trained using our comprehensive guidelines to ensure that you receive the highest quality quizzes.
If a Customer actor is a generalization of a Sales Agent actor then:
A.
Customer and Sales Agent always can trigger the exact same number of use cases
B.
The use cases of Customer and Sales Agent are independent of one another
C.
Sales Agent can trigger all use cases connected to Customer
D.
Customer can trigger all use cases connected to Sales Agent
Correct Answer
D. Customer can trigger all use cases connected to Sales Agent
Explanation If a Customer actor is a generalization of a Sales Agent actor, it means that Customer inherits all the attributes and behaviors of Sales Agent. Therefore, Customer can trigger all the use cases connected to Sales Agent because it has all the capabilities and functionalities of a Sales Agent. This indicates that the use cases of Customer and Sales Agent are not independent of one another, as Customer can perform all the actions that a Sales Agent can perform.
Rate this question:
2.
Generalization of actors and use cases invoke which main principle:
A.
Specificity
B.
Conformity
C.
Multiplicity
D.
Encapsulation
E.
Substitutability
Correct Answer
E. Substitutability
Explanation The principle of substitutability refers to the ability to replace one object or component with another without affecting the overall functionality or behavior. In the context of actors and use cases, this principle implies that different actors can be substituted for each other, or different use cases can be substituted for each other, as long as they fulfill the same role or provide the same functionality. This allows for flexibility and adaptability in the system design, as changes can be made without impacting the overall structure and functionality.
Rate this question:
3.
Generalization requires <<abstract>> actors and use cases.
A.
True
B.
False
Correct Answer
B. False
Explanation Generalization does not require abstract actors and use cases. Generalization is a concept in object-oriented programming where a class can inherit properties and behaviors from another class. In the context of use cases, generalization refers to the relationship between use cases where one use case inherits the behavior of another use case. This relationship can exist between any type of actors and use cases, not just abstract ones. Therefore, the statement is false.
Rate this question:
4.
Functional decomposition takes high-level functionality and breaks it down into several lower-level functions.
A.
True
B.
False
Correct Answer
A. True
Explanation Functional decomposition is a process used in software engineering and systems analysis to break down a complex system or problem into smaller, more manageable parts. By breaking down high-level functionality into lower-level functions, it becomes easier to understand, design, and implement the system. This approach allows for better organization, modularization, and reusability of code. Therefore, the given statement is true.
Rate this question:
5.
Functional decomposition is good for use case modeling.
A.
True
B.
False
Correct Answer
B. False
Explanation Functional decomposition is not specifically designed for use case modeling. Functional decomposition is a technique used in system analysis and design to break down a complex system into smaller, more manageable parts. It helps in understanding the system's functionality and relationships between different components. While use case modeling is a technique used to capture and represent the interactions between actors and a system, it does not necessarily rely on functional decomposition. Therefore, the statement that functional decomposition is good for use case modeling is false.
Rate this question:
6.
When using advanced features for use case modeling, which of the following are true statements (select all that apply; right minus wrong):
A.
Stakeholders have great difficulty with extend relationships
B.
Generalization of actors and use cases should be avoided
C.
Generally, all stakeholders can easily understand actors and use cases
D.
Heavy use of include can make use case models easier to understand
Correct Answer(s)
A. Stakeholders have great difficulty with extend relationships C. Generally, all stakeholders can easily understand actors and use cases
Explanation The correct answer is stakeholders have great difficulty with extend relationships because extend relationships can make the use case model more complex and harder to understand for stakeholders. Additionally, generally, all stakeholders can easily understand actors and use cases is also a true statement because actors and use cases are fundamental components of use case modeling and are designed to be easily understandable by stakeholders.
Rate this question:
7.
Use case modeling should focus on:
A.
How the system should do what the actors need
B.
Extensive detailed use case descriptions
C.
The design solution for system functionality
D.
What the actors need the system to do
Correct Answer
D. What the actors need the system to do
Explanation Use case modeling should focus on what the actors need the system to do. This means that the main objective of use case modeling is to identify and describe the specific actions and functionalities that the system should provide in order to meet the needs and requirements of the actors or users. It involves understanding the interactions between the actors and the system, and capturing these interactions in the form of use cases. By focusing on what the actors need, use case modeling helps to ensure that the system is designed and developed to meet the actual requirements and expectations of the users.
Rate this question:
8.
An object diagram is a snapshot of a collective of collaborating classes
A.
True
B.
False
Correct Answer
B. False
Explanation An object diagram is not a snapshot of a collective of collaborating classes. Instead, it represents a specific instance of a class or classes at a particular point in time. It shows the objects and their relationships, but it does not capture the collaboration between classes.
Rate this question:
9.
Relationships are semantic connections between things
A.
True
B.
False
Correct Answer
A. True
Explanation Relationships are semantic connections between things. This means that relationships are not just physical connections, but they also involve the meaning and context between the connected entities. They can be understood and interpreted based on the semantic associations and dependencies between the things involved. Therefore, the statement "Relationships are semantic connections between things" is true.
Rate this question:
10.
Association names:
A.
May be prefixed or postfixed with a small black arrowhead
B.
Should be a verb or verb phrase
C.
Should be in lowerCamelCase
D.
All of the above
Correct Answer
D. All of the above
Explanation The given correct answer is "all of the above" because it states that association names in UML diagrams may be prefixed or postfixed with a small black arrowhead, should be a verb or verb phrase, and should be in lowerCamelCase. This means that association names can have a black arrowhead to indicate the direction of the association, they should be descriptive action words or phrases, and they should follow the lowerCamelCase naming convention.
Rate this question:
11.
Select all the elements that association classes can have:
A.
Associations
B.
Name
C.
Attributes
D.
Operations
Correct Answer(s)
A. Associations B. Name C. Attributes D. Operations
Explanation Association classes are used to represent relationships between classes in object-oriented programming. They can have associations, which define the relationship between the classes involved. The name of the association class is also an important element as it helps in identifying and distinguishing it from other classes. Additionally, association classes can have attributes, which represent the properties or characteristics of the relationship, and operations, which define the behavior or actions associated with the relationship. Therefore, the correct answer includes all these elements.
Rate this question:
12.
Links are instances of ______________ like objects are instances of classes.
A.
Connections
B.
Dependencies
C.
Objects
D.
Associations
Correct Answer
D. Associations
Explanation In object-oriented programming, objects are instances of classes, meaning they are created based on the blueprint provided by the class. Similarly, links can be seen as instances of associations. Associations represent the connections or relationships between objects. Therefore, the correct answer is "associations."
Rate this question:
13.
Which of the following can not be part of an association.
A.
Name
B.
Multiplicity
C.
Scope
D.
Navigability
E.
Role name
Correct Answer
C. Scope
Explanation The scope of an association refers to the visibility or accessibility of the association from different parts of the system. It determines which classes or objects can access the association. While the other options (name, multiplicity, navigability, and role name) are all valid components of an association, the scope is not. The scope is typically associated with the visibility of attributes or methods within a class, not with the association itself. Therefore, scope cannot be part of an association.
Rate this question:
14.
Two classes can not have multiple independent associations between them.
A.
True
B.
False
Correct Answer
B. False
Explanation This statement is false because two classes can indeed have multiple independent associations between them. In object-oriented programming, classes can have multiple relationships with each other, including associations. These associations can be one-to-one, one-to-many, or many-to-many. Each association represents a separate and independent relationship between the classes involved. Therefore, it is possible for two classes to have multiple independent associations between them.
Rate this question:
15.
To create hierarchies and networks in a class model you need to introduce which kind of association:
A.
Repeating
B.
Reflexive
C.
Refractive
D.
Recursive
Correct Answer
B. Reflexive
Explanation In a class model, a reflexive association is needed to create hierarchies and networks. A reflexive association refers to a relationship where an object is associated with itself. This allows for the representation of hierarchical structures and interconnected networks within the class model. By using a reflexive association, objects can be linked to other objects of the same class, enabling the creation of complex relationships and hierarchies.
Rate this question:
16.
Given a unidirectional association from class A to class B, which of the following statements are true (select all that apply):
A.
A to B is navigable
B.
B to A is not navigable
C.
A to B is not navigable
D.
B to A is navigable
Correct Answer(s)
A. A to B is navigable B. B to A is not navigable
Explanation In a unidirectional association from class A to class B, it means that class A has a reference to class B but class B does not have a reference to class A. Therefore, A to B is navigable because class A can access class B. On the other hand, B to A is not navigable because class B does not have a reference to class A and cannot access it.
Rate this question:
17.
Ultimately, all commercial software development serves some business need within a problem domain.
A.
True
B.
False
Correct Answer
A. True
Explanation Commercial software development refers to the process of creating software for sale or distribution to customers. The purpose of developing commercial software is to fulfill a business need within a specific problem domain. This means that the software is created to address a specific problem or requirement within a particular industry or market. Therefore, it can be concluded that all commercial software development serves some business need within a problem domain.
Rate this question:
18.
Analysis classes will:
A.
Include implementation details
B.
Avoid implementation details
Correct Answer
B. Avoid implementation details
Explanation Analysis classes are a type of class used in software development to understand and define the problem domain. They are focused on capturing the requirements and functionalities of the system without considering the specific implementation details. By avoiding implementation details, analysis classes can provide a high-level view of the system, making it easier to communicate and understand the overall design. This allows for flexibility in the implementation phase, as the specific details can be determined later during the design and development stages.
Rate this question:
19.
Which of the following is the only mandatory item for an analysis class:
A.
Class name
B.
Operations
C.
Attributes
D.
Visibility
Correct Answer
A. Class name
Explanation The class name is the only mandatory item for an analysis class because it serves as the identifier for the class and is essential for distinguishing it from other classes. While operations, attributes, and visibility are important aspects of an analysis class, they are not mandatory and can be optional depending on the specific requirements of the analysis.
Rate this question:
20.
Deep inheritance trees provide well defined structure that lead to good analysis classes.
A.
True
B.
False
Correct Answer
B. False
Explanation Deep inheritance trees do not necessarily provide well-defined structures that lead to good analysis classes. In fact, deep inheritance trees can often lead to complex and convoluted code, making it harder to understand and maintain. It is generally recommended to keep inheritance trees shallow and use composition or other design patterns to achieve better code organization and maintainability.
Rate this question:
21.
Good analysis classes should __________ coupling.
A.
Maximize
B.
Minimize
Correct Answer
B. Minimize
Explanation Good analysis classes should minimize coupling. Coupling refers to the degree of interdependence between classes, and minimizing it is a desirable goal in software design. When classes are tightly coupled, changes in one class can have a ripple effect on other classes, making the system more fragile and harder to maintain. On the other hand, when classes are loosely coupled, changes can be made to one class without affecting others, leading to a more flexible and modular system. Therefore, minimizing coupling is important for creating robust and maintainable software.
Rate this question:
22.
Good analysis classes should __________ cohesion.
A.
Maximize
B.
Minimize
Correct Answer
A. Maximize
Explanation Good analysis classes should maximize cohesion. Cohesion refers to the degree to which the elements within a class are related and work together to achieve a common goal. By maximizing cohesion, the analysis classes will have a stronger and more focused purpose, with all the elements working together efficiently. This will lead to better organization, maintainability, and reusability of the code.
Rate this question:
23.
Which of the following is NOT a general rule of thumb for analysis classes:
A.
Beware of many very small classes
B.
About three to five attributes per class
C.
Beware of omnipotent classes
D.
Beware of "functoids"
E.
Beware of few, but very large classes
Correct Answer
B. About three to five attributes per class
Explanation The given answer "About three to five attributes per class" is NOT a general rule of thumb for analysis classes. In analysis classes, there is no specific limit on the number of attributes that a class should have. The number of attributes in a class can vary depending on the requirements and complexity of the system being analyzed. The other options mentioned in the question, such as "Beware of many very small classes," "Beware of omnipotent classes," "Beware of 'functoids'," and "Beware of few, but very large classes," are general rules of thumb for analysis classes.
Rate this question:
24.
Which of the following are approaches for discovering analysis classes (select all that apply):
A.
CRC Analysis
B.
UP Workflows
C.
SEP Phases
D.
RUP Stereotypes
E.
Noun/Verb Analysis
Correct Answer(s)
A. CRC Analysis D. RUP Stereotypes E. Noun/Verb Analysis
Explanation CRC Analysis, RUP Stereotypes, and Noun/Verb Analysis are all approaches for discovering analysis classes.
CRC Analysis involves identifying the classes based on their responsibilities, collaborations, and classes.
RUP Stereotypes is a technique used in the Rational Unified Process (RUP) methodology to classify classes based on their characteristics and behaviors.
Noun/Verb Analysis involves analyzing the system requirements and identifying classes based on the nouns (objects) and verbs (actions) present in the requirements.
UP Workflows and SEP Phases are not approaches specifically used for discovering analysis classes, so they are not applicable in this context.
Rate this question:
25.
The nouns of Noun/Verb Analysis are focused on discovering which of the following (select all that apply):
A.
Associations
B.
Responsibilities
C.
Stereotypes
D.
Attributes
E.
Classes
Correct Answer(s)
D. Attributes E. Classes
Explanation In Noun/Verb Analysis, the focus is on discovering the attributes and classes. Attributes refer to the characteristics or properties of a noun, while classes refer to the categories or groups that nouns belong to. This analysis helps in understanding the structure and organization of the nouns in a system or domain.
Rate this question:
26.
The trickiest aspect of noun/verb analysis is finding any "hidden" classes.
A.
True
B.
False
Correct Answer
A. True
Explanation The statement is true because the trickiest part of noun/verb analysis is identifying classes that may not be immediately obvious or apparent. These "hidden" classes can be challenging to identify and categorize, requiring a deeper understanding of the language and its nuances.
Rate this question:
27.
Select the THREE main RUP stereotypes used on analysis-level classes that also support the MVC architecture:
A.
Include
B.
Model
C.
View
D.
Entity
E.
Control
F.
Boundary
G.
Instantiate
H.
Exclude
Correct Answer(s)
D. Entity E. Control F. Boundary
Explanation The RUP (Rational Unified Process) is a software development methodology that follows the Model-View-Controller (MVC) architecture. In this architecture, the model represents the data and business logic, the view represents the user interface, and the controller handles the communication between the model and the view. The stereotypes used on analysis-level classes that also support the MVC architecture are entity, control, and boundary. The entity stereotype represents the data model, the control stereotype represents the business logic and control flow, and the boundary stereotype represents the user interface and communication with external systems.
Rate this question:
28.
Which of the following is NOT part of a first-cut analysis class model:
A.
Three to five responsibilities per class
B.
Collaborating classes with associations among them
C.
Key attributes defined for classes
D.
Data types and default values for all class attributes
E.
Stereotypes defined on classes
Correct Answer
D. Data types and default values for all class attributes
Explanation A first-cut analysis class model is an initial representation of the classes and their relationships in a system. It helps in understanding the structure of the system and identifying key responsibilities and collaborations. The model includes three to five responsibilities per class, collaborating classes with associations among them, key attributes defined for classes, and stereotypes defined on classes. However, data types and default values for all class attributes are not typically included in a first-cut analysis class model. This level of detail is usually added in later stages of the modeling process.
Rate this question:
29.
UP analysis workflow comprises which of the following items except:
A.
Analyze an interface
B.
Architectural analysis
C.
Analyze a package
D.
Analyze a use case
Correct Answer
A. Analyze an interface
Explanation The UP analysis workflow includes various activities such as architectural analysis, analyzing a package, and analyzing a use case. However, analyzing an interface is not a part of the UP analysis workflow. Interface analysis is usually performed during the design phase rather than the analysis phase. It involves defining the methods, attributes, and relationships of an interface to ensure proper communication and interaction between different components of a system.
Rate this question:
30.
Select the TWO key artifacts of an Analysis model (right minus wrong):
A.
Requirements
B.
Packages
C.
Object classes
D.
Analysis classes
E.
Use case realizations
Correct Answer(s)
D. Analysis classes E. Use case realizations
Explanation The analysis model is a representation of the system requirements and design at a high level. It focuses on understanding the problem domain and identifying the key elements and interactions. Analysis classes are the key artifacts that represent the essential entities and their attributes and behaviors in the system. Use case realizations, on the other hand, depict how the use cases are implemented in the system and provide a detailed view of the system's behavior. Therefore, analysis classes and use case realizations are the two key artifacts of an analysis model.
Rate this question:
31.
In order for an object to be a member of a particular class it must have:
A.
The same state structure and implement the same behaviors
B.
The same identity as the class
C.
Identical attribute values
D.
None of the above
Correct Answer
A. The same state structure and implement the same behaviors
Explanation For an object to be a member of a particular class, it must have the same state structure and implement the same behaviors. This means that the object should have the same set of attributes and methods as defined by the class. The state structure refers to the variables and their types that make up the object's state, while behaviors refer to the methods or functions that define the object's actions. Having the same state structure and behaviors ensures that the object can be treated as an instance of the class and can interact with other objects of the same class in a consistent and predictable manner.
Rate this question:
32.
Objects collaborate by sending messages to the system:
A.
True
B.
False
Correct Answer
A. True
Explanation Objects collaborate by sending messages to the system. This means that objects interact with each other by sending messages, which can be requests for information or instructions to perform certain actions. This communication between objects allows them to work together and achieve the desired functionality of the system.
Rate this question:
33.
In UML object notation every object element has 3 things:
A.
True
B.
False
Correct Answer
B. False
Explanation In UML object notation, every object element does not have just 3 things. UML object notation includes various elements such as attributes, operations, associations, and more. These elements help to define the structure and behavior of an object in a UML diagram. Therefore, the given statement is false.
Rate this question:
34.
An object is defined by:
A.
Identity, state, behavior
B.
State, operations, behavior
C.
Identity, operations, values
D.
Name, attributes, operations
E.
Attributes, encapsulation, messaging
Correct Answer
A. Identity, state, behavior
Explanation The correct answer is "identity, state, behavior". This is because an object is defined by its identity, which distinguishes it from other objects. It also has a state, which represents the data or information it holds. Lastly, an object has behavior, which refers to the actions or operations it can perform. Together, these three components define the essence of an object.
Rate this question:
35.
Which of the following is NOT a visibility specification in UML:
A.
Global
B.
Public
C.
Protected
D.
Package
E.
Private
Correct Answer
A. Global
Explanation In UML, there is no visibility specification called "Global". The visibility specifications in UML are Public, Protected, Package, and Private. "Global" is not a recognized visibility specification in UML.
Rate this question:
36.
A constructor would be considered to be in which scope?
A.
A class scope
B.
Instance scope
C.
Operation scope
D.
Object scope
Correct Answer
A. A class scope
Explanation A constructor is a special method in a class that is used to initialize objects of that class. It is typically defined within the class scope and is used to create and initialize objects of that class. Therefore, a constructor would be considered to be in the class scope.
Rate this question:
37.
Class A is a generalization of Class B. Select all statements that are true (right minus wrong):
A.
Class B is more general than Class A
B.
Class B is a subclass of Class A
C.
Class A is more general than Class B
D.
Class B is more specialized than Class A
E.
Class A is more specialized than Class B
F.
Class A is a descendant of Class B
Correct Answer(s)
B. Class B is a subclass of Class A C. Class A is more general than Class B D. Class B is more specialized than Class A
Explanation The correct answer is: Class B is a subclass of Class A, Class A is more general than Class B, Class B is more specialized than Class A.
A generalization in object-oriented programming refers to a relationship where one class (the superclass) is more general and another class (the subclass) is more specific. In this case, Class A is a generalization of Class B, which means that Class B is a subclass of Class A. Therefore, the statement "Class B is a subclass of Class A" is true. Additionally, since Class A is more general than Class B, the statement "Class A is more general than Class B" is also true. Finally, since Class B is more specific than Class A, the statement "Class B is more specialized than Class A" is true as well.
Rate this question:
38.
Select the elements that are inherited with generalization:
A.
Operations
B.
Stereotypes
C.
Attributes
D.
Relationships
E.
Names
Correct Answer(s)
A. Operations B. Stereotypes C. Attributes D. Relationships
Explanation In object-oriented programming, generalization is a concept where a class inherits the properties and behaviors of another class. In this context, the elements that are inherited with generalization are operations, stereotypes, attributes, and relationships.
Operations refer to the methods or functions that can be performed on an object. Stereotypes are used to categorize classes and provide additional information about their purpose or behavior. Attributes are the properties or characteristics of an object. Relationships represent the associations or connections between different classes. Names, on the other hand, are not inherited through generalization as they are specific to each individual class.
Rate this question:
39.
Concrete operations typically have code defined:
A.
True
B.
False
Correct Answer
A. True
Explanation Concrete operations typically have code defined. This means that in programming, concrete operations refer to specific actions or functions that are implemented with a specific set of instructions or code. These operations are well-defined and can be executed by the computer. Therefore, the statement "True" indicates that concrete operations do have code defined.
Rate this question:
40.
Only abstract operations can be polymorphic.
A.
True
B.
False
Correct Answer
B. False
Explanation Polymorphism refers to the ability of an object to take on many forms. It allows objects of different classes to be treated as objects of a common superclass. While abstract operations can indeed be polymorphic, it is not limited to them. Polymorphism can also be achieved through other means, such as method overriding or method overloading, which allows different classes to have methods with the same name but different implementations. Therefore, the statement that only abstract operations can be polymorphic is incorrect.
Rate this question:
41.
The THREE pillars of OO systems are:(right minus wrong)
A.
Polymorphism
B.
Inheritance
C.
Analysis classes
D.
Encapsulation
E.
Use Cases
Correct Answer(s)
A. PolymorpHism B. Inheritance D. Encapsulation
Explanation The correct answer is Polymorphism, Inheritance, and Encapsulation. These three pillars are fundamental concepts in object-oriented systems. Polymorphism allows objects of different classes to be treated as objects of a common superclass, providing flexibility and reusability. Inheritance enables the creation of new classes based on existing ones, inheriting their properties and behaviors. Encapsulation ensures that the internal details of an object are hidden and can only be accessed through defined interfaces, promoting data security and code maintainability. Analysis classes and Use Cases are not pillars of OO systems, making them incorrect options.
Rate this question:
42.
Generalization forms a high degree of ____________ between two classes (select the best answer to fill in the blank).
A.
Cohesion
B.
Determinism
C.
Coupling
D.
Abstraction
E.
Dependency
Correct Answer
C. Coupling
Explanation Coupling refers to the degree of interdependence between two classes. In the context of generalization, coupling represents the level of dependency between the superclass and its subclasses. When a superclass is highly coupled with its subclasses, any changes made to the superclass may have a significant impact on the subclasses. Therefore, coupling in generalization can be seen as a measure of how closely related and dependent the superclass and subclasses are to each other.
Rate this question:
Quiz Review Timeline +
Our quizzes are rigorously reviewed, monitored and continuously updated by our expert board to maintain accuracy, relevance, and timeliness.