SlideShare a Scribd company logo
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

CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
Kwangshin Oh
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
Bilal Shah
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
Mohammed Romi
 
5 architecture
5 architecture5 architecture
5 architecture
Adarsh Kumar
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
ubaidullah75790
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
Saqib Raza
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Legacy system.
Legacy system.Legacy system.
Legacy system.
gourav kottawar
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
Sharath g
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
Madushan Sandaruwan
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 

What's hot (20)

CS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design PatternsCS6201 Software Reuse - Design Patterns
CS6201 Software Reuse - Design Patterns
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
5 architecture
5 architecture5 architecture
5 architecture
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software design
Software designSoftware design
Software design
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Uml
UmlUml
Uml
 
Legacy system.
Legacy system.Legacy system.
Legacy system.
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
 
Incremental process model
Incremental  process  modelIncremental  process  model
Incremental process model
 
Component level design
Component   level designComponent   level design
Component level design
 
Software design
Software designSoftware design
Software design
 

Similar to Presentation on component based software engineering(cbse)

‘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
ijceronline
 
Ijsea04021003
Ijsea04021003Ijsea04021003
Ijsea04021003
Editor IJCATR
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
Component based-software-engineering
Component based-software-engineeringComponent based-software-engineering
Component based-software-engineering
Wasim Raza
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd modelsSukhdeep Singh
 
Ch17
Ch17Ch17
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
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
Stephen Raj
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
Satya P. Joshi
 
Architecture support for component
Architecture support for component Architecture support for component
Architecture support for component Saransh Garg
 
Design concepts
Design conceptsDesign concepts
Design concepts
JoshuaU1
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Software engineering
Software engineeringSoftware engineering
Software engineering
Stella526835
 
I017345357
I017345357I017345357
I017345357
IOSR Journals
 
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
iosrjce
 
Software engineering fundamentals
Software engineering fundamentalsSoftware engineering fundamentals
Software engineering fundamentals
JigyasaAgrawal7
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
FarHana74914
 
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 SE14koolkampus
 

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

Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)Quality improvement paradigm (QIP)
Quality improvement paradigm (QIP)
Chandan Thakur
 
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 ApplicationsChandan Thakur
 
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 networksChandan Thakur
 
Nirmal baba
Nirmal babaNirmal baba
Nirmal baba
Chandan Thakur
 

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

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

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