Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
14 Cards in this Set
- Front
- Back
COTS
|
commercial off-the-shelf
(e.g. COTS system) |
|
5 Benefits of Reuse
|
1) Increased dependability
2) Reduced process risk ----less uncertainty in development costs 3) Effective use of specialists 4) Standards compliance 5) Accelerated Development |
|
Design Patterns (defn)
|
A design pattern is a way of reusing abstract knowledge about a problem and its solution
Patterns often rely on object characteristics such as inheritance and polymorphism. |
|
Generator-based reuse
|
* Program generators involve the reuse of standard patterns and algorithms.
* These are embedded in the generator and parameterised by user commands. A program is then automatically generated. * Generator-based reuse is possible when domain abstractions and their mapping to executable code can be identified. |
|
Aspect-Oriented Software Development is based on the principle of __________ ___ ________
|
Based on the principle of separation of concerns.
Shared components are woven into an application at different places when the program is compiled. Cross-cutting concerns are implemented as aspects and are dynamically woven into a program. The concern code is reused and the new system is generated by the aspect weaver. |
|
(Application) Framework (defn)
|
A framework is a reusable, partially complete application that can be specialized to produce custom applications.
Ex) Microsoft .NET Ex) Model View Control (MVC) Framework |
|
System infrastructure frameworks
|
Support the development of system infrastructures such as communications, user interfaces and compilers.
|
|
Middleware integration frameworks
|
Standards and classes that support component
communication and information exchange. |
|
Enterprise application frameworks
|
Support the development of specific types of application such as telecommunications or financial systems.
|
|
Application System Reuse
|
Involves the reuse of entire application systems either by configuring a system for an environment or by integrating two or more systems to create a new application.
|
|
2 approaches to Application System Reuse
|
1) COTS product integration
2) Software Product Lines |
|
1) COTS Product Reuse
|
COTS systems are usually complete application systems that offer an API (Application Programming Interface).
Building large systems by integrating COTS systems is now a viable development strategy for some types of system such as E-commerce systems. |
|
2) Software Product Lines
|
Software product lines or application families are applications with generic functionality that can be adapted and configured for use in a specific context.
Adaptation may involve: Component and system configuration Adding new components to the system Selecting from a library of existing components Modifying components to meet new requirements |
|
4 Types of Software Product Lines (Specialization)
|
1) Platform specialization
2) Environment sp. ---diff versions for diff operating environments, e.g., diff. communication equipment 3) Functional sp. ---for diff customers w/ diff requirements 4) [Business] Process sp. ---diff versions for diff business processes |