0% found this document useful (0 votes)
134 views

Component Based Software Engineering

The document discusses component-based software engineering. It describes CBSE as an approach that relies on software reuse by developing systems from pre-existing software components rather than building entire systems from scratch. The key benefits of CBSE include effective management of complexity, increased productivity, consistency, and extendibility. The document outlines the CBSE lifecycle, including requirements analysis, software architecture selection, component identification and customization, system integration testing, and maintenance. It also defines important CBSE concepts like components, architecture, and implementation approaches.

Uploaded by

RISHIKA SINHA
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)
134 views

Component Based Software Engineering

The document discusses component-based software engineering. It describes CBSE as an approach that relies on software reuse by developing systems from pre-existing software components rather than building entire systems from scratch. The key benefits of CBSE include effective management of complexity, increased productivity, consistency, and extendibility. The document outlines the CBSE lifecycle, including requirements analysis, software architecture selection, component identification and customization, system integration testing, and maintenance. It also defines important CBSE concepts like components, architecture, and implementation approaches.

Uploaded by

RISHIKA SINHA
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
You are on page 1/ 4

International Journal of Computer Applications (0975 – 8887)

Volume 2 – No.1, May 2010

Component Based Software Engineering

Arvinder Kaur Kulvinder Singh Mann


Student, GNDEC, LDH Assistant Professor , GNDEC, LDH

Abstract Component-based Software Engineering (CBSE) has emerged


as a technology for rapid assembly of flexible software systems.
CBSE combines elements of software architecture, modular
Traditional software estimation models are directed towards software design, software verification, configuration and
large monolithic software development projects. Contemporary deployment. Component-based software engineering (CBSE) is
software development practices require a new approach to an approach to software development that relies on software
software cost estimation. Contemporary development practices reuse. It emerged from the failure of object-oriented
characterize a software application as interacting, independent development to support effective reuse. Components are more
components. Component-based development offers many abstract than object classes and can be considered to be stand-
potential benefits such as a greater reuse. alone service providers. In CBD, software systems are built as
Component based software development approach is based on an assembly of components already developed and prepared for
the idea to develop software systems by selecting appropriate integration. The main advantages of the CBD approach include
off-the shelf components and then to assemble them with a well- effective management of complexity, increased productivity, a
defined software architecture. Software community faces a greater degree of consistency, and a wider range of usability and
major challenge that is raised by fast growing demand for rapid extendibility, reduced time to market.
and cost-effective development and maintenance of large scale
and complex software systems. To overcome the challenge, the
new trend is to adopt component based software engineering 2. Background
(CBSE).The key difference between CBSE and traditional
software engineering is that CBSE views a software system as a
set of off-the-shelf components integrated within appropriate
Definitions
software architecture. CBSE promotes large-scale reuse, as it
focuses on building software on building software systems by Component:-A component is an existing piece of software
assembling off-the-shelf components rather than implementing written with reuse in mind that can be deployed with little or no
the entire system from scratch. CBSE also emphasis on selection modification. We assume that components are designed to be
and creation of software architecture that allow systems to used in certain types of applications, which implies that there are
achieve their quality requirements .As a result, CBSE has constraints regarding the incorporation of a component into a
introduced fundamental changes in software development and system. Components can be
maintenance. obtained in-house or of-the-shelf.
Keywords software reuse, COTS, multiple criteria decision Architecture: - Software architecture deals with the definition
making, OTSO stands for Off-The-Shelf Option. of components, their external behavior, and how they interact .In
this context architecture contains a description of component
needs or roles. The process of architectural definition can be
1. Introduction viewed as a number of architectural decisions that need to be
made. We are chiefly concerned with the way in which these
Software is the heart of many industrial systems in today. Added decisions affect the components needed by the system.
value to products is to a large extent provided by the software. Architecture can be expressed informally; or using modeling is
Furthermore, production cost reduction is imperative and is useful because it may uncover more subtle architectural
often achieved by introducing software that permits the use of assumptions; however, the method we present does not rely on
less complex hardware. Domains in which the use of software is any specific technique for specifying architecture.
now essential include the automotive, medical systems, process Architectural Approach:-The process of defining architecture
control, and manufacturing industries. Industrial products are involves decisions about components and their interactions. An
often systems consisting of software and hardware, the software architectural approach captures instances of these decisions,
part being referred to as a software system incorporating many thereby partially specifying the components needed by a system
software programs or applications that must cooperate without and restrictions on how they interact.
fail.Delivering a software product on time, within budget, and to Implementation Approach: - The specification of an
an agreed level of quality is a critical concern for many software architectural approach provides us with a list of components
organizations. Underestimating software costs can have needed. When an architectural approach is combined with a set
detrimental effects on the quality of the delivered software and of actual of-the-shelf components that meet these needs, the
thus on a company’s business reputation and competitiveness. result is an implementation approach.
On the other hand, overestimation of software cost can result in
missed opportunities to funds in other projects.

105
International Journal of Computer Applications (0975 – 8887)
Volume 2 – No.1, May 2010

3. Methodologies III) Component-user interactions. A component’s user


interface requirements may also change. For example, a
component can have its messages in one language, when the
Component-based software systems are developed by selecting system requires another language.
various components and assembling them together rather than
programming an overall system from scratch, thus the life cycle IV) Component-software interactions. A component almost
of component-based software systems is different from that of always interacts with other software components, and there can
the traditional software systems. The life cycle of component- be mismatches between the components. A set of possible
based software systems can be summarized as follows mismatches between components representation,
a) Requirements analysis communication, packaging, synchronization, semantics, control
b)Software architecture selection, construction, analysis, and etc. Although all four types of interactions can cause problems
evaluation for a component reuse and must be overcome, the main concern
c)Component identification and customization of this
d) System integration study is component-software interactions.
e) System testing
f) Software maintenance e) System Testing: - System testing is the process of evaluating
a system to
a) Requirements analysis:- Component requirement analysis is
the process of discovering, understanding, documenting, I) confirm that the system satisfies the specified requirements.
validating and managing the requirements for components. ii) Identify and correct the defects in system in system
implementation.
b) Software Architecture Selection:-The objective of this The objective of system testing is the final system integrated by
phase is to select the architecture of the component according to components selected in accordance to the system requirements.
the user requirements .In this we will construct the component
and that component can be Component off the shell (COTS) f) System Maintenance:-It is the process of providing service
component. and maintenance activities needed to use the software effectively
after it has been delivered.
c) Component Identification and Customization:-
Identification of the component can be done by selecting the
right components in accordance to the requirement for both 4) Strategy for Selecting Component
functionality and reliability. Component Customization is the
process that involves: - 1) Modifying the component for specific Many organizations are spending much time in reusable
requirement. 2) Doing necessary changes to run the component component selection since the choice of the appropriate
on special platform. 3) Upgrading the specific component to get components has a major impact on the project and resulting
a better performance and higher quality. product. A method that addresses the selection process of
packaged, reusable software, or OTS as we refer to it in this
d) System Integration: It is the process of assembling paper. The method, called OTSO, supports the search,
components selected into a whole system under the designed evaluation and selection of reusable software, and provides
system architecture. The objective of system integration is the specific techniques for defining the evaluation criteria,
final system Composed of several components. comparing the costs and benefits of alternatives, and
consolidating the evaluation results for decision making .The
main activities in the OTSO reusable component selection
Interactions As The Origin Of The Integration process using a dataflow diagram notation. Each activity in
Problem presented as a process symbol – a circle – and artifacts produced
Integration problems arise when a component depends on or used are presented as data storage symbols in Figure 1. In the
certain assumptions concerning its interactions with its search phase, the goal is to identify potential candidates for
environment, but is to be placed into a system that is based on further study. The screening phase selects the most promising
different assumptions. The result is interaction protocol candidates for detailed evaluation. In the analysis phase, the
mismatches. We define four types of interactions: results of product evaluations are consolidated, and a decision
i)Component-platform interactions. A component must be about reuse is made. As the selected alternative is used
executed somewhere. It can be either a real processor or an (deployed), the effectiveness of the reuse decision, eventually,
operating system for binary executables, or a virtual one. If an can be assessed. Reuse candidates are evaluated in different
executable program was compiled for one type of CPU, it will ways in all phases. The OTSO method is based on incremental,
need an emulator or a code converter in order to run it on evolutionary definition and use of the evaluation criteria so that
another CPU. the criteria set can be gradually refined to support each phase.
While Figure 1 presents the overall OTSO process

II) Component-hardware interactions. A component can


interact directly with hardware writing-reading from ports. If the
port’s numbers are different from what is expected by the
component, the component must undergo some modification.

106
International Journal of Computer Applications (0975 – 8887)
Volume 2 – No.1, May 2010

earth’s surface” or “hypertext browser”) and some key


constraints (e.g., “must run on Unix and MS-Windows” or “cost
must be less than $X’). An effective way to communicate such
requirements is to use an existing product or COTS as a
reference point, i.e., defining the functionality search criteria as
“hmk for COTS that are similar to our prototype”. The search of
alternatives should try to cover breath more than depth. It is
enough to define the survey criteria broadly so that the search is
not unnecessarily limited by too many constraints. The search
phase uses the criteria and determines the “qualifying
thresholds”, which are in deciding which alternatives are
selected for closer The search of alternatives should try to cover
breath more than depth. It is enough to define the survey criteria
broadly so that the search is not unnecessarily limited by too
many constraints. The search phase uses the criteria and
determines the “qualifying thresholds”, which are in deciding
which alternatives are selected for closer evaluation.

Fig.1 Overview of the OTSO method process

Evaluation criteria definition


The evaluation criteria definition process essentially
decomposes the requirements for the COTS into a hierarchical
criteria set. Each branch in this hierarchy ends in an evaluation
attribute: a well-defined measurement or a piece of information
that will be determined during evaluation. This hierarchical
decomposition principle is analogous to the GQM method. The
evaluation attributes should have clear operational definitions so
that consistency can be maintained during evaluation.
The criteria set is specific to each COTS selection case but most
of the criteria can be categorized into four groups: functional
requirements for the COTS; required quality characteristics,
such as reliability, maintainability and portability ,business
concerns, such as cost, reliability of the vendor, and future
development prospects; and relevant software architecture, such
as constraints presented by operating system, division of
functionality in the system or specific communication
mechanisms between modules. It is possible to identify three
different sub processes in the definition of evaluation criteria.
Figure 2 presents these processes graphically using the modified
dataflow diagram (DFD) notation. First, when the available
alternatives are searched and surveyed it is necessary to define
the main search criteria and the information that needs to be
collected for each alternative. The search criteria are typically Fig2. Evaluation Criteria Definition Process
based on the required main functionality (e.g., “visualization of

107
International Journal of Computer Applications (0975 – 8887)
Volume 2 – No.1, May 2010

5. Case Study consistency of evaluations, it has low overhead costs, and it


makes the COTS selection decision rationale explicit in the
organization.
The case study dealt with the selection of a hypertext browser
for the EOS information service. This case study included a
comparison between two analysis methods, the AHP method 7. References
and a weighted scoring method. A total of over 48 tools were
found during the search for possible tools. Based on the 1) J. Kontio, "A Case Study in Applying a Systematic Method
screening criteria, four of them were selected for hands on for COTS Selection,"1996. Proceedings of the 18th International
evaluation. The evaluation criteria were derived from existing, Conference on Software Engineering.
broad requirements. However, as in the first case study, the 2) J. Kontio and S. Chen, "Hypertext Document Viewing Tool
requirements had to be elaborated and detailed substantially Trade Study: Summary of Evaluation Results," 441-TP-002-
during this process. This case study further supported our 001, 1995. ECS project Technical Paper. Hughes Corporation,
conclusion of the low overhead of the OTSO method. ECS project.
Furthermore, this case study involved several evaluators, and 3) J. Kontio, S. Chen, K. Limperos, R.Tesoriero, G. Caldiera,
our criteria definition approach improved the efficiency and and M. S. Deutsch,"A COTS Selection Method and Experiences
consistency of the evaluation. of Its Use," 1995. Proceedings of the 20th Annual Software
Engineering Workshop. NASA. Greenbelt, Maryland.
4) T. Davis, "Toward a reuse maturity model,"eds. M. L. Griss
6. Conclusions and L. Latour. pp. Davis_t-1-7, 1992. Proceedings of the 5th
It is concluded that:-1) CBSE is a reuse-based approach to Annual Workshop on Software Reuse. University of Maine.
defining and implementing loosely coupled components into
5) C. Syzperski. Component Software: Beyond Object-Oriented
systems.
Programming. Addison- Wesley, 1998.
2) A component is a software unit whose functionality and
6) G. T. Heineman and W. T. Council. Component-Based
dependencies are completely defined by its interfaces.
Software Engineering: Putting the Pieces Together. Addison-
3) The life cycle of the component model defines a set of
Wesley, 2001.Component-Based Software Engineering:
standards that component providers and composers should
7)Technologies, Development Frameworks, and Quality
follow.
Assurance Schemes Xia Cai, Michael R. Lyu, Kam-Fai Wong
The OTSO method was developed to consolidate some of the
The Chinese University of Hong Kong Hong Kong Productivity
best practices we have been able to identify for COTS selection.
Council {xcai@cse, lyu@cse, kfwong@se}.cuhk.edu.hk
The detailed evaluation criteria also contribute to the refinement
8) Introduction to component based software engineering Ivica
of application requirements. The requirements driven, detailed
Crnkovic Mälardalen University,
evaluation criteria definition seemed to have a positive impact
DepartmentofComputerEngineering,Sweden,ivica.crnkovic@md
on the evaluation process.
hse
The experiences from case studies indicate that our method is
feasible in an operational context it improves the efficiency and

108

You might also like