Component
based software development or CBSD is nowadays becoming a very common practice
when it comes to re- using the already existing practice components that have
already been validated. This practice has shortened the development cycle
gradually and has enhanced the quality of the software products or artifacts. This
approach of software development is focussed up on the development of new
software systems and applications through the selection and assembling
components that belonged to the pre- existing software components.
Furthermore, CBSD development methodology helps to:
- Accelerates the productivity
of the software development
- Reduces the overall
development cost
- Reduces maintenance efforts
- Enhances flexibility
- Enhances maintainability
- Assembles system rapidly
- Reduces the time to market
Usually
no wear and tear occurs to the software system but there is a need to change or
modify the software in accordance with the changes in business needs and
complexity. Since the system keeps on acquiring more and more complexity, and
hence more and more errors are introduced.
This whole concept of component
based software development is based up on components and the success of this
development approach is highly affected by the composition of the software
components that are being used.
What is a Component?
- A component as we know can be defined as a re-
usable unit of deployment which has its access through a graphical user
interface.
- Component can be thought of as an independent entity that
possesses its own complete functionality that can be distributed separately and
shows no problem in upgrading from time to time.
- Certain standards have been defined according to which the
components are developed and are re- used.
- Smaller pieces of software are
aggregated at a high level and this aggregation is what that forms a component.
Types of ingredients in Component Based Software Development
- An ideal component consists
of the implementation detail obtained from the environment that can be re
used by the interfaces of those components. This is essential as re-
usability of the components is very much important for the component based
software development.
- The second most important
ingredient is the service or functionality that is to be provided by the
component.
- Quality aspects like predictability,
component reliability, usability and so on.
- The composition of the components
requires meta information regarding the interfaces of the components and
properties so as to support the tools during the process of the component
composition. This meta information is obtained from the implementation/
interface repositories, type libraries or introspection or dedicated info
classes etc.
Different Means of Component Composition
- Though
the implementation inheritance works for most of the object oriented frame
works, it does not prove useful for the component composition.
- The
composition of the components takes place on a binary level.
- There are 4 means of component composition:
- Scripting or glue languages
- Component frame works
- System languages
- Visual programming
All
the above mentioned means have their own advantages and disadvantages but, they
all are considered to be useful when used in combination.
- Mostly scripting languages like tcl, visual
basic etc are used for component composition rather than using system languages
like java, Pascal, C++ etc.
- The scripting languages are found convenient for
this purpose because they are intended for plugging components together operating
on a high abstraction level as compared to the system languages.
- The component
composition requires an equivalent object oriented frame work called component
frame work and in this the glue code between the classes is predefined for a
specific application domain.
No comments:
Post a Comment