• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/14

Click to flip

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