Component Based Software Engineering Outline n n n
Component Based Software Engineering
Outline n n n Component Based Software Engineering (CBSE) Overview Advantages/Disadvantages of CBSE vs. Traditional Software Engineering (SE)
What is a Component? n “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. . n Component Model ¡ Interaction Standards n ¡ Composition Standards n n n Clearly Defined Interface Describe how components can be composed into larger structures Substitutions Example: COM
CBSE Definition n n Developing new software from pre-built components. Attempt to make an association between SE and other engineering disciplines.
Advantages of CBSE n n Management of Complexity Reduce Development Time Increased Productivity Improved Quality [3]
Disadvantages of CBSE n n n Development of Components Lack of Components Component Maintenance Costs Reliability and Sensitivity to changes Unsatisfied Requirements Trust [3]
More on Trust n Components come in several forms ¡ ¡ n Binary Source Code Need a Certification Standard ¡ ¡ Tests Environments
CBSE vs. Traditional SE n n 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. . n n n 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. . n n 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. . n n SE can fulfill requirements more easily. CBSE fulfillment of requirements is based on the available components.
Consequences of CBSE n n Promote Large Scale Reuse Reduce Cost
Summary n n n Young discipline CBSE involves developing a system from pre-built software components It has Advantages and Disadvantages.
- Slides: 15