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

Like this? Share it with your network

Share

Presentation on component based software engineering(cbse)

on

  • 7,116 views

 

Statistics

Views

Total Views
7,116
Views on SlideShare
7,078
Embed Views
38

Actions

Likes
2
Downloads
196
Comments
0

1 Embed 38

http://www.scoop.it 38

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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]
  • 18. CURRENT COMPONENT TECHNOLOGIES
  • 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