0% found this document useful (0 votes)
15 views2 pages

METHODOLOGY Component-Based Software Development

Component-Based Software Development (CBSD) focuses on assembling reusable components to enhance software development efficiency and reduce costs. It addresses complexities in software creation and promotes an evolutionary approach, allowing for significant reductions in development time and project costs. While CBSD offers advantages like improved productivity and software quality, it faces challenges such as component availability, lack of standardization, and insufficient certification processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views2 pages

METHODOLOGY Component-Based Software Development

Component-Based Software Development (CBSD) focuses on assembling reusable components to enhance software development efficiency and reduce costs. It addresses complexities in software creation and promotes an evolutionary approach, allowing for significant reductions in development time and project costs. While CBSD offers advantages like improved productivity and software quality, it faces challenges such as component availability, lack of standardization, and insufficient certification processes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Component-Based Software Development

The paradigm of assembling components and writing code to make them


components functioning is known as Component-Based Software Development.
Component-based software development (CBSD) is a technology that has
started to demonstrate that it offers advantages in development time and cost reduction in
the software development process.
Component-Oriented Programming constitutes application development
software Based on reusable Components, since it is a paradigm that advocates the
construction of reusable components in open and distributed environments, with the
Objective of achieving a global software market.

It is evolutionary by nature and requires an interactive approach to software creation.

Problems that component-based development aims to solve:


Addressing the growing complexity of software
Reduce the adaptation time to changes
Growing importance of open and distributed systems
CBD is a natural evolution of object-oriented programming.

CHARACTERISTICS
It is evolutionary
It has an evolutionary approach to software creation.
Start with identifying the most important classes
• Examine the data that will be handled
Allows for software reuse
The assembly of the components reduces 70% of the cycle time.
software development and 84 out of 100% of the project cost.

TECHNIQUES
Component-based development is an application of the divide & conquer technique.
to manage complexity. The main difference with structured methods is
mainly that the analysis and design is carried out within the same paradigm as the
implementation.
In computer science, the term divide and conquer (DAC) refers to
one of the most important paradigms of algorithmic design. The method is based on the
recursive resolution of a problem by dividing it into two or more subproblems of the same type
or similar. The process continues until they become simple enough as
so that they can be solved directly. In the end, the solutions to each of the sub-problems
they combine to provide a solution to the original problem.

ADVANTAGES
Improvement of productivity
Thanks to the reuse of software
In the first phase, the opposite effect occurs when investing time and
effort in achieving reusability
Reduction of software complexity
Improvement of market access times
As a consequence of the two previous aspects
Increase in software quality
Whenever a market of certified components is used.
Improvement of maintenance
Easier errors to detect and fix
Possibility of dynamic update

DISADVANTAGES
Availability of components
It only exists in some fields: GUIs, office automation, etc.
Lack of standardization
Business interests
Interoperability through bridges
Lack of certification processes that guarantee the quality of the components
Lack of a well-defined component-based software engineering process
Risk for companies to change their development processes

You might also like