R2 Flashcards
is the process of implementing or updating software systems using existing software components.
Software Reuse
It is the systematic development of reusable components as building blocks to create new systems.
Software Reuse
Software Problem (5)
- Increased Complexity Of Software Systems
- Increased Demand For Qualified Software Professionals
- Frequently Changing Requirements
- Professional Training
- Maintenance
Reuse-based Software Engineering (4)
- System Reuse
- Application Reuse
- Component Reuse
- Object and Function Reuse
Complete systems which may be reused
System Reuse
An application may be reused either by incorporating it without change into other or by developing application families
Application Reuse
Reuse of components of an application from sub-systems to single objects
Component Reuse
Small scale software components that implement single well-defined object or function may be reused
Object and Function Reuse
a software system that can be adapted for different customers without changing the source code of the system
Application System Product
Moderately large entities that can be reused; somewhere between system and component reuse
Application Frameworks
Support the construction of dynamic websites as front-end for applications
Web Application Frameworks
Web Application Framework Features (5)
- Security
- Dynamic Web Pages
- Database Support
- Session Management
- User Interaction
Reuse Procedure (3)
- Component Evaluation
- Component Certification
- Reuse Implementation
Benefits of Software Reuse (6)
- Accelerated Development
- Effective Use of Specialists
- Increased Dependability
- Lower Development Costs
- Reduced Process Risk
- Standards Compliance
Obstacles to Software Reuse (8)
- Little Incentive To Apply The Technology For Reuse
- Software Not Designed for Reuse
- Creating, Maintaining, and using a Component Library
- Finding, Understanding, and Adapting Reusable Components
- Increased Maintenance Costs
- Lack of Tool Support
- “Not-Invented-Here” Syndrome
- Lack of Confidence in Reusable Software Components