Componentes Vs Tradicional
Componentes Vs Tradicional
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)
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 ?
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)
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
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)
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 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)
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
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
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)
Journal of Computer and Mathematical Sciences Vol. 3, Issue 3, 30 June, 2012 Pages (248-421)