Professional Documents
Culture Documents
ap-sengfac@ncst.ernet.in
Coverage
• Reuse
• Motivation
• CBSD/CBSE vs CBD
• Terminology
• Domain Engineering
• Component Based Development
• Economies of CBSE
Reuse
• Historical aspect
– Ad hoc
– Experience
• Modern era
– Locate scope of reuse and apply
– Software Architecture, Design
Patterns, Code reuse via libraries,
Binary reuse…
Motivation
Players
• OMG
– CORBA
• Sun, Sunsoft
– EJB
• Microsoft
– COM, DCOM, ActiveX, COM+, etc.
Competition
CBSE/CBSD vs CBD
• CBSE is about building software
through composition. Assumes
existence of components that can
be readily employed under new
development
• CBD is about development of
component
• CBD is part of CBSE activity
CBSE definition – as per CMU
• CBSE is concerned with the rapid
assembly of systems from
components where
– Components and frameworks have
certified properties
– These certified properties provide the
basis for predicting the properties of
system build from components
Terminology
• Components
• Objects
• Abstraction
• Interfaces/Contracts
• Component Model
• Component Framework
• COTS, Open Systems
Component – ECOOP workshop
• A Software Component is a unit of
composition with contractually
specified interfaces and explicit
context dependencies only. A
software component can be
deployed independently and is
subject to composition by third
parties
Component – as per Szyperski
– Component is a unit of independent
deployment
• Well separated from environment and
other components
– Component is a unit of third party
composition
• Sufficiently self – contained
– Component has no persistent state
• Cannot be distinguished from copies of
itself
Component – as per CMU
• Component is an opaque
implementation of functionality
– components will remain “black boxes” to consumers.
• Subject to third – party composition
– Use should not depend upon tools or
knowledge of the component that is in the
possession of component provider
• Conformant with a component model
– CM prescribe of how component interact
with each other. Enforces design constraint
Object – as per Szyperski
• Object is unit of instantiation. It
has unique identity
• An object has state (can be
persistent)
• Object encapsulates its state and
behavior
Planning
Search
Risk Lib
Customer Analysis
Communication Construct
nth iteration
Build
Component
Customer
Evaluation
Engineering Update
construction Lib
& Releases
Reusable
Domain S/W Arch
Component
Analysis Development
Development
Repository
Domain Structural Reusable
Domain Model Model Artifacts/
Engineering Components
Component Component
Qualification Update
Component
Adaptation
Architectural Application
Analysis Component
Design Software
Adaptation
Ttaxonomies
Technical Literature