Component Based Software Development
Component Based Software Development
BASED SOFTWARE
DEVELOPMENT
ST. THOMAS’ COLLEGE OF ENGINEERING AND
TECHNOLOGY
GROUP MEMBERS :
GOURAB PAL(29)
DISHANI SARKAR(44)
RITU SINGH(48)
RITIKA YADAV(52)
2
INTRODUCTION
Component Based Software Engineering is a
process that emphasis the design and
construction of computer based system using
reusable software “components” .
It emerged from the failure of object oriented
development to support effective reuse. Single
object classes are too detailed and specific.
CBSE embodies the “buy, do not built”
philosophy .
3
CBSE VS TRADITIONAL SE
CBSE views the system as a set of off-the-shelf component
integrated within appropriate architecture. Whereas SE seeks to
create a system from scratch ( building something without
tools).
CBSE does not have any standard development models like UML
for SE.
SE can fulfill the requirements more easily whereas CBSE’S
fulfillment of the requirements is based on available
components.
4
ARCHITECTURE
5
PRINCIPLES OF COMPONENT-BASED DESIGN
The software system is decomposed into reusable , cohesive
and encapsulated components units.
Each component has its own interface that specifies required
ports and provided ports ; each component hide its detailed
information.
A component can extend to other components and still offer its
own extension points. It is the concept of plug-in based
architecture. This allows a plug-in to offer another plug-in API.
6
COMPONENT MODELS
A component model is a definition of properties that components
must satisfy, methods and mechanisms for the composition of
components. During the last decades, researchers and
practitioners have proposed several component models with
different characteristics.
7
Common Object Request Broker
Architecture
The Common object request broker architecture (CORBA) is a standard defined by
the Object Management Group (OMG) designed to facilitate the communication of
systems that are deployed on diverse platforms. CORBA enables collaboration between
systems on different operating systems, programming languages, and computing
hardware. CORBA uses an object-oriented model although the systems that use the
CORBA do not have to be object-oriented. CORBA is an example of the distributed
object paradigm.
8
ADVANTAGES
COST- One of the most important advantage is increased
productivity and decreased cost of development. This is because
the components can be reused by adjusting them to a particular
scenario what saves a substantial amount of time and financial
resources.
Ease of deployment- The deployment of components is much
more efficient, because if the small change is needed, only the
affected component will have to be changed and deployed back.
In the case of very large systems this can save a lot of time and
effort.
Extensible- The component based paradigm makes the
development process much easier. Since the components are
isolated, the programmers can work on it independently or in
small teams, keeping the level of efficient communication.
9
10
DISADVANTAGE
Component trustworthiness.
Component certification.
Emergent property prediction.
Requirements trade-offs.
11