|
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 |
|
|