You are on page 1of 12

Unversity of Education

Group Members

Muhammad Saqlain bsf2101223

Muhammad Awaise bsf2100760

Abdullah Tanveer bsf2000532

Topic:
Component-based Software Engineering

1
Outline
• Introduction
• Component-based software engineering
• Stages of CBSE
• Essentials of CBSE
• Components
• Component Characteristics
• Advantages & Disadvantages of CBSE
• Conclusion

2
Introduction

• A software process is represented as a set of work phases that is


applied to design and build a Software product.
• To represent software processes, we will use different types of
models which are called software process models. Each model
represents a process from a specific perspective.
• The three most widly used software process models are :-
 The Waterfall Model
 Evolutionary Development
 Component-based Software Engineering (CBSE)

3
Component-based Software Engineering

• Component-based software engineering (CBSE) is an approach to


software development that is based on the existance of a significant
number of reusable components. It focuses on integrating these
components into a system rather than developing them from
scratch.
• A generic process model for CBSE is given below:-

Requirements Requirements Development


Component System design System
and validation
specification analysis modification with reuse
integration

4
Stages of CBSE

• Requirements specification : A software requirements specification


(SRS) is a document that captures complete description about how
the system is expected to perform.
• Component analysis: A search is made for the components to
implement the given requirements specification.
• Requirements modification: During this phase, the requirements are
analyzed using information about the components that have been
discovered. They are then modified to reflect the available
components. If the modifications are impossible, the component
analysis activity may be re-entered to search for alternative solutions.

5
Con’t

• System design with reuse: During this phase, the framework of the
system is designed or an existing framework is reused. The
designers take into account the components that are reused and
they will organize the framework accordingly.
• Development and integration: The components are integrated to
create the new system. System integration, in this model, may be
part of the development process rather than a separate activity.
• System Validation is a set of actions used to check the compliance
of any element with its purpose and functions. These actions are
planned and carried out throughout the life cycle of the system.
6
Essentials of CBSE

• Independent components that are completely specified by their


interfaces. There should be a clear separation between the
component Interface and its implementation.
• Component standards to facilitate component integration. That is
how components will communicate with each other.
• Middleware that provides software support for component
integration.
• A development process that is geared to reuse.

7
Components

 The component is an independent, executable entity. It can be


made up of one or more executable objects.
 Councill and Heineman defines a component as:
- “A software component is a software element that conforms
to a component model and can be independently deployed and
composed without modification according to a composition
standard.”

8
Component Characteristics

Component Description
Characteristic

Standardized Component standardization means that a component used in a CBSE process has to conform to a standard
component model. This model may define component interfaces, component metadata, documentation,
composition, and deployment.
Independent A component should be independent—it should be possible to compose and deploy it without having to
use other specific components.

Composable For a component to be composable, all external interactions must take place through publicly defined
interfaces. In addition, it must provide external access to information about itself, such as its methods and
attributes.
Deployable To be deployable, a component has to be self-contained. It must be able to operate as a stand-alone entity
on a component platform that provides an implementation of the component model.

Documented Components have to be fully documented so that potential users can decide whether or not the
components meet their needs. The syntax and, ideally, the semantics of all component interfaces should
be specified.

9
Advantages Disadvantages

• Reduces development time • Development of components


• Increases productivity • Quality of components is
questionable
• Reduction in cost for
development • Component maintenance costs
• Reliability is increased • Sensitive to changes
• Flexibility

10
Conclusion

- CBSE is not a small topic, but I’ve tried to cover all


the important points of it in my limited time. I hope it was
helpful to you all.

- Any Questions?

11
Thank You

12

You might also like