Component-Based Development (CBD) has been broadly used in software development, as it enhances reusability and flexibility, and reduces the costs and risks involved in systems development. It has therefore spawned many widely-used approaches, such as Commercial Off-The-Shelf (COTS) and software product lines. On the other hand, in order to gain a competitive edge, organizations need to define custom processes tailored to fit their specific development requirements. This has led to the emergence of process patterns and Method Engineering approaches.
We propose a set of process patterns commonly encountered in component-based development methodologies. Seven prominent component-based methodologies have been selected and reviewed, and a set of high-level process patterns recurring in these methodologies have been identified. A generic process framework for component-based development has been proposed based on these process patterns. The process patterns and the generic framework can be used for developing or tailoring a process for producing component-based systems.
- Reduces considerably the software to be developed “in-house”
- Allows faster delivery
- In principle, more reliable systems, due to using previously tested components
- It leads to software re-used and re-usability provides a number of tangible benefits.
- It leads to reduction in development cycle time.
- It leads to significant reduction in project cost.
- It leads to significant increase in productivity.
- Compromises in requirements are needed
- Less control over the system’s evolution
When to Use Component Based Development Model?
- Good for fast-term projects, re-usability of software component enables fast application developement.
- Very suitable for use by software vendor, to make standard modul for people/customer needs. Example: Java EE, CORBA, RPC, REST, etc.
- Process Patterns for Component-Based Software Development [02-10-2013 16:00]
- The advantages and disadvantages of a component-based approach to object oriented software development [02-10-2013 16:00]
- Component Based Software Engineering [02-10-2013 16:30]