You are on page 1of 21

OVERVIEW

¢ Introduction
¢ What is Component
— Component characteristics
¢ Fundamental Principals
¢ Terms & Attributes used in Software Component Model
¢ Component Based Software Development
¢ Life Cycle in CBSD
¢ Metric used in CBSD
¢ Benefits in CBSD
¢ Difficulties in CBSD
¢ CBSE vs. Traditional SE
¢ Current Component Technologies
¢ Applications
¢ Conclusion
INTRODUCTION
¢ CBSE embodies the “the ‘buy, don’t build’
philosophy".
¢ Because of the extensive uses of components, the
Component- Based Software Engineering (CBSE)
process is quite different from that of the traditional
waterfall approach.
¢ It emphasizes on developing new software from
pre-built components.
WHAT IS COMPONENT
¢A component is an independent software unit that
can be composed with other components to create
a software system.
¢ Council and Heineman define a component as:
— “ A software element that conforms to a component
model and can be independently deployed and
composed without modification accordingly to a
composition standard”
COMPONENT CHARACTERISTICS
¢ Independent: A component should be independent
¢ Composable: It means that all external interactions
must take place through publicly defined interfaces.
¢ Deployable: A component has to be self-contained
and must be able to operate as a stand-alone entity
FUNDAMENTAL PRINCIPALS
¢ Independent Software Development:
— Large software systems are necessarily assembled
from components developed by different people.
— To facilitate independent development, it is essential to
decouple developers and users of components.
¢ Reusability:
— Some parts of a large system will necessarily be
special-purpose software, it is essential to design and
assemble pre-existing components in developing new
components.
¢ Software quality:
— A component or system needs to be shown to have
desired behavior, either through logical reasoning,
tracing or testing.
TERMS & ATTRIBUTES USED IN SOFTWARE
COMPONENT MODEL
¢ Syntax: It refers to the „grammar‟ or the rules
followed in the code as per the specific
programming language.
¢ Semantics: It refers to the actual meaning and
view of the components. A component is associated
with a name, an interface and the body that
includes the code.
¢ Composition: This relates to the construction and
working together of components.
COMPONENT BASED SOFTWARE DEVELOPMENT
¢ Component-based software development(CBSD)
approach is based on the idea to develop software
systems by selecting appropriate off-the-shelf
components and then to assemble them with a
well-defined software architecture.
¢ The term component-based software development
(CBD) can be referred to as the process for building
a system using components.
LIFE CYCLE IN COMPONENT-BASED DEVELOPMENT
¢ Requirements analysis
¢ Software architecture selection,
construction, analysis, and evaluation
¢ Component identification and customization

¢ System integration

¢ System testing

¢ Software maintenance
PHASES OF COMPONENT DEVELOPMENT
¢ System requirements
¢ Design the component

¢ Develop the component

¢ Testing
— Functional or Black Box Testing,
— Structural or White Box Testing
METRIC USED IN CBSD
¢ Software metrics are intended to measure
— software quality and performance
— characteristics quantitatively encountered during the
planning and execution of software development
resource
— and effort allocation, scheduling and product evaluation.
¢ These can serve as measures of software products
for the purpose of
— comparison,
— cost estimation,
— fault prediction and
— forecasting.
METRIC USED IN CBSD CONT…
¢ The second approach is a metric called Component
Reusability level (CRL) to measure particular
component‟s reuse level per application in a CBSD.
¢ This metric is again divided into two sub-metrics.
First is CRLLOC, which is measured by using lines
of code, and is expressed as percentage as given
as:-
— CRL LOC ( C ) = (Reuse ( C ) / Size ( C )) *100%
METRIC USED IN CBSD CONT…
¢ The second approach is a metric called Component
Reusability level (CRL) to measure particular
component‟s reuse level per application in a CBSD.
¢ This metric is again divided into two sub-metrics.
First is CRLLOC, which is measured by using lines
of code, and is expressed as percentage as given
as:-
— CRL LOC ( C ) = (Reuse ( C ) / Size ( C )) *100%
BENEFITS IN CBSD
¢ Management of Complexity
¢ Reduce Development Time

¢ Increased Productivity

¢ Improved Quality

¢ Reliability is increased since the components have


previously been tested in various contexts
¢ Maintenance costs are reduced.

¢ Efficiency and flexibility is improved due to the fact


that components can easier be added or replaced
DIFFICULTIES IN CBSD
¢ Development of Components
¢ Quality of Components is questionable
¢ Lack of effective software matrix
¢ Component Maintenance Costs
¢ Reliability and Sensitivity to changes
¢ Unsatisfied Requirements
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(building
something without tools).
¢ CBSE does not have any standard development
models like UML for SE.
¢ CBSE is young, therefore long term maintainability
is largely unknown.
¢ SE can fulfill requirements more easily.

¢ CBSE fulfillment of requirements is based on the


available components.
CBSE VS. TRADITIONAL SE-CONT..

¢ CBSE Life Cycle is CBSE Waterfall


shorter. Find Requirements
Select Analysis
¢ CBSE is less
Design
expensive
Adapt Implementation
Test Test
Deploy Release
Replace Maintenance
[3]
CURRENT COMPONENT TECHNOLOGIES
CONCLUSION
¢ CBSD is an inevitable next wave solution that has
potential to improve time-to-market and man
power/cost trends that have been ongoing.
¢ CBSD is best implemented using more modern
software technologies like:
— COM
— JAVA
— EJB
— CORBA
— ActiveX
THANK YOU
CONCLUSION
¢ CBSD is an inevitable next wave solution that has
potential to improve time-to-market and man
power/cost trends that have been ongoing.
¢ CBSD is best implemented using more modern
software technologies like:
— COM
— JAVA
— EJB
— CORBA
— ActiveX
THANK YOU

You might also like