 |
| 1 |  |  In the most general sense a component is a modular building block for computer software. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 2 |  |  In the context of object-oriented software engineering a component contains |
|  | A) | attributes and operations |
|  | B) | instances of each class |
|  | C) | roles for each actor (device or user) |
|  | D) | a set of collaborating classes |
|
|
 |
| 3 |  |  In traditional software engineering, modules must serve in which of the following roles? |
|  | A) | Control component |
|  | B) | Infrastructure component |
|  | C) | Problem domain component |
|  | D) | All of the above |
|
|
 |
| 4 |  |  Software engineers always need to create components from scratch in order to meet customer expectations fully. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 5 |  |  Which of the following is not one of the four principles used to guide component-level design? |
|  | A) | Dependency Inversion Principle |
|  | B) | Interface Segregation Principle |
|  | C) | Open-Closed Principle |
|  | D) | Parsimonious Complexity Principle |
|
|
 |
| 6 |  |  During component-level design it is customary to ignore organization issues like subsystem membership or packaging. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 7 |  |  The use of stereotypes can help identify the nature of components at the detailed design level. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 8 |  |  Classes and components that exhibit functional, layer, or communicational cohesion are relatively easy to implement, test, and maintain. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 9 |  |  Software coupling is a sign of poor architectural design and can always be avoided in every system. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 10 |  |  In component design, elaboration requires which of the following elements to be described in detail? |
|  | A) | Source code |
|  | B) | Attributes |
|  | C) | Interfaces |
|  | D) | Operations |
|  | E) | b, c and d |
|
|
 |
| 11 |  |  In component-level design "persistent data sources" refer to |
|  | A) | Component libraries |
|  | B) | Databases |
|  | C) | Files |
|  | D) | All of the above |
|  | E) | both b and c |
|
|
 |
| 12 |  |  The object constraint language (OCL) complements UML by allowing a software engineer to use a formal grammar to construct unambiguous statements about design model elements. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 13 |  |  OCL is not strong enough to be used to describe pre- or post conditions for design actions. |
|  | A) | True |
|  | B) | False |
|
|
 |
| 14 |  |  Which of these constructs is used in structured programming? |
|  | A) | branching |
|  | B) | condition |
|  | C) | repetition |
|  | D) | sequence |
|  | E) | b, c, and d |
|
|
 |
| 15 |  |  Which of these is a graphical notation for depicting procedural detail? |
|  | A) | process diagram |
|  | B) | decision table |
|  | C) | ER diagram |
|  | D) | flowchart |
|
|
 |
| 16 |  |  A decision table should be used |
|  | A) | to document all conditional statements |
|  | B) | to guide the development of the project management plan |
|  | C) | only when building an expert system |
|  | D) | when a complex set of conditions and actions appears in a component |
|
|
 |
| 17 |  |  A program design language (PDL) is often a |
|  | A) | combination of programming constructs and narrative text |
|  | B) | legitimate programming language in its own right |
|  | C) | machine readable software development language |
|  | D) | useful way to represent software architecture |
|
|
 |
| 18 |  |  Which of these criteria are useful in assessing the effectiveness of a particular design notation? |
|  | A) | maintainability |
|  | B) | modularity |
|  | C) | simplicity |
|  | D) | size |
|  | E) | a, b, and c |
|
|