0% found this document useful (0 votes)
52 views20 pages

Component Based Software Engineering: Zahid Javed Lecture No.1

Component-based software engineering (CBSE) is an approach that relies on reusable software components. It emerged due to limitations of object-oriented development in supporting reuse. CBSE aims to develop systems using pre-existing components through activities like component qualification, adaptation, composition, and updating. This reduces development time and costs while improving quality, productivity, and manageability over traditional software engineering.

Uploaded by

Ahsan Sabir
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
52 views20 pages

Component Based Software Engineering: Zahid Javed Lecture No.1

Component-based software engineering (CBSE) is an approach that relies on reusable software components. It emerged due to limitations of object-oriented development in supporting reuse. CBSE aims to develop systems using pre-existing components through activities like component qualification, adaptation, composition, and updating. This reduces development time and costs while improving quality, productivity, and manageability over traditional software engineering.

Uploaded by

Ahsan Sabir
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 20

COMPONENT BASED

SOFTWARE
ENGINEERING
Zahid Javed
Lecture No.1
COMPONENTS: THE LEGO ANALOGY
COMPONENT-BASED SOFTWARE ENGINEERING
 Component-based software engineering (CBSE) is an
approach to software development that relies on the
reuse of entities called ‘software components’.
 It emerged from the failure of object-oriented
development (in the late 90s) to support effective
reuse.
 Well-known in other disciplines.
COMPONENT BASED SOFTWARE
ENGINEERING(CBSE)
 Component Based Software Engineering(CBSE) 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 , don’t built” philosophy.


DEVELOPMENT REUSE AS A GOAL
GOAL OF CBSE
CBSE V/S TRADITIONAL SE
 CBSE views the system as a set of off-the-shelf
components 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.
WHY CBSE?

 CBSE increases quality, especially evolvability and


maintainability.

 CBSE increases productivity.

 CBSE shortens development time.

 CBSE is easy to assemble and less costly to build


the system constructed from discrete parts.
COMPONENT BASED SYSTEM TECHNIQUE

 The process begins when a software team establish


requirements for a system to be built using
conventional requirements elicitation
techniques.

 An architectural design is established , but rather


than moving immediately into more detailed tasks ,
the team examines requirements to determine what
subset is directly amenable to composition ,
rather than construction.
COMPONENTS SELECTION ACTIVITIES
 For those requirements that can be addressed with
available components the following activities take
place:
1. Component qualification
2. Component adaptation
3. Component composition
4. Component update
COMPONENT QUALIFICATION

 It ensures that a candidate component will perform


the function required , will properly “fit” into the
architectural style specified for system , and will
exhibit quality characteristics that are required for
application.

 Interface does not provide all the information


required to determine if a proposed component can
be reused effectively in new application.
COMPONENT QUALIFICATION
 Many factors considered during qualification are:
application programming interface (API) , runtime
requirements , network protocols , OS interface ,
exception handling etc.

 Each of these factors is relatively easy to access when


reusable components that have been developed in-
house are proposed.
COMPONENT ADAPTION

Even after a component


has been qualified for use
within an application
architecture , conflicts
may occur in one or more
of the areas. To avoid
these conflicts an
adaptation technique
called component
wrapping is often used.
COMPONENT ADAPTION
 White-box Wrapping: Integration conflicts
removed by making code-level modifications to the
code. This is not widely used because the COTS
products are not provided with the source code.

 Grey-box Wrapping: Used when component


library provides a component extension language or
API that allows conflicts to be removed or masked.

 Black-box Wrapping: Requires the introduction of


pre- and post-processing at the component interface
to remove or mask conflicts
COMPONENT COMPOSITION
 The component composition task assembles qualified ,
adapted and engineered components to populate the
architecture established for an application. To accomplish
this , an infrastructure must be established to bind the
components into an operating system.

 Among many mechanism for creating an effective


infrastructure is a set of 4 “architectural ingredients” that
should be present to achieve component composition. They
are as follows:

1. Data exchange model


2. Automation
3. Structured storage
4. Underlying object model
COMPONENT COMPOSITION
1- Data exchange model:
Similar to drag and drop type mechanisms should
be defined for all reusable components allow human-to-
software and component to-component transfer.

2- Automation:
Tools, macros, scripts should be implemented to
facilitate interaction between reusable components.
COMPONENT COMPOSITION
3- Structured storage:
Heterogeneous data should be organized and
contained in a single data structure rather several
separate files.

4- Underlying object model:


Ensures that components developed in different
languages are interoperable across computing platforms
REPRESENTATIVE COMPONENT
STANDARDS
 Object Management Group (OMG) CORBA-
Common Object Request Broker Architecture.

 Microsoft COM - Component Object Model

 Sun JavaBeans Component System


ADVANTAGES OF CBSE
 • Reduces development time
 • Increases productivity

 • Reduction in cost for development

 • Reliability is increased

 • Management of complexity

 • Flexibility
DISADVANTAGE OF CBSE
 • Development of components
 • Quality of components is questionable

 • Component maintenance costs

 • Sensitive to changes

You might also like