Subject |
adapt |
reuse |
abbreviate as |
write in |
communicate with |
communicate using |
lack |
divide into |
have |
be |
is part of |
is a synonym of |
catalog |
is a kind of |
is a subtopic of |
be usually |
have example |
implement |
simplify |
enable |
document |
has part |
has definition |
use |
be of |
provide |
see |
represent |
have well-defined interface |
contain |
have high cohesion |
replace with |
database | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | component | 9.1 - The Process of Design | | | | | | | | | | | | | | | | | |
dynamic link library | | | DLL | | | | | | bugs and incompatibilities | reusable if it can be used in several different systems with little or no modification | | | | software library | 9.1 - The Process of Design | | | | | | | | | | | | | | | | | |
executable file | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | file | 9.1 - The Process of Design | | | | | | | | | | | | | | | | | |
framework | to handle the requirements of particular customers | | | any programming language | | | | | | incomplete | | | | component | 9.1 - The Process of Design | | A framework for a rental store could do such things as manage membership, handle deposits, process rentals and returns, and compute penalties for late returns | | | the reuse of both design and code | | slots | Reusable software that implements a generic solution to a generalized problem. It provides common facilities applicable to different application programs | classes or methods that are missing | | common facilities applicable to different application programs | | the structure of an entire application or subsystem | | important functionality | | |
isolated component | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | component | 9.1 - The Process of Design | | | | | | | | | | | | | | | | | a different component that has equivalent functionality |
layer | | | | | the layer immediately below it | procedure calls or by inter-process communication where the lower layers can become servers and the higher layers can become clients | | smaller subsystems | | reusable if it can be used in several different systems with little or no modification | multi-layer system | | | component | 9.2 - Principles Leading to Good Design | | The set of related services which could form a layer might include:- Services for computation
- Services for transmission of messages or data
- Services for storage of data
- Services for managing security
- Services for interacting with users
- Services provided by an operating system
- Services provided directly by the hardware
| | | | | | A subsystem that provides a set of services and has layer cohesion | | | services through an API | a lower layer as a set of services it can use | | that is used by layer immediately above | | | |
module | | | | | | | side effects if it does not modify any data, and does not leave behind any information, other than its result, that would have an effect on other computations | | | reusable if it can be used in several different systems with little or no modification | | | | component | 9.1 - The Process of Design | | | | | | | | A component that is defined at the programming language level, such as file, method or package | | | | | | | | if related aspects of a system are kept together in this module, and unrelated aspects are kept out | |
reusable component | | if it is of high quality | | | | | | | software engineer available to properly maintain it | reusable if it can be used in several different systems with little or no modification | | | | component | 9.1 - The Process of Design | more reliable than software not designed to be reused because it is tested in all the systems it is used in, and because it is used in different contexts, exposing any weak points | | | the design of software systems | | | | A piece of software, such as a library, command, framework or application that is reused in a software system | | high quality if its designer followed the same steps as the development of complete applications: domain and requirements analysis, design, documentation, testing and inspection, and if a software engineer is available to properly maintain it | | | | | | | |
source file | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | file | The Basics of Java | | | | | | | | | | | | | | | source code | | |
transaction handler | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | component | 9.5 - Architectural Patterns | | the dynamic binding and dispatching of polymorphic methods | | | | | | | | | | | | | | | |
user interface component | | | | | | | | | | reusable if it can be used in several different systems with little or no modification | | widget | | component | 7.4 - The Basics of User Interface Design | | | | | | | | A component used to create the user interface such as a menu, list, input field etc. | | | | | | | | | |
virtual machine | | | VM | | | | | | | reusable if it can be used in several different systems with little or no modification | | | | component | The Basics of Java | | | | | | | | | just-in-time compilation | | | | | | | | |