Please enable JavaScript.
Coggle requires JavaScript to display documents.
Component-Oriented Programming - Coggle Diagram
Component-Oriented Programming
Why CODA important?
Software Crisis
reasons why COP
It provides a higher level of abstraction.
an increasingly large number of reusable component libraries that assist in the development of applications for various domains
Major Goals
complexity
managing change
reuse
conquering
Conquering Complexity
COP provides an effective way to deal with the
complexity of software: divide and conquer
Managing Change
Change is inherent
The user requirements change,
specifications change,
personnel change,
budget changes,
technology changes
emphasis during
architecture and design on
the dependencies between the components
on the management of
those dependencies.
COP provides an effective to deal
planning for change
design for change,
building for change
adapt to new and changing requirements.
to build systems out of reusable components
Software Reuse
advantage
best-in-class solutions
consequent improved quality
large productivity gains
level
Source code copy (lowest level)
function libraries (better but not extensible)
Class libraries (better & extensible)
Software reuse allows to design and implement something
once and to use it over and over again in different contexts.
COP supports highest level
black-box reuse
s based on the principle of information hiding
interface
specifies the services a client may request from a
component
remain unchanged, components can be
changed internally without affecting clients
gray-box reuse
somewhere in between white-box reuse and
black-box reuse
white-box reuse
means that the source of a software component is
made available and can be studied, reused, adapted, or modified
COP provides a
manageable solution for
the complexity of software,
the constant change of systems, and
the problems of software reuse