M8 Flashcards

(29 cards)

1
Q

The process of implementing or updating software systems using existing software components.

A

Software Reuse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The type of reuse where software components are used across multiple applications.

A

Horizontal Reuse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The reuse of system functional areas or domains within a family of systems with similar functionality.

A

Vertical Reuse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

An approach to software development that relies heavily on reusing pre-existing components.

A

Component-Based Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A software development method where programs are automatically generated based on pre-defined patterns and user commands.

A

Generator-Based Reuse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A type of software that provides a service without depending on where it is executed or the programming language used.

A

Software Component

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The software component interface that defines the services required by the component to function.

A

Requires Interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The software component interface that defines the services provided by the component.

A

Provides Interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A collection of related classes that work together in component-based development.

A

Cluster Abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

A software reuse problem where organizations resist using external components.

A

Not-Invented-Here Syndrome

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A software reuse issue related to the difficulty of keeping track of and managing reusable components.

A

Maintaining a Component Library

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A process where software is modified to increase reusability by adding generic functionality and improving modularity.

A

Reusability Enhancement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

An abstraction where the component represents a group of loosely related functions or data declarations.

A

Casual Grouping

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A benefit of software reuse where components are exercised in real-world applications, increasing reliability.

A

Increased Reliability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A program development method where end-users can easily create programs using predefined templates and structures.

A

Application Generator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

The cost of making a component reusable instead of project-specific.

A

Reusability Enhancement Cost

17
Q

An approach to reuse where developers search for existing components before developing new ones.

A

Opportunistic Reuse

18
Q

A technique where software components are modified to remove application-specific names.

A

Name Generalization

19
Q

A software maintenance activity where application-specific exceptions are removed to improve reusability.

A

Exception Generalization

20
Q

Software reuse can lead to lower maintenance costs. t/f

21
Q

Software reuse always guarantees reduced development time. T/F

22
Q

Horizontal reuse involves reusing components in systems with similar functionalities. T/F

23
Q

Component-based development emerged due to object-oriented development’s failure to support effective reuse. T/F

24
Q

Generator-based reuse is useful for a wide variety of software domains. T/F

25
Reusability enhancement makes software more modular and adaptable. T/F
T
26
Which of the following is NOT a benefit of software reuse? a) Increased reliability b) Reduced process risk c) Higher development costs d) Accelerated development
c) Higher development costs
27
What is a major challenge in software reuse? a) Increased productivity b) Lack of tool support c) Improved quality d) Lower costs
b) Lack of tool support
28
Which software reuse approach relies on predefined templates and user commands? a) Object-oriented programming b) Generator-based reuse c) Agile development d) Waterfall model
b) Generator-based reuse
29
Which of the following is NOT a type of software component abstraction? a) Functional abstraction b) Cluster abstraction c) Algorithm abstraction d) Data abstraction
c) Algorithm abstraction