11.02.2014 Views

UML PROFILE FOR SAVECCM - Research

UML PROFILE FOR SAVECCM - Research

UML PROFILE FOR SAVECCM - Research

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Component – based software engineering<br />

2. Component – Based Software Engineering<br />

This section introduces the new and increasing approach in software<br />

engineering, the Component – Based Software Engineering.<br />

2.1 An itroduction to CBSE discipline<br />

The field of component-based software engineering (CBSE) is concerned with<br />

the development of software applications and systems by assembling pre-existing<br />

smaller pieces, which are termed software components. A consequence of this<br />

approach is that software components may be independently developed, reused in<br />

many various applications or systems, or can be replaced within those systems<br />

without any side effect. To assemble components, a proprietary code that<br />

connects the components is usually needed (this code is often called a .glue<br />

code).<br />

In an ideal world, assembling of components would be simple and smooth.<br />

However, in real world, CBSE is still a new discipline, and there are many<br />

problems to solve, and supporting technologies and tools to develop. That is why<br />

assembling of components is still a complex and often difficult process.<br />

The widespread development and reuse of software components is regarded by<br />

many as one of the next biggest phenomena for software development. Reusing<br />

high-quality software components in software development has the potential for<br />

drastically improving the quality and development productivity of component-based<br />

software. Building systems based on reusable components is not a new idea. It<br />

has been proven to be a very effective cost-reduction approach.<br />

Component-based systems are a result of adopting a component-based design<br />

strategy. By design strategy, it is considered something very close to architectural<br />

style – a high level design pattern described by the types of components in a<br />

system and their patterns of interaction [Bass 98]. Software component technology<br />

includes the concepts that support and reflect this design pattern as it is depicted<br />

graphically in Figure 2-1. This reflection is due to the fact that software component<br />

technology does not only exist in development process but it is also the part of<br />

deployed system.<br />

3

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

Saved successfully!

Ooh no, something went wrong!