 |
1 |  |  Which of the following best describes the advantages of using software components, assuming that suitable components are available? |
|  | A) | The users are more likely to get what they want. |
|  | B) | The project is more likely to be completed in less time and at a lower cost. |
|  | C) | The software is more likely to be capable of running on different hardware platforms. |
|
|
 |
2 |  |  What is meant by the NIH syndrome? |
|  | A) | Some software developers are not inclined to trust software that was written elsewhere. |
|  | B) | Some project managers are not inclined to trust programmers who were trained elsewhere. |
|  | C) | Many users are not inclined to trust software that was written elsewhere. |
|
|
 |
3 |  |  One of the following is NOT a reason why object-oriented approaches support software reuse. Which one? |
|  | A) | Object-oriented development encourages the encapsulation of the internal details of components. |
|  | B) | Object-oriented models are organized in a way that makes it easier to find suitable components. |
|  | C) | Object-oriented development encourages developers to share ideas with developers in other teams. |
|
|
 |
4 |  |  Which of the following best describes composition? |
|  | A) | A package of model elements. |
|  | B) | A set of realizations for a single use case. |
|  | C) | A relationship between a whole and its parts. |
|
|
 |
5 |  |  Which of the following best describes how composition differs from aggregation? |
|  | A) | A part cannot be removed from a composition, whereas a part can be removed from an aggregation. |
|  | B) | A part can belong to only one composition, whereas a part can belong to more than one aggregation. |
|  | C) | A part that belongs to a composition cannot have associations with any other classes, whereas a part that belongs to an aggregation can have associations with other classes. |
|
|
 |
6 |  |  How does generalization increase the opportunities for software reuse? |
|  | A) | A generalization hierarchy can be extended to include new subclasses with minimal effort. |
|  | B) | Generalization aids the encapsulation of software components. |
|  | C) | Generalization allows a group of software components to be treated as a single whole. |
|
|
 |
7 |  |  What does it mean to say that an operation has been redefined? |
|  | A) | The definition of the operation in a subclass overrides the superclass definition of the same operation. |
|  | B) | The definition of the operation has been changed because users have changed their minds about the requirements. |
|  | C) | The method that implements the operation does not follow the original definition of the operation. |
|
|
 |
8 |  |  How do abstract and concrete classes differ from each other? |
|  | A) | Abstract classes represent intangible concepts in the application domain, whereas concrete classes represent physical things. |
|  | B) | Abstract classes are superclasses, whereas concrete classes are subclasses. |
|  | C) | Abstract classes have no instances, whereas concrete classes have instances. |
|
|
 |
9 |  |  Which of the following best describes multiple inheritance? |
|  | A) | Multiple inheritance occurs when a subclass is removed from one generalization hierarchy and added to another. |
|  | B) | Multiple inheritance occurs when a subclass inherits from more than one generalization hierarchy. |
|  | C) | Multiple inheritance occurs when a subclass inherits characteristics from more than one level of superclass. |
|
|
 |
10 |  |  Which of the following is the best description of a software development pattern? |
|  | A) | The way that a particular software developer tends to solve problems. |
|  | B) | The core of a solution to a software development problem that occurs over and over again. |
|  | C) | A particular approach to software development, such as the object-oriented approach or the structured approach. |
|
|
 |
11 |  |  What is the role of encapsulation in reuse? |
|  | A) | Encapsulation means that it is not necessary for other developers to know how a software component works internally. |
|  | B) | Encapsulation means that software components can work more efficiently. |
|  | C) | Encapsulation means that there is no need for software developers to document their work. |
|
|
 |
12 |  |  How does composition support software reuse? |
|  | A) | A composite structure is capable of performing more than one task, and thus it is useful in more than one context. |
|  | B) | Composition structures are easy to extend with minimal effort. |
|  | C) | Composite structures encapsulate their sub-components, making it easy to treat the composite as a single whole. |
|
|