Professional Documents
Culture Documents
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
Composition Standards
Describe how components can be composed into larger structures
Substitutions
Example: COM
CBSE Definition
Developing new software from pre-
built 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
Need a Certification Standard
Tests
Environments
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 Waterfall
Find Requirements
shorter. Select
CBSE develops Design
Architecture. Adapt Implementation
Test Test
CBSE is less
Deploy Release
expensive Replace 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.