Professional Documents
Culture Documents
BC0049
BC0049
VELMURUGAN C
____________________________________________________
Registration No.
531210112
____________________________________________________
Learning Center
2527
____________________________________________________
Course/Program
BCA
____________________________________________________
Semester
IV Semester
____________________________________________________
Subject Code
BC0049
____________________________________________________
Subject Title
SOFTWARE ENGINEERING
____________________________________________________
Date of Submission
26.02.2014
____________________________________________________
Marks Awarded
:
____________________________________________________
_________________________________________________
_______________________________________________
Signature of Evaluator
SMU
_________________________________________
Not all types of applications are appropriate for RAD. If a system cannot
be properly modularized, building the components necessary for RAD will
be problematic. If high performance is an issue and performance is to be
achieved through tuning the interfaces to system components, the RAD
approach may not work.
RAD is not appropriate when technical risks are high. This occurs when a
new application makes a heavy use of new technology or when the new
software requires a high degree of interoperability with existing computer
programs.
Short iteration may not add enough functionality, leading to significant
delays in final iterations. Since Agile emphasizes real-time communication
(preferably face-to-face), utilizing it is problematic for large multi-team
distributed system development. Agile methods produce very little written
documentation and require a significant amount of post-project
documentation.
Programmers are required to work in pairs (which may be difficult for
some developers). There is no up-front detailed design, which could
result in more redesign effort in the long run. The business champion
attached to the project full time can potentially become a single point-offailure for the project and a major source of stress for the team.
The client may create an unrealistic product vision and request extensive
gold-plating, leading the team to over- or under-develop functionality.
Product may lose its competitive edge because of insufficient core
functionality and may exhibit poor overall quality.
ii.
iii.
iv.
v.
Stated another way, why don't we spend all of our energy on black-box
tests? The answer lies in the nature of software defects:
Logic errors and incorrect assumptions are inversely proportional to the
probability that a program path will be executed. Errors tend to creep into
our work when we design and implement function, conditions, or controls
that are out of the mainstream. Everyday processing tends to be well
understood (and well scrutinized), while 'special case' processing tends to
fall into the cracks.
We often believe that a logical path is not likely to be executed when, in
fact, it may be executed on a regular basis. The logical flow of a program
is sometimes counterintuitive, meaning that our unconscious assumptions
about flow of control and data may lead us to make design errors that are
uncovered only once path testing commences.
Typographical errors are random. When a program is translated into
programming language source code, it is likely that some typing errors will
occur.
Many will be uncovered by syntax and type checking mechanisms, but
others may go undetected until testing begins. it is as likely that a typo
will exist on an obscure logical path as on a mainstream path.
Each of these reasons provides an argument for conducting white-box
tests. Black-box testing, no matter how thorough, may miss the kinds of
errors noted here. White- box testing is far more likely to uncover them.
BOTTOM-UP INTEGRATION:
Bottom-Up Testing is an approach to integrated testing where the lowest
level components are tested first, then used to facilitate the testing of
higher level components. The process is repeated until the component at
the top of the hierarchy is tested.
of the modules of the same development level are ready. This method also
helps to determine the levels of software developed and makes it easier to
report testing progress in the form of a percentage.
Bottom-up integration testing, as its name implies, begins construction
and testing with atomic modules (i.e., components at the lowest levels in
the program structure). Because components are integrated from the
bottom up, processing required for components subordinate to a given
level is always available and the need for stubs is eliminated.