Chapter 18 Object-Oriented Design and Modeling Using the UML
True/False Questions
1. An approach used to specify the software solution in terms of collaborating objects, their attributes and their methods is called object oriented design.
Answer: True
2. An interface class is an object class that provides the means by which an actor can interface with the system.
Answer: True
3. A dependency relationship is illustrated with a dashed arrow line.
Answer: True
4. Navigability is illustrated with an arrowhead pointing only to the direction a message can be sent.
Answer: True
5. Visibility is the level of access an external object has to an attribute or method.
Answer: True
6. Method is the software logic that is executed in response to a message.
Answer: True
7. In a pure object-oriented environment every piece of code exists inside an object class.
Answer: True
8. An object-oriented system is structured into at least three different types of object classes.
Answer: True
9. Entity classes are identified during systems analysis and usually correspond to items in real life and contain information, known as attributes, that describes the different instances of the entity.
Answer: True
10. Interface classes are a means through which the attributes will interface with the instances of an entity.
Answer: False
Rationale: Interface classes provide a means for the user to interface with the system.
11. The responsibility of the interface class is twofold: (1) it translates the user's input into information that the system can understand and use to process the business event; (2) it takes data pertaining to a business event and translates the data for appropriate presentation to the user.
Answer: True Page: 648-649
12. Controller classes implement the business logic or business rules of the system.
Answer: True Page: 649
13. System classes handle operating system-specific functionality.
Answer: True Page: 649
14. By employing persistence classes, it allows the entity classes to be more implementation neutral and potentially more reusable.
Answer: True Page: 649
15. By employing persistence classes, it allows the entity classes to be more implementation specific and potentially more usable.
Answer: False Page: 649
Rationale: By employing persistence classes, it allows the entity classes to be more implementation neutral and potentially more reusable.
16. Persistence classes read and write to a database.
Answer: True Page: 649
17. Public attributes can be accessed and public methods can be invoked by any other method in any other class.
Answer: True
18. Private attributes can be accessed and private methods can be invoked only by any method in the class in which the attribute or method is defined.
Answer: True
19. A class responsibility is essentially the same thing as a class method.
Answer: True
20. A class responsibility is implemented by the creation of one or more methods that may have to collaborate with other classes and methods.
Answer: True
21. One technique for identifying behaviors is to search the use-case narrative for verb phrases.
Answer: True
22. A class responsibility collaboration (CRC) card is a popular tool for documenting the behaviors and collaborations for an object.
Answer: True
23. Sequence diagrams show us in great detail how the objects interact with each other in time sequence.
Answer: True Page: 659
24. In actor collaboration, the use case scenarios are acted out by the participants. The participants may assume the role of actors or object types that collaborate to process a hypothetical business event.
Answer: False Page: 664
Rationale: This describes role playing.
25. Two overarching goals of object-oriented design are high coupling and low cohesion.
Answer: False
Rationale: Two overarching goals of object-oriented design are low coupling and high cohesion.
26. Cohesion is the degree to which one class is connected to or relies upon other classes.
Answer: False
Rationale: Coupling is the degree to which one class is connected to or relies upon other classes.
27. Ideally, object classes created for one information system should be able to be reused in other information systems.
Answer: True
28. Reusability is why operating system-specific code and database specific code are often designed into system and persistence classes.
Answer: True
29. A design pattern is a common solution to a given problem in a given context.
Answer: True
30. One advantage of using design patterns is that they provide designers with a short-hand notation for discussing design issues.
Answer: True
31. GOF behavioral patterns provide guidance on the way in which classes interact to distribute responsibility.
Answer: True
32. GOF creational patterns provide guidance for designing classes to instantiate new objects.
Answer: True
33. GOF structural patterns provide guidance on how classes can be designed to form larger structures.
Answer: True
34. GOF structural patterns provide guidance on the way in which classes interact to distribute responsibility.
Answer: False
Rationale: GOF behavioral patterns provide guidance on the way in which classes interact to distribute responsibility.
35. An object framework is a set of related, interacting objects that provide a well-defined set of services for accomplishing a task.
Answer: True
36. A component is a group of objects packaged together into one unit. An example of a component is a dynamic link library (DLL) or executable file.
Answer: True
37. A communication diagram is similar to a sequence diagram. But while a sequence diagram focuses on the structural organization of objects in a network format, a communication diagram focuses on timing of messages.
Answer: False
Rationale: A communication diagram is similar to a sequence diagram. But while a sequence diagram focuses on timing or sequence of messages, a communication diagram focuses on the structural organization of objects in a network format.
38. Communication diagrams depict the organizational units of programming code and how they interact.
Answer: False Page: 672
Rationale: This describes component diagrams.
39. Deployment diagrams are also implementation type diagrams that describe the physical architecture of the hardware and software in the system. They depict software components, processors, and devices that make up the systems architecture.
Answer: True Page: 673
Multiple Choice Questions
40. A class that would have to change if the system was ported to another operating system would be a(n):
A) entity class
B) interface class
C) control class
D) persistence class
E) system class
Answer: E Page: 648-649
41. A class that contains the logic to run a use case would be a(n):
A) entity class
B) interface class
C) control class
D) persistence class
E) system class
Answer: C Page: 648-649
42. Which of the following is NOT a UML level of visibility?
A) private
B) protected
C) public
D) persistent
E) none of these
Answer: D
43. Which of the following is NOT one of the activities of object-oriented design?
A) Modeling class interactions, behaviors, and states that support the use-case scenario.
B) Refining the use-case model to reflect the implementation environment.
C) Updating the class diagram to reflect the implementation environment.
D) Updating the ERD to reflect public attributes and persistence classes.
E) all of these are activities of object-oriented design
Answer: D
44. This is a popular tool for documenting the behaviors and collaborations for an object.
A) cyclical redundancy collaboration (CRC) card
B) class responsibility collaboration (CRC) card
C) component responsibility collaboration (CRC) card
D) classical responsibility collaboration (CRC) card
E) none of these
Answer: B
45. Which of the following is a tool that can be used for discovering class behaviors and responsibilities?
A) CRC card
B) sequence diagram
C) class diagram
D) a and b
E) all of these
Answer: E Page: 657-659
46. What is an object state?
A) a condition of the object at one time in its lifetime
B) an occurrence that triggers a change in an object
C) the act of simulating object behavior
D) a method that displays the current state of the object
E) none of these
Answer: A Page: 663
47. Which UML diagram models object state
A) sequence diagram
B) state machine diagram
C) class diagram
D) deployment diagram
E) communication diagram
Answer: B Page: 663
48. What did the Gang of Four do?
A) create the UML
B) popularize the use of design patterns
C) created CRC cards
D) created a popular object framework
E) battled Spider-man in issue #142
Answer: B
49. Which of the following is NOT a GOF pattern category?
A) evolutional
B) structural
C) creational
D) behavioral
E) none of these
Answer: A
50. If you needed to provide a stable interface to similar classes with different interfaces, you could use:
A) the strategy pattern
B) the adapter pattern
C) a creational pattern
D) the organizational pattern
E) none of these
Answer: B Page: 670
51. If you needed to design for varying and changing policy algorithms, you could use:
A) the strategy pattern
B) the adapter pattern
C) a creational pattern
D) the organizational pattern
E) none of these
Answer: A Page: 670
52. The process of using object-oriented techniques for designing a new system is referred to as:
A) object oriented design
B) class/object design
C) reverse engineering
D) database design
E) none of these
Answer: A
53. A dialogue box is an example of a(n):
A) entity class
B) interface class
C) control class
D) persistence class
E) system class
Answer: B Page: 648-649
54. A class that handled reading and writing to a database would be an example of a(n):
A) entity class
B) interface class
C) control class
D) persistence class
E) system class
Answer: D Page: 648-649
55. The student class in an enrollment system would be an example of a(n):
A) entity class
B) interface class
C) control class
D) persistence class
E) system class
Answer: A Page: 648-649
56. What do you call a set of related, interacting objects that provide a well-defined set of services for accomplishing a task?
A) class framework
B) scenario
C) object framework
D) entity framework
E) none of these
Answer: C
57. This is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
A) scenario
B) module
C) subprogram
D) component
E) none of these
Answer: D
58. What is a design pattern?
A) the obligation that an object has to provide a service when requested
B) a common solution to a given problem in a given context.
C) a set of related, interacting objects that provide a set of services.
D) a group of objects packaged together.
E) none of these
Answer: B
59. In which of the following are the use case scenarios acted out by the participants, where participants may assume the role of actors or object types that collaborate to process a hypothetical business event?
A) scenarios
B) plays
C) role playing
D) action play plans
E) none of these
Answer: C Page: 664
60. What diagram depicts how objects collaborate in message sequence to satisfy the functionality of a use case?
A) state
B) component
C) sequence
D) deployment
E) communication
Answer: C Page: 659
61. What diagram depicts the life cycle of a single object?
A) state
B) component
C) sequence
D) deployment
E) communication
Answer: A Page: 663
62. What diagram depicts the interaction of objects, focusing on their structural organization?
A) state
B) component
C) sequence
D) deployment
E) communication
Answer: E Page: 672
63. What type of diagram is an implementation type diagram and used to graphically depict the physical architecture of the software system?
A) state
B) component
C) sequence
D) deployment
E) communication
Answer: B Page: 672
64. What type of diagram is also an implementation type diagram that describes the physical architecture of the hardware and software in the system and depicts software components, processors, and devices that make up the systems architecture?
A) state
B) component
C) sequence
D) deployment
E) communication
Answer: D Page: 673
65. Attributes and methods that are visible from any method in the class in which the attribute or method is defined or in subclasses of that class are said to be:
A) private
B) protected
C) public
D) persistent
E) none of these
Answer: B
66. Attributes and methods that are visible from any method in any class are said to be:
A) private
B) protected
C) public
D) persistent
E) none of these
Answer: C
67. Attributes and methods that are visible from any method in the class in which the attribute or method is defined are said to be:
A) private
B) protected
C) public
D) persistent
E) none of these
Answer: A
68. Which of the following steps are NOT done in transforming the OOA class diagram into a design class diagram?
A) add design object
B) add attribute visibility
C) add methods
D) add dependency relationships
E) all of these should be done
Answer: E
69. Which maxim best describes the rationale for using design patterns?
A) A stitch in time saves nine
B) Don't reinvent the wheel
C) Haste makes waste
D) A rolling stone gathers no moss
E) The squeaky wheel gets the grease
Answer: B
70. Which of the following is NOT an activity done in constructing a state machine diagram?
A) Identify state transition paths
B) Identify initial and final states
C) Identify triggers
D) Identify other states an object may have during its lifetime
E) Identify other objects that trigger changes in the object's states
Answer: E Page: 663
Fill in the Blank Questions
71. A(n) ______is a group of objects packaged together into one unit. An example is a dynamic link library (DLL) or executable file.
Answer: component
72. All objects are said to have ______- the value of its attributes at one point in time.
Answer: state Page: 663
73. A(n) ______triggers the change in state when something happens or when the value of one of the attributes changes.
Answer: state transition event Page: 663
74. ______are a common solution to a given problem in a context.