Top Banner
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Component based-software-engineering
Page 2: Component based-software-engineering

Group Members

Names Roll-No

Wasim Raza BSCS-13-F-293

Hafiza Sanila Sajid BSCS-13-F-274

Kulsoom Akhlaq BSCS-13-F-252

Syeda Rabia Fatima BSCS-13-F-255

Hafsa Rehman BSCS-13-F-248

Page 3: Component based-software-engineering

Component-Based Software Development

Page 4: Component based-software-engineering

What is Component-Based Software Engineering (CBSE)? Component

◦ What is a component?◦ Aspects of well-designed components

Integration of components Advantages of CBSE Disadvantages of CBSE

Key Points

Page 5: Component based-software-engineering

To explain that CBSE is used to develop standard components

To explain the laws of software development

To describe component and component integration

Objectives

Page 6: Component based-software-engineering

Component-based software engineering is the idea of building software from established software components, as opposed to building the software from the ground up.

Components interact through well-defined interfaces.

What is CBSE?

Page 7: Component based-software-engineering

Software Reuse In most engineering disciplines, systems are

designed by composition (building system out of components that have been used in other systems)

Software engineering has focused on custom development of components

To achieve better software quality, more quickly, at lower costs, software engineers are beginning to adopt systematic reuse as a design process

Page 8: Component based-software-engineering

Benefits of Reuse

Increased Reliability◦ components already exercised in working systems

Reduced Process Risk◦ less uncertainty in development costs

Effective Use of Specialists◦ reuse components instead of people

Standards Compliance◦ embed standards in reusable components

Accelerated Development◦ avoid custom development and speed up delivery

Page 9: Component based-software-engineering

Continuing change

Increasing complexity

Self regulation

Conservation of organizational stability

Laws governing software development

Page 10: Component based-software-engineering

Conservation of familiarity

Continuing growth

Declining quality

Feed back systems

Laws governing software development contd..

Page 11: Component based-software-engineering

CBSE based software engineering is an approach to software development that relies on software reuse

• Reusability

• Sustainability

• Extensibility

Implementation

Page 12: Component based-software-engineering

Reusability Reusing components in different systems

Reusing components demands certain constraints like the necessity for ..

Good documentationWell organized reuse processSimilar architecture

C1

Application1 Application2

C1 C2 C3 C1 C4 C5

Page 13: Component based-software-engineering

Alternative implementation of a component may be used

The component used should meet the system requirements

Sustainability

Application 1 Application2c1 c2 c3 C1’ c2 c3

Page 14: Component based-software-engineering

Extending components that are part of a system

Add additional Components

Extensibility

c1 c2 c3

c1C2+ c3

c1 c2 c3

c2 c4 c3c1

Page 15: Component based-software-engineering

Component integration is relatively easy, the main focus is on maintenance.

Maintenance

Component

Builder Integrator Customer

Page 16: Component based-software-engineering

Commercial Off-the-Shelf Software COTS systems are usually complete applications

library the off an applications programming interface (API)

Building large systems by integrating COTS components is a viable development strategy for some types of systems (e.g. E-commerce or video games)

Page 17: Component based-software-engineering

Divides large projects into smaller subprojects CBSE is language independent. Reduced time to market Increased productivity/quality Reusability of components Easy to replace components

Advantages of CBSE

Page 18: Component based-software-engineering

Making Components Reusable◦ Increased Development time◦ Harder to identify requirements◦ Decreases usability

Choosing Middleware◦ Incompatible technologies

Testing is Harder◦ Unknown uses of components

High initial cost ◦ Training of developers

Disadvantages of CBSE

Page 19: Component based-software-engineering

Component based approach has been successful in many application domains

Web and internet based applications

Office applications like the GUI tools

Telecommunications and consumer electronics

The success…

Page 20: Component based-software-engineering

Software evolution in the age of component-based software engineering M.M. Lehman and J. F. Rami

Towards Component-Based Software Engineering Gilda Pour San Jose State University U.S.A.

Maintaining Component based software systems .Jeffrey Voes Reliable Software Technologies.

  

References

Page 21: Component based-software-engineering

Any Question?