McGraw-Hill OnlineMcGraw-Hill Higher EducationLearning Center
Student Centre | Lecturer Centre | Info Centre | HOME

Glossary
Q 18.C supplement
Self-test Questions

Cover
Object-Oriented Systems Analysis and Design Using UML, 2/e
Simon Bennett, Systems Architect with GEHE UK
Steve McRobb, Senior Lecturer, De Montfort University
Ray Farmer, Associate Dean, Coventry University

Refining the Requirements Model

Self-test Questions



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.