Presentation on component based software engineering(cbse)
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Presentation on component based software engineering(cbse)






Total Views
Views on SlideShare
Embed Views



1 Embed 38 38



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Presentation on component based software engineering(cbse) Presentation Transcript

  • 1. PRESENTATION ONCOMPONENT 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 SOFTWARECOMPONENT 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
  • 22. THANK YOU