You are on page 1of 16

Component Based Software Engineering

Presented by Homer LeMar March 30th, 2005

Outline

Component Based Software Engineering (CBSE) Overview Advantages/Disadvantages of CBSE CBSE vs. Traditional Software Engineering (SE)

What is a Component?

A software component is a software element that conforms to a component model, and can be independently deployed and composed without modification according to a composition standard.
[1],[2]

What is a Component?-cont..

Component Model

Interaction Standards

Clearly Defined Interface Describe how components can be composed into larger structures Substitutions

Composition Standards

Example: COM

CBSE Definition

Developing new software from prebuilt components. Attempt to make an association between SE and other engineering disciplines.

Advantages of CBSE

Management of Complexity Reduce Development Time Increased Productivity Improved Quality

[3]

Disadvantages of CBSE

Development of Components Lack of Components Component Maintenance Costs Reliability and Sensitivity to changes Unsatisfied Requirements Trust

[3]

More on Trust

Components come in several forms


Binary Source Code Tests Environments

Need a Certification Standard


CBSE vs. Traditional SE

CBSE views the system as a set of off-the-shelf components integrated within an appropriate architecture. SE seeks to create a system from scratch.

CBSE vs. Traditional SE-cont..

CBSE Life Cycle is CBSE Find shorter. Select CBSE develops Architecture. Adapt Test CBSE is less Deploy expensive Replace

Waterfall
Requirements Design Implementation Test Release Maintenance
[3]

CBSE vs. Traditional SE-cont..

CBSE vs. Traditional SE-cont..

CBSE does not have any standard development models like UML for SE. CBSE is young, therefore long term maintainability is largely unknown.

[4]

CBSE vs. Traditional SE-cont..


SE can fulfill requirements more easily. CBSE fulfillment of requirements is based on the available components.

Consequences of CBSE

Promote Large Scale Reuse Reduce Cost

Summary

Young discipline CBSE involves developing a system from pre-built software components It has Advantages and Disadvantages.

References

[1] Council, William T. and Heineman, George T., Component-Based Software Engineering. Addison-Wesley: Upper Saddle River, 2001. [2] Pour, Gilda, Component-Based Software Development approach: New Oppurtunities and Challenges, Proceedings of the 26th International Conference on Technology of Object-Oriented Languages and Systems, 1998. [3] Crnkovic, Ivica, Component-based Software Engineering New Challenges in Software Development, in 27th Int. Conf. Information Technology Interfaces ItI 2003, June 1-19, 2003, Cavtat, Croatia. [4] Way, Ju An, Towards Component-Based Software Engineering, Proceedings of the eighth annual consortium on Computing in Small Colleges Rocky Mountain conference, pg. 177-189, Orem, Utah, 2000.

You might also like