SlideShare a Scribd company logo
Topic : Component-based
Software Engineering
Sub. Name : Software Engineering
By : SATISH DABHI
 Introduction
A software process is represented as a set of work phases that is
applied to design and build a Software product.
To represent software processes, we will use different types of models
which are called software process models. Each model represents a
process from a specific perspective.
The three most widly used software process models are :-
The Waterfall Model
Evolutionary Development
Component-based Software Engineering (CBSE)
 Component-based Software
Engineering
Component-based software engineering (CBSE) is an
approach to software development that is based on the
existance of a significant number of reusable components. It
focuses on integrating these components into a system
rather than developing them from scratch.
• Component Based Software Engineering(CBSE) is a
process that emphasis the design and construction of
computer based system using reusable software
“components”.
CBSE embodies the “buy , don’t built” philosophy.
Component Based Software Engineering
A generic process model for CBSE is
given below:-
Requirements
specification
Component
analysis
Requirements
modification
System design
with reuse
Development
and
integration
System
validation
 Stages of CBSE :
• Requirements specification :
A software requirements specification (SRS) is a
document that captures complete description about
how the system is expected to perform.
• Component analysis:
A search is made for the components to implement
the given requirements specification.
• Requirements modification:
During this phase, the requirements are analyzed using
information about the components that have been discovered.
They are then modified to reflect the available components.If
the modifications are impossible, the component analysis
activity may be re-entered to search for alternative solutions.
• System design with reuse:
During this phase, the framework of the system is designed or an
existing framework is reused. The designers take into account the
components that are reused and they will organize the framework
accordingly.
• Development and integration:
The components are integrated to create the new system.
System integration, in this model, may be part of the
development process rather than a separate activity.
• System Validation:
is a set of actions used to check the compliance of any
element with its purpose and functions. These actions are
planned and carried out throughout the life cycle of the
system.
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.
 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
 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 Waterfall
Find
Select
Requirements
Analysis
Design
Adapt
Test
Deploy
Implementatio
n
Test
Release
Replace Maintenance
 CBSE Life Cycle is shorter.
 CBSE is less expensive
 CURRENT COMPONENT TECHNOLOGIES
 CORBA: Common Object Request Broker
Architecture
 IDL: Interface Description Language
 COM: Component Object Model
 EJB: Enterprise JavaBeans (Java APIs)
 Photo library composition Using CBSE
 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

More Related Content

PDF
Chapter 2 software development life cycle models
PPT
Software Engineering (Requirements Engineering & Software Maintenance)
PPTX
Component based software engineering
PPTX
Lect4 software economics
DOCX
Software engineering
PDF
Software Engineering - Ch4
PPTX
Unit 1 OOSE
PPTX
Software Engineering
Chapter 2 software development life cycle models
Software Engineering (Requirements Engineering & Software Maintenance)
Component based software engineering
Lect4 software economics
Software engineering
Software Engineering - Ch4
Unit 1 OOSE
Software Engineering

What's hot (20)

PPT
Software estimation
PPTX
Software myths | Software Engineering Notes
PPTX
Software requirements specification
PPTX
Software Engineering Layered Technology Software Process Framework
PPT
Software Requirements in Software Engineering SE5
PPSX
Cocomo model
PPT
Lecture 2 introduction to Software Engineering 1
PPT
System Models in Software Engineering SE7
PPTX
Component-based Software Engineering
PPT
Software design
PPTX
Phased life cycle model
PDF
Software Engineering : Requirement Analysis & Specification
PPT
Chapter 15 software product metrics
PPTX
Presentation on component based software engineering(cbse)
PPTX
Evolving role of Software
PPTX
Software Process Models
PPTX
Staffing level estimation
PPTX
Chapter 1 2 - some size factors
PPTX
software project management Waterfall model
PPTX
Ch 7 integrating quality activities in the projectlife cycle
Software estimation
Software myths | Software Engineering Notes
Software requirements specification
Software Engineering Layered Technology Software Process Framework
Software Requirements in Software Engineering SE5
Cocomo model
Lecture 2 introduction to Software Engineering 1
System Models in Software Engineering SE7
Component-based Software Engineering
Software design
Phased life cycle model
Software Engineering : Requirement Analysis & Specification
Chapter 15 software product metrics
Presentation on component based software engineering(cbse)
Evolving role of Software
Software Process Models
Staffing level estimation
Chapter 1 2 - some size factors
software project management Waterfall model
Ch 7 integrating quality activities in the projectlife cycle
Ad

Similar to Component Based Software Engineering (20)

PPTX
KIOIO jert fill for a art and design .pptx
PPTX
CBSE.pptx
PPTX
component based development model
PDF
‘O’ Model for Component-Based Software Development Process
PPT
component based softwrae engineering Cbse
PPTX
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx
DOCX
An Analysis of Component-based Software Development -Maximize the reuse of ex...
PPTX
Component based-software-engineering
PPTX
Component based-software-engineering
PDF
Testing the Component Based Adoption Techniques during Runtime Configuration
PPTX
Component based development | what, why and how
PDF
M046056672
PDF
02 software component selection
PPT
software Engineering process
PPTX
Component Base Development
PPTX
Ch16 component based software engineering
PPTX
Ch16 - Component Based Software Engineering
PPT
Chapter 2 Software EngineeringSoftware Processes
PDF
A New Model for Study of Quality Attributes to Components Based Development A...
KIOIO jert fill for a art and design .pptx
CBSE.pptx
component based development model
‘O’ Model for Component-Based Software Development Process
component based softwrae engineering Cbse
9 Component Based SE.pptx9 Component Based SE.pptx9 Component Based SE.pptx
An Analysis of Component-based Software Development -Maximize the reuse of ex...
Component based-software-engineering
Component based-software-engineering
Testing the Component Based Adoption Techniques during Runtime Configuration
Component based development | what, why and how
M046056672
02 software component selection
software Engineering process
Component Base Development
Ch16 component based software engineering
Ch16 - Component Based Software Engineering
Chapter 2 Software EngineeringSoftware Processes
A New Model for Study of Quality Attributes to Components Based Development A...
Ad

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
medical staffing services at VALiNTRY
PPTX
Introduction to Artificial Intelligence
PPTX
ai tools demonstartion for schools and inter college
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PPT
Introduction Database Management System for Course Database
Nekopoi APK 2025 free lastest update
Wondershare Filmora 15 Crack With Activation Key [2025
history of c programming in notes for students .pptx
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
PTS Company Brochure 2025 (1).pdf.......
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
ISO 45001 Occupational Health and Safety Management System
Design an Analysis of Algorithms II-SECS-1021-03
Upgrade and Innovation Strategies for SAP ERP Customers
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
medical staffing services at VALiNTRY
Introduction to Artificial Intelligence
ai tools demonstartion for schools and inter college
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
Introduction Database Management System for Course Database

Component Based Software Engineering

  • 1. Topic : Component-based Software Engineering Sub. Name : Software Engineering By : SATISH DABHI
  • 2.  Introduction A software process is represented as a set of work phases that is applied to design and build a Software product. To represent software processes, we will use different types of models which are called software process models. Each model represents a process from a specific perspective. The three most widly used software process models are :- The Waterfall Model Evolutionary Development Component-based Software Engineering (CBSE)
  • 3.  Component-based Software Engineering Component-based software engineering (CBSE) is an approach to software development that is based on the existance of a significant number of reusable components. It focuses on integrating these components into a system rather than developing them from scratch.
  • 4. • Component Based Software Engineering(CBSE) is a process that emphasis the design and construction of computer based system using reusable software “components”. CBSE embodies the “buy , don’t built” philosophy.
  • 6. A generic process model for CBSE is given below:- Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation
  • 7.  Stages of CBSE : • Requirements specification : A software requirements specification (SRS) is a document that captures complete description about how the system is expected to perform. • Component analysis: A search is made for the components to implement the given requirements specification.
  • 8. • Requirements modification: During this phase, the requirements are analyzed using information about the components that have been discovered. They are then modified to reflect the available components.If the modifications are impossible, the component analysis activity may be re-entered to search for alternative solutions. • System design with reuse: During this phase, the framework of the system is designed or an existing framework is reused. The designers take into account the components that are reused and they will organize the framework accordingly.
  • 9. • Development and integration: The components are integrated to create the new system. System integration, in this model, may be part of the development process rather than a separate activity. • System Validation: is a set of actions used to check the compliance of any element with its purpose and functions. These actions are planned and carried out throughout the life cycle of the system.
  • 10. 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.
  • 11.  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”
  • 12.  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
  • 13.  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.
  • 14.  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.
  • 15.  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.
  • 16.  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
  • 17.  PHASES OF COMPONENT DEVELOPMENT  System requirements  design the component  Develop the component  Testing  Functional or Black Box Testing,  Structural or White Box Testing
  • 18.  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
  • 19. 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
  • 20.  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.
  • 21.  CBSE VS. TRADITIONAL SE-CONT.. CBSE Waterfall Find Select Requirements Analysis Design Adapt Test Deploy Implementatio n Test Release Replace Maintenance  CBSE Life Cycle is shorter.  CBSE is less expensive
  • 22.  CURRENT COMPONENT TECHNOLOGIES  CORBA: Common Object Request Broker Architecture  IDL: Interface Description Language  COM: Component Object Model  EJB: Enterprise JavaBeans (Java APIs)
  • 23.  Photo library composition Using CBSE
  • 24.  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