UML Software - Quiz Explanation

Understanding the UML view of software development

The correct answers are indicated below, along with text that explains the correct answers.
 
1. What did the Object Analysis and Design Task Force RFP ask for?
Please select the best answer.
  A. An analysis and design methodology
  B. An end to the notation wars
  C. A metamodel for specifying software solutions
  D. A diagramming notation for specifying software solutions
  The correct answer is C.
The Object Analysis and Design Task Force RFP asked for a metamodel for specifying software solutions. A is incorrect because the RFP specifically avoided methods. B is incorrect because the task force does not have the power to accomplish this. D is incorrect because the visual notation is actually left up to the vendors, whereas the underlying element definitions (the metamodel) are required to be consistent among vendors.

2. The UML may be extended
Please select the best answer.
  A. By altering the model element definitions
  B. By using stereotypes to qualify element descriptions
  C. By building new diagrams using blends of existing notations
  D. By adding your own notation elements
  The correct answer is B.
The UML may be extended by using stereotypes to qualify element descriptions. Stereotypes are defined in the UML and have a suggested notation for their use. A is incorrect because you are not allowed to alter the standard; otherwise it would not be a standard. C is incorrect because the set of diagrams is part of the specification. To create a new one would be outside of the UML standard. D is incorrect because, although you are allowed to choose your own icons for existing elements, you may not arbitrarily add your own.

3. The UML views
Please select the best answer.
  A. Define how the UML diagrams are to be used
  B. Define the sequence of events for analysis and design
  C. Are part of the UML specification
  D. Organize the UML diagrams to improve understanding of their purpose
  The correct answer is D.
The UML views organize the UML diagrams to improve understanding of their purpose. The views are only an aid in understanding the purpose and function of the diagrams. A and B are incorrect because the UML does not tell you how to use the diagrams or the process to use for their creation. C is incorrect because the views are only suggestions, helpful explanations, not part of the standard.

4. The metamodel includes
Please select the best answer.
  A. Rules for the use of modeling elements
  B. Definitions of the modeling elements
  C. The visual standard for each model element
  D. Programming implementation specification for each model element
  The correct answer is B.
The metamodel includes definitions of the modeling elements. A is incorrect because the UML does not specify usage at all. The specification defines function and relationships among elements only. C is incorrect because the UML only offers a visual icon for each element, leaving the final choice to the vendor. D is incorrect because the UML is explicitly independent of any programming language used to implement the models.

5. The use case view
Please select the best answer.
  A. Consists of textual documents listing the user requirements
  B. Consists of business procedures and policies
  C. Consists of diagrams, narratives, and scenarios
  D. Consists of project context, scope, and constraints requirements
  The correct answer is C.
The use case view consists of diagrams, narratives, and scenarios. These are the three components of the use case model. A is incorrect because the use case model uses more than simply text, it uses a diagram with a supporting narrative and scenarios. B is incorrect because policies and procedures are captured within a number of the models. Depending on the specific nature of the procedure or policy, they may be captured in one or more of the logical view diagrams or even the physical models (component and deployment). D is incorrect because these items are typically captured in a project charter, not the requirements model.

6. The logical view
Please select the best answer.
  A. Provides a set of models to describe possible software solutions
  B. Translates user requirements in an implementation language
  C. Describes the program logic for specific business rules
  D. Defines the policies and procedures to support the use case requirements
  The correct answer is A.
The logical view provides a set of models to describe possible software solutions. The diagrams in the logical view are designed to document how the software should behave to fulfill the user requirements. B is incorrect because the models are language independent. C is incorrect because all business rules for the problem domain are included, not just some. D is incorrect because the models document more than just the policies and procedures, for instance, resources, people, communication, timing, and calculations.

7. The class diagram
Please select the best answer.
  A. Is the first model created in the project
  B. Is created after the other models
  C. Is used to specify objects and generate code
  D. Is used to create the sequence and collaboration diagrams
  The correct answer is C.
The class diagram is used to specify objects and generate code. The class diagram is central to object analysis and design. It the primary model for defining the software solution. A is incorrect because its position in a timeline or process is irrelevant. B is incorrect because modeling is typically accomplished by working on many models simultaneously. Although the class diagram helps in the creation of the sequence and collaboration diagram, the relationship is more symbiotic, so D is also incorrect.

8. The activity diagram models
Please select the best answer.
  A. Object interactions and communication
  B. The movement of objects through the system
  C. Processes, conditional logic, and concurrency
  D. The steps required for the construction of the logical view
  The correct answer is C.
The activity diagram models processes, conditional logic, and concurrency, much like the old flowcharts, but with some enhancements suited to object modeling. A is incorrect because this is the purpose of the sequence and collaboration diagrams. B is incorrect because none of the models does this. D is incorrect because none of the models deals with the process used for construction.

9. The sequence diagram models
Please select the best answer.
  A. The sequence of activities to implement the model
  B. The way that objects communicate
  C. The relationships among objects
  D. The order in which the class diagram is constructed
  The correct answer is B.
The sequence diagram models the way objects communicate. Both the sequence and the collaboration diagrams are used to discover the interfaces that objects use to communicate with one another. A and D are incorrect because none of the models deals with construction or implementation processes. C is incorrect because the relationships among objects are defined in the class and object diagrams.

10. The collaboration diagram
Please select the best answer.
  A. Is a unique view of object behavior
  B. Models the connections between the different views
  C. Models the relationship between software and hardware components
  D. Models the way objects communicate
  The correct answer is D.
The collaboration diagram models the way objects communicate. The sequence and collaboration diagrams are subtly different views of the same concepts, object communication. Hence, this view is not unique, so A is incorrect. The software and hardware components are modeled in the component and deployment diagrams, so C is incorrect. B is incorrect because there is no model that connects the different views.

11. The component view
Please select the best answer.
  A. Defines the implementation language of a software component
  B. Establishes the installation procedures for a software program
  C. Describes the hardware configuration required for a software component
  D. Defines the bundling of classes and components into a functional unit
  The correct answer is D.
The component view defines the bundling of classes and components into a functional unit. A is incorrect because none of the models specifies implementation languages. All the models are language neutral. B is incorrect because none of the models deals with procedures or processes for modeling. The deployment and component diagrams are used for hardware and software configuration, so C is also incorrect.

12. The deployment view
Please select the best answer.
  A. Models the physical components of an architecture
  B. Defines the installation procedures for the software
  C. Models the business units in which the software will be deployed
  D. Defines the deployment schedule for an incremental installation
  The correct answer is A.
The deployment view models the physical components for an architecture. B and D are incorrect because none of the models deals with procedures, although the view would aid in this process. C is correct only if the user of the model chooses to indicate this relationship in the naming of the model elements. Such references are not inherent in the view or the metamodel definitions.