Component based-software-engineering

21

Transcript of 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

Component-Based Software Development

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

To explain that CBSE is used to develop standard components

To explain the laws of software development

To describe component and component integration

Objectives

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?

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

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

Continuing change

Increasing complexity

Self regulation

Conservation of organizational stability

Laws governing software development

Conservation of familiarity

Continuing growth

Declining quality

Feed back systems

Laws governing software development contd..

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

• Reusability

• Sustainability

• Extensibility

Implementation

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

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

Extending components that are part of a system

Add additional Components

Extensibility

c1 c2 c3

c1C2+ c3

c1 c2 c3

c2 c4 c3c1

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

Maintenance

Component

Builder Integrator Customer

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)

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

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

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…

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

Any Question?