22
PRESENTATION ON COMPONENT BASED SOFTWARE ENGINEERING Presented by: Chaitanya Pratap Singh MCA (4 th semester) South Asian University, New Delhi, India

Presentation on component based software engineering(cbse)

Embed Size (px)

Citation preview

Page 1: Presentation on component based software engineering(cbse)

PRESENTATION ON COMPONENT BASED SOFTWARE

ENGINEERING

Presented by: Chaitanya Pratap SinghMCA (4th semester)

South Asian University, New Delhi, India

Page 2: Presentation on component based software engineering(cbse)

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

Page 3: Presentation on component based software engineering(cbse)

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.

Page 4: Presentation on component based software engineering(cbse)

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”

Page 5: Presentation on component based software engineering(cbse)

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

Page 6: Presentation on component based software engineering(cbse)

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.

Page 7: Presentation on component based software engineering(cbse)

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.

Page 8: Presentation on component based software engineering(cbse)

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.

Page 9: Presentation on component based software engineering(cbse)

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

Page 10: Presentation on component based software engineering(cbse)

PHASES OF COMPONENT DEVELOPMENT System requirements Design the component Develop the component Testing

Functional or Black Box Testing, Structural or White Box Testing

Page 11: Presentation on component based software engineering(cbse)

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.

Page 12: Presentation on component based software engineering(cbse)

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

Page 13: Presentation on component based software engineering(cbse)

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%

Page 14: Presentation on component based software engineering(cbse)

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

Page 15: Presentation on component based software engineering(cbse)

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

Page 16: Presentation on component based software engineering(cbse)

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.

Page 17: Presentation on component based software engineering(cbse)

CBSE VS. TRADITIONAL SE-CONT..

CBSE Life Cycle is shorter.

CBSE is less expensive

[3]

CBSE WaterfallFindSelect

RequirementsAnalysis Design

AdaptTestDeploy

ImplementationTestRelease

Replace Maintenance

Page 18: Presentation on component based software engineering(cbse)

CURRENT COMPONENT TECHNOLOGIES

Page 19: Presentation on component based software engineering(cbse)

CORBA: Common Object Request Broker Architecture

COM: Component Object Model IDL: Interface Description Language EJB: Enterprise JavaBeans (Java APIs)

Page 20: Presentation on component based software engineering(cbse)

APPLICATIONS This emerging component development

approach is being widely used in various distinct domains .

Page 21: Presentation on component based software engineering(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

Page 22: Presentation on component based software engineering(cbse)

THANK YOU