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.