0% found this document useful (0 votes)
55 views12 pages

Componentes Vs Tradicional

Uploaded by

Sangalla Lopez
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)
55 views12 pages

Componentes Vs Tradicional

Uploaded by

Sangalla Lopez
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/ 12

J. Comp. & Math. Sci. Vol.

3 (3), 308-319 (2012)

A Comparision Between Traditional and Component Based


Software Development Process Models
MANJU KAUSHIK1 and M. S. DULAWAT2
1
Research Scholars, Mohanlal Sukhadia University, Udaipur, INDIA.
2
Department of Mathematics and Statistics,
Mohanlal Sukhadia University, Udaipur, INDIA
(Received on: May 16, 2012)
ABSTRACT
Traditional models of software evolution have been with us since
the earliest days of software engineering. The traditional software
life cycle model provides a systematic method to separate the
different phases with efficient boundaries. A number of software
life cycle models existing today primarily focused on building of
traditional software systems. Software Process Improvement is
generally regarded a key to economic success by increasing the
quality of software systems, accelerating time-to-market and
decreasing development costs. Component-based software
engineering, as an emerging development paradigm, targets very
similar goals by focusing on the assembly of software systems
from components and emphasizing software reuse. Component-
based software development approach is based on the idea to
develop software systems by selecting appropriate off-the-shelf
components and then to assemble them with a well-defined
software architecture. Because the new software development
paradigm is much different from the traditional approach. In this
paper, we survey and compare traditional software development
models and current component-based software models, describe
their advantages and disadvantages, and discuss the features they
inherit.
Keywords: Component, Software development, off-the-shelf,
Component-Based System Development Lifecycle.

INTRODUCTION the system and mainly follow the sequential


models like waterfall, which are mostly
Traditional methods for software overridden by the Iterative and Evolutionary
development approach to the functionality of models like increment, prototyping,

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
309 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

Boehm’s Spiral Model. The primary role of models to highlight them effectively
component-based software engineering is to demonstrate the different approaches to
address the development of systems as an software development. Such models include
assembly of parts (components), the the:
development of parts as reusable entities,
maintenance and upgrading of systems by 1. Build And Fix : This model, shown in
customizing and replacing such parts. One Fig. 1.1, is the worst model for developing a
of the main contributions that CBSE is the to project. The product is built without proper
reuse of software components in multiple specifications and design steps. In essence,
systems. Component Reusability for the product is built and modified as many
component-based software development is a times as possible until it satisfies the client.
new topic in the software engineering The cost of using this approach is greater
community. In this way a software than if specifications are drawn up and a
component is developed only once, and can design is carefully developed. Software
save out development effort multiple times. engineers are strongly discouraged from
This approach towards saving effort and using this development approach.
work for other (intermediate) products that
are made in the course of software Advantages
development. An approach puts this idea
central is called reuse-based software • It provides immediate feedback to
engineering. Component based software developers: This shows immediate signs
development approach is based on the idea of progress.
to develop software systems by selecting • Removes
appropriate off-the-shelf components and planning/design/documentation
then to assemble them with a well-defined overhead
software architecture. The purpose of CBSD
is to develop large systems, incorporating Disadvantages
previously developed or existing components,
• Increased time is spent debugging
thus cutting down on development time and
• Does not promote documentation and
costs. It can also be used to reduce
therefore produced software is costlier to
maintenance associated with the upgrading
maintain.
of large systems. It is assumed that common
• Design changes cost mush more after
parts (be it classes or functions) in a
coding has started.
software application only need to be written
• After the sequences of changes, the
once and re-used rather than being re-written
codes structure become so messy that
every time a new application is developed.
subsequent corrections become harder to
apply and results become less reliable.
TRADITIONAL SOFTWARE
DEVELOPMENT MODELS
2. Waterfall Model: The waterfall model
In this section of the course focuses derives its name due to the cascading effect
on the traditional generic software process from one phase to the other. In this model

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) 310
each phase well defined starting and ending 3. Prototyping Model: A prototype is a
point, with identifiable deliveries to the next working model that is functionally
phase. The model consists of six distinct equivalent to a component of the product. In
stages, namely: many instances the client only has a general
view of what is expected from the software
2.1. In the requirements analysis phase. product. In such a scenario where there is an
2.2. The specification phase absence of detailed information regarding
2.3. The system and software design phase the input to the system, the processing needs
2.4. The implementation and testing and the output requirements, the prototyping
2.5. The integration and system testing model may be employed. This model
phase reflects an attempt to increase the flexibility
2.6. The maintenance phase of the development process by allowing the
client to interact and experiment with a
Advantages working representation of the product. The
developmental process only continues once
• It enforces a disciplined engineering the client is satisfied with the functioning of
approach. the prototype. At that stage the developer
• Verification is done after each phase. determines the specifications of the client’s
real needs.
• Documentation produced can reduce
maintenance cost. Advantages
• Feedback loops help to correct faults
immediately. • When prototype is shown to the user, he
Disadvantages gets a proper clarity and 'feel' of the
functionality of the software and he can
• It only incorporates iteration indirectly, suggest changes and modifications.
thus changes may cause considerable • This type of approach of developing the
confusion as the project progresses. software is used for non-IT-literate
• As The client usually only has a vague people. They usually are not good at
idea of exactly what is required from the specifying their requirements, nor can
tell properly about what they expect
software product, this WM has difficulty
from the software.
accommodating the natural uncertainty
• When client is not confident about the
that exists at the beginning of the
developer's capabilities, he asks for a
project. small prototype to be built. Based on
• The customer only sees a working this model, he judges capabilities of
version of the product after it has been developer.
coded. This may result in disaster any • Sometimes it helps to demonstrate the
undetected problems are precipitated to concept to prospective investors to get
this stage. funding for project.

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
311 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

• It reduces risk of failure, as potential Advantages


risks can be identified early and
mitigation steps can be taken. • Generates working software quickly and
• Iteration between development team and early during the software life cycle.
client provides a very good and • More flexible - less costly to change
conductive environment during project. scope and requirements.
• Time required to complete the project • Easier to test and debug during a smaller
after getting final the SRS reduces, since iteration.
the developer has a better idea about • Easier to manage risk because risky
how he should approach the project. pieces are identified and handled during
its iteration.
Disadvantages
Disadvantages
• Prototyping is usually done at the cost of
the developer. So it should be done • At each stage of the IM a new build is
using minimal resources. It can be done coded and then integrated into the
using Rapid Application Development structure, which is tested as a whole.
(RAD) tools. Please note sometimes the • Each phase of an iteration is rigid and do
start-up cost of building the not overlap each other.
• Problems may arise pertaining to system
development team, focused on making
architecture because not all requirements
prototype, is high.
are gathered up front for the entire
• Once we get proper requirements from software life cycle.
client after showing prototype model, it
may be of no use. That is why; 5. Spiral Model: The spiral model,
sometimes we refer to the prototype as combines the iterative nature of prototyping
"Throw-away" prototype. with the controlled and systematic aspects of
• It is a slow process. the waterfall model, therein providing the
• Too much involvement of client is not potential for rapid development of
always preferred by the developer. incremental versions of the software. In this
• Too many changes can disturb the model the software is developed in a series
rhythm of the development team. of incremental releases with the early stages
being either paper models or prototypes.
4. Incremental Model: This model derives Later iterations become increasingly more
its name from the way in which the software complete versions of the product.
is built. More specifically, the model is Advantages
designed, implemented and tested as a series
of incremental builds until the product is • The spiral model is a realistic approach
finished. A build consists of pieces of code to the development of large-scale
from various modules that interact together software products because the software
to provide a specific function. evolves as the process progresses. In

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) 312
addition, the developer and the client COMPONENT BASED SOFTWARE
better understand and react to risks at DEVELOPMENT (CBSD)
each evolutionary level.
Component-based software develop-
• The model uses prototyping as a risk ment approach is based on the idea to
reduction mechanism and allows for the develop software systems by selecting
development of prototypes at any stage appropriate off-the-shelf components and
of the evolutionary development. then to assemble them with a well-defined
• It maintains a systematic stepwise software architecture. The term component-
approach, like the classic life cycle based software development (CBD) can be
model, but incorporates it into an referred to as the process for building a
iterative framework that more reflect the system using components3. This approach is
real world. based on the idea that software systems can
• If employed correctly, this model should be developed by selecting appropriate off-
reduce risks before they become the-shelf components and then assembling
problematic, as consideration of them with a well-defined software
technical risks are considered at all architecture8,9. This new software
stages. development approach is very different from
the traditional approach in which software
Disadvantages systems can only be implemented from
scratch. These commercial off-the shelf
• Demands considerable risk-assessment (COTS) components can be developed by
expertise. different developers using different
languages and different platforms. This can
• It has not been employed as much be shown in Fig.1. where COTS components
proven models (e.g. the WF model) and can be checked out from a component
hence may prove difficult to ‘sell’ to the repository, and assembled into a target
client (esp. where a contract is involved) software system.
that this model is controllable and
efficient. [More study needs to be done
in this regard]

WHAT IS A COMPONENT ?

In defining a software component,


this definition can be quoted:
“A component is a software element that
conforms to a software model and can be
independently deployed and composed
without modification according to a
composition standard”7. Fig. 1 Component-Based Software Development

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
313 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

COMPONENT-BASED SYSTEM Compose and deploy the components


DEVELOPMENT LIFECYCLE using a framework for components.
The different steps in the component- Typically component models would
based systems development process are: provide that functionality.
Find components which may be used in Replace earlier with later versions of
the system. components.
All possible components are listed
This corresponds with system
here for further investigation. To
maintenance. Bugs may have been
successfully perform this procedure, a vast
eliminated or new functionality added.
number of possible candidates must be
available as well as tools for finding them. VARIOUS COMPONENT BASED
This is an issue not only of technology, but SOFTWARE DEVELOPMENT PROCESS
also of business. MODEL
Select the components which meet the 1. Rapid Application Development Model
requirements of the system. (RAD)
Often the requirements cannot be Achieves rapid development using a
fulfilled completely, and a trade-off analysis component based construction approach. But
is needed to adjust the system architecture this model has various drawbacks such as
and to reformulate the requirements to make efficient RAD teams; proper modularization
it possible to use the existing components. is required, inappropriate when technical
risks are high.
Alternatively, create a proprietary
component to be used in the system.
In a component based development
process this procedure is less attractive as it
requires more efforts and lead-time.
However, the components that include core-
functionality of the product are likely to be
developed internally as they should provide
the competitive advantage of the product.
Adapt the selected components so that
they suit the existing component model or
requirement specification.
Some components would be
Fig. 2 RAD Model of Software Development.
possible to directly integrated in to the
system, some would be modified through This model is proposed when
parameterization process, some would need requirements and solutions can be
wrapping code for adaptation, etc. modularized as independent system or

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) 314
software components, each of which can be Steps involved in W Model are
developed by different teams. Then after it
smaller components are developed, they are 1. Start of the Test Activities Review of the
integrated to produce a large software Requirements / Planning and Preparing
system. Acceptance Test
2. Review of the Specification / Planning
2. W-Model and Preparing System Test
3. Review of the Architectural Design |
The W-model is presented. This is Detailed Design Planning and Preparing
based on the general V-model and the Integration Test | Unit Test
disadvantages previously mentioned are 4. Executing Tests / Debugging and
removed10. Changing

3.V Model model is very simple and easy to understand.


By the ordering of activities in time
Many of the process models
sequence and with abstraction levels the
currently used can be more generally
connection between development and test
connected by the V-model where the “V”
describes the graphical arrangement of the activities becomes clear. Oppositely laying
individual phases. The “V” is also a activities complement one another i.e. serve
synonym for verification and validation. The as a base for test activities.

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
315 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

4. The Y Model Although the main phases may overlap each


other and iteration is allowed, the planned
The Y Software Life Cycle Model phases are: domain engineering, frame
(Luiz, 2005) describes software reusability working, assembly, archiving, system
during CBSD. The Y Shape of the model analysis, design, Implementation, testing,
considers iteration and overlapping. deployment and maintenance.

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) 316

The reusability within this life cycle 5. The X Model


is smoother and more effective than within
the traditional models because it integrates at In this X Model, the processes are
its core, the concern for reuse and the started by requirement engineering and
mechanisms to achieve it. There is an upper requirement specification. The main
layer that shows the component templates characteristic of this software life cycle
and a lower layer that consists of run-time model is reusability in which software is
objects that depicts the behavior of a developed by Building reusable components
for software development and software
particular software system. The development
development from reusable and testable
of a component should therefore be with components. In software development, it
generality and reuse in mind placing perhaps uses two main approaches, develop software
less emphasis on satisfying the specific component for reuse and software
needs of an application that is being development with or without modification in
developed. reusable component.

Fig. 3 X Model of Software Development.

The X model appears to be the best which is one of the reasons for the very
for large software development and has main success of Boehm’s Spiral Model. Moreover
focus on reusability but it does not depict the X-shape represents overlapping and
risk analysis, feedback in various phases increases complexity.

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
317 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

Comparison of Traditional & Component Based Software Development Process Models

Table 1: Comparisons of Software Process Models

Categories Process Strengths Weakness


Model
Build and Provides immediate feedback to developers, Time Consuming,
Fix Removes Planning/design/documentation Costly.
TRADITIONAL SOFTWARE PROCESS MODELS

overhead
Waterfall Simple , concise, easy to execute, logical Requirements are frozen
ordering, For well understood problems, short early, user feedback &
duration’s projects. changes not allowed,
Linear
series of actions
Prototyping Customer can see steady progress, ease when There is no way to
Model requirement change rapidly. changing rapidly know
the number of iterations
will be required.
Incremental Develop high risk first, Initial product delivery Require good planning
is fast.. and design, well define
module interfaces,
Spiral Introduces risk management, Prototyping Complicated, Require
controls costs, All iteration meets project need attentive and knowledge-
able management
RAD This model is proposed when requirements and Effect team required,
solutions can be modularized as independent Proper modularization,
system or software components, each of which AD is not appropriate
can be developed by different teams. when technical risks are
high.
W Model The tests and the ordering of the individual Do not clarify the
activities for testing are Clear, strengthen bond xpenditure needed for
between tester and developer. resources.
COMPONENT BASED SOFTWARE

V Model The model is very simple and easy to Coarse division into
understand. constructive work on the
PROCESS MODELS

left-hand side of the “V”


and the more destructive
tasks on the right-hand
side.
Y Model Reusability, Solving by analogy, Follows both Iteration and overlapping
top down and bottom up approach during process
X Model Reusability, clear requirements, for large Increases complexity, no
systems risk analysis, increases
cost
Knot Reusability, Easy Planning , requirements Selecting a right
Model clear , no complexity of software applications, component is difficult,
reduces risk and development time, reduces reservoir may be huge or
cost, applicable on larger & complex systems difficult to manage

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012) 318
ADVANTAGES OF COMPONENT BASED SOFTWARE DEVELOPMENT
PROCESS MODELS

Table 2: Advantages and disadvantages of Traditional & Component Based Software


Development Process Models

Process Models Advantages Disadvantages

 Easy to understand and  Sometimes unrealistic to


implement. expect accurate requirements
Traditional Process Models  Widely used and known (in early in a project.
theory!).  Systems poorly structured.
 Works well on large/mature  Requires highly skilled people
products and weak teams. analysis and planning.
 Requires more time, and is
more expensive.
 Needs technical expertise in
risk analysis and Risk
management to work well.
 Software re-used and re-
usability provides a number  Time and effort required for
of tangible benefits. development of components.
 Reduce costs and risks.  Unclear and ambiguous
 Faster delivery. requirements.
 Reduction in development  Conflict between usability
cycle time. and reusability.
Component based Process  Improve Quality.  Component maintenance
Models  Functionality can be costs.
delivered with less effort so  Reliability and sensitivity to
productivity improves. changes.
 More reliable systems, due
to using previously tested
components

CONCLUSION the development of systems, so each model


tries to eliminate the disadvantages of the
In this paper we studied that there previous model. In this evolving era of
are many existing models for developing Information Technology, there is lot of
systems for different sizes of projects and pressure on software research community to
these models were established in 70’s. reduce development cost as well as
Classical model and risk analysis model are development time. So the component based
used commonly in developing systems. Each software process models introduced. In our
model has advantages and disadvantages for research paper we did the comparison

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)
319 Manju Kaushik, et al., J. Comp. & Math. Sci. Vol.3 (3), 308-319 (2012)

between development model and component Wong, Component-Based Software


based software process model. In our Engineering: Technologies, Development
forthcoming papers we will proposed a new Frameworks, and Quality Assurance
component based software process model. Schemes..
7. George T. Heineman and William T.
REFERENCES Councill, “Component-Based Software
Engineering Putting the Pieces
1. Boehm B., “A Spiral Model of Software Together”, Addison-Wesley, Boston,
Development and Enhancement”, ACM MA ,880, June (2001).
SIGSOFT Software Engineering Notes, 8. Xia Cai, Michael R. Lyu, Kam-Fai
Vol. 11, No. 4, pp. 14-24 (1986). Wong Roy Ko, “Component-Based
2. Gill N. S. and Tomar P., “X Model: A Software Engineering Technologies
New Component-Based Model”, MR Development Frameworks and Quality
International Journal of Engineering Assurance Schemes”, The Chinese
and Technology, Vol. 1, No. 1 & 2, pp. University of Hong Kong Hong Kong
1-9 (2008). Productivity Council.
3. Luiz Fernando Capretz, " Y: A new 9. G. Pour, “Component-Based Software
Component-Based Software Life Cycle Development Approach: New Opportu-
Model ", Journals of Computer Science1 nities and Challenges”, Proceedings
(1) : pp.76-82. Technology of Object-Oriented
4. Pressman, R.S., Software Engineering: Languages, TOOLS 26., pp. 375-383,
A Practitioner’s Approach, McGraw (1998).
Hill, 6th ed., (2005). 10. Spillner, A: From V-Model to W-Model
5. Ivica Crnkovic “Component-based – Establishing the Whole Test Process.,
Software Engineering – New Challenges 11. Proceedings Conquest - 4th Conference
in Software Development”. on Quality Engineering in Software
6. Xia Cai, Michael R. Lyu, Kam-Fai Technology, (2000).

Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy