You are on page 1of 18

Component Oriented

Programming

Submitted by –
 Mohit saboo

 Narendra maravi

 Neha singh

 Neha singh thakur


Introduction
Programming is an activity of constructing
computer programs that are a sequence of
instructions describing how to perform
certain tasks with computers. The Pascal’s
machine built in 1642 by Blaise Pascal
(1623–1662), for instance, could only be
programmed by operating gears and
cranks. For all modern electronic
computers, however, certain programming
languages have to be used to program the
computers.
Component oriented
programming
 Component-oriented programming
enables programs to be constructed
from prebuilt software components,
which are reusable, self-contained
blocks of computer code.
 These components have to follow
certain predefined standards
including interface,
connections, versioning, and
deployment.
 COP is to develop software by assembling
components.
 OOP emphasizes classes and objects,
while COP emphasizes interfaces and
composition.
 Hence COP is an interface-based
programming
PRINCIPLES OF COP
 Components Represent
Decomposition and Abstraction
When we decompose a system, we factor
it into separable components in such a way
that
 Each component is at the same level of detail;
 Each component can be solved independently; and
 The implementations of these components can be
integrated to satisfy the original system
requirements.
Abstraction is a way to do
decomposition productively by
changing the level of detail to be
considered. Software components
hide certain details in an effort to
provide only necessary information
to the clients through their interface.
 Reusability Should Be Achieved at
Various Levels

The requirements specification is seen as a


form of software. In the design phase,
architectural design and detail design
documents are part of the software.
Source code in the implementation phase
and executable code deployed to the
customer site are certainly software.
Therefore, software reusability includes
the reuse of any software artifacts in
various formats.
 Component-Based Software
Development Increases the Software
Dependability
Component-based software
development and component-oriented
programming provide a systematical way
to achieve dependable systems. Owing to
the abstraction of components and
systematic
integration of components, it is much
easier to validate critical requirements and
verify safety for component-based
systems.
 Component-Based Software
Development Could Increase the
Software Productivity
Component-based software is constructed
by assembling existing reusable
components rather than developing from
scratch every time – reuse instead of
reinventing the wheel.
This process is much faster than
developing an application from scratch in
most cases.
 Component-Based Software
Development Promotes Software
Standardization
For component markets to develop,
component standards must be in place.
Standards can be used for creating an
agreement on concrete interface
specifications, enabling effective
composition, and ensuring COP to be a
new programming paradigm in which
“plug-and-play” becomes a reality in
software development just like the
hardware counterpart.
Comparison of COP with OOP
and SP
Capabilities SP OOP COP
Divide and Conquer YES YES YES
•Manage complexity
•Break a large problem

down into smaller pieces


Unification of Data and Function YES YES
•A software entity combines
data and the functions
processing those data
•Improves cohesion
Encapsulation YES YES
•The client of a software

entity is insulated from


how that software entity’s
data is stored or how its
functions are
implemented
•Reduces coupling

Identity YES YES


•Each software entity has

a unique identity
Interface YES
•Represents specification

dependency
•Divides a component

specification into interfaces


•Restricts inter-component

dependency
Deployment YES
• The abstraction unit can be

deployed independently
WHY IS COP IMPORTANT?
 There are a number of important
reasons why COP is important.
 it provides a higher level of

abstraction.
Goals of cop:-
There are three major goals of COP:
 conquering complexity,

 managing change,and

 reuse.
CONCLUSION
 With the advances of technology in
computer hardware and software,
the field of computer programming
has grown from machine-code
programming, via object oriented
programming, to component-
oriented programming.
 Software components support black-

box reuse.
 The JavaBeans specification defines a
component infrastructure to build,
customize, assemble, and deploy
Java software components. It brings
the advantages of component
oriented programming to the ever-
growing Java development platform .
THE END

You might also like