M8 Flashcards
(29 cards)
The process of implementing or updating software systems using existing software components.
Software Reuse
The type of reuse where software components are used across multiple applications.
Horizontal Reuse
The reuse of system functional areas or domains within a family of systems with similar functionality.
Vertical Reuse
An approach to software development that relies heavily on reusing pre-existing components.
Component-Based Development
A software development method where programs are automatically generated based on pre-defined patterns and user commands.
Generator-Based Reuse
A type of software that provides a service without depending on where it is executed or the programming language used.
Software Component
The software component interface that defines the services required by the component to function.
Requires Interface
The software component interface that defines the services provided by the component.
Provides Interface
A collection of related classes that work together in component-based development.
Cluster Abstraction
A software reuse problem where organizations resist using external components.
Not-Invented-Here Syndrome
A software reuse issue related to the difficulty of keeping track of and managing reusable components.
Maintaining a Component Library
A process where software is modified to increase reusability by adding generic functionality and improving modularity.
Reusability Enhancement
An abstraction where the component represents a group of loosely related functions or data declarations.
Casual Grouping
A benefit of software reuse where components are exercised in real-world applications, increasing reliability.
Increased Reliability
A program development method where end-users can easily create programs using predefined templates and structures.
Application Generator
The cost of making a component reusable instead of project-specific.
Reusability Enhancement Cost
An approach to reuse where developers search for existing components before developing new ones.
Opportunistic Reuse
A technique where software components are modified to remove application-specific names.
Name Generalization
A software maintenance activity where application-specific exceptions are removed to improve reusability.
Exception Generalization
Software reuse can lead to lower maintenance costs. t/f
F
Software reuse always guarantees reduced development time. T/F
F
Horizontal reuse involves reusing components in systems with similar functionalities. T/F
F
Component-based development emerged due to object-oriented development’s failure to support effective reuse. T/F
T
Generator-based reuse is useful for a wide variety of software domains. T/F
F