21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

474 Chapter 16 ■ Component-based software engineering

CBSE processes

Domain analyst,

Designer,

Implementor,

Maintainer,

Market analyst

CBSE for

reuse

CBSE with

reuse

Component

acquisition

Specifier,

Designer,

Integrator,

Maintainer

Librarian,

Vendor,

Broker

Component

certification

Component

management

Librarian

External

source

Local or

external

certifier

Component

repository

Figure 16.6 CBSE

processes

2. Component management is concerned with managing a company’s reusable

components, ensuring that they are properly catalogued, stored, and made available

for reuse.

3. Component certification is the process of checking a component and certifying

that it meets its specification.

Components maintained by an organization may be stored in a component repository

that includes both the components and information about their use.

16.2.1 CBSE for reuse

CBSE for reuse is the process of developing reusable components and making them

available for reuse through a component management system. The vision of early

supporters of CBSE (Szyperski 2002) was that a thriving component marketplace

would develop. There would be specialist component providers and component vendors

who would organize the sale of components from different developers. Software

developers would buy components to include in a system or pay for services as they

were used. However, this vision has not been realized. There are relatively few component

suppliers, and buying off-the-shelf components is uncommon.

Consequently, CBSE for reuse is mostly used within organizations that have

made a commitment to reuse-driven software engineering. These companies have a

base of internally developed components that can be reused. However, these internally

developed components may not be reusable without change. They often include

application-specific features and interfaces that are unlikely to be required in other

programs where the component is reused.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!