SlideShare a Scribd company logo
1 of 22
PRESENTATION ON
COMPONENT BASED SOFTWARE ENGINEERING

       Presented by:
       Chaitanya Pratap Singh
       MCA (4th semester)


       South Asian University, New Delhi, India
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…
 Poulin presented a set of metrics used by IBM to
  estimate the efforts saved by reuse.
 Reuse Percentage measures how much of the product
  can be attributed to reuse and is given as:-
     Product Reuse Percentage = (RSI / (RSI + SSI)) * 100%
     Where
         SSI= Shipped Source Instructions
         RSI= Reused Source Instructions
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
 CORBA: Common Object Request Broker
  Architecture
 COM: Component Object Model

 IDL: Interface Description Language

 EJB: Enterprise JavaBeans (Java APIs)
APPLICATIONS
   This emerging component development approach
    is being widely used in various distinct domains .
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

What's hot

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
Slideshare
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
Bala Ganesh
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
Sidra Ashraf
 

What's hot (20)

software cost factor
software cost factorsoftware cost factor
software cost factor
 
CS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling TechnologiesCS8791 Unit 2 Cloud Enabling Technologies
CS8791 Unit 2 Cloud Enabling Technologies
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Waterfall model in SDLC
Waterfall model in SDLCWaterfall model in SDLC
Waterfall model in SDLC
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software quality management standards
Software quality management standardsSoftware quality management standards
Software quality management standards
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Defect removal effectiveness
Defect removal effectivenessDefect removal effectiveness
Defect removal effectiveness
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
component based development model
component based development modelcomponent based development model
component based development model
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 

Similar to Presentation on component based software engineering(cbse)

term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
Sukhdeep Singh
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...
Kiogyf
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
Saransh Garg
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
Ian Sommerville
 
Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14
koolkampus
 

Similar to Presentation on component based software engineering(cbse) (20)

M046056672
M046056672M046056672
M046056672
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 
Ijsea04021003
Ijsea04021003Ijsea04021003
Ijsea04021003
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
 
Ch17
Ch17Ch17
Ch17
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
I017345357
I017345357I017345357
I017345357
 
A Review on Quality Assurance of Component- Based Software System
A Review on Quality Assurance of Component- Based Software SystemA Review on Quality Assurance of Component- Based Software System
A Review on Quality Assurance of Component- Based Software System
 
Software engineering fundamentals
Software engineering fundamentalsSoftware engineering fundamentals
Software engineering fundamentals
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
 
Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14Design Issue(Reuse) in Software Engineering SE14
Design Issue(Reuse) in Software Engineering SE14
 
07 fse implementation
07 fse implementation07 fse implementation
07 fse implementation
 

More from Chandan Thakur (7)

Libsys 7 to koha
Libsys 7 to kohaLibsys 7 to koha
Libsys 7 to koha
 
Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)
 
Chord Node Join
Chord Node JoinChord Node Join
Chord Node Join
 
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet ApplicationsChord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
Chord- A Scalable Peer-to-Peer Lookup Service for Internet Applications
 
A maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networksA maximum residual multicast protocol for large scale mobile ad hoc networks
A maximum residual multicast protocol for large scale mobile ad hoc networks
 
Shayri
ShayriShayri
Shayri
 
Nirmal baba
Nirmal babaNirmal baba
Nirmal baba
 

Recently uploaded

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Presentation on component based software engineering(cbse)

  • 1. PRESENTATION ON COMPONENT BASED SOFTWARE ENGINEERING Presented by: Chaitanya Pratap Singh MCA (4th semester) South Asian University, New Delhi, India
  • 2. 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
  • 3. 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.
  • 4. 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”
  • 5. 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
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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
  • 10. PHASES OF COMPONENT DEVELOPMENT  System requirements  Design the component  Develop the component  Testing  Functional or Black Box Testing,  Structural or White Box Testing
  • 11. 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.
  • 12. METRIC USED IN CBSD CONT…  Poulin presented a set of metrics used by IBM to estimate the efforts saved by reuse.  Reuse Percentage measures how much of the product can be attributed to reuse and is given as:-  Product Reuse Percentage = (RSI / (RSI + SSI)) * 100%  Where  SSI= Shipped Source Instructions  RSI= Reused Source Instructions
  • 13. 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%
  • 14. 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
  • 15. 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
  • 16. 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.
  • 17. 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]
  • 19.  CORBA: Common Object Request Broker Architecture  COM: Component Object Model  IDL: Interface Description Language  EJB: Enterprise JavaBeans (Java APIs)
  • 20. APPLICATIONS  This emerging component development approach is being widely used in various distinct domains .
  • 21. 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