Software_development_test_LC
Software_development_test_LC
2006
1.
a. The software development process is the set of activities whose goal is the
development or evolution of software.
b. 1) Requirement Analysis – in this step all possible requirements of the system to
be developed are gathered and documented in a document known as the
requirement specification document
2) System Design – in this step the system design is prepared using tools to
breakdown the system requirements and make a framework or layout to move
forward.
3) Deployment – once the functional and non-functional testing is done; the
software Is opened to the costumer environment to be used.
c. In the waterfall approach no working software is produced until the later stages
of the life cycle
2.
3.
a. A CASE (computer assisted software engineering) tool is the application of
computer-assisted tools and methods in software development to ensure a
faultless and high-quality product.
b. A CASE tool can be used to create quality documentation, to create
maintainable systems and provide standardization, reuse code and minimize
repetition to increase productivity.
c. One advantage of using a CASE tool is that it produces systems with longer
effective operational life spans, a disadvantage, though, is that an excessive use
of CASE tools may lead to systems being quite costly to maintain and build.
4.
a.
b.
i. One advantage of the Evolutionary Development Model is that this
model allows end users or costumers to visualize the system
requirements in the prototype, one disadvantage, however, is that there
is no clear end point when using this development model as the project
can be prolonged indefinitely at either the developer or costumer’s
requests.
ii. Two key faults with the Evolutionary approach are issues relating to
integration and documentation. A project being developed using the
Evolutionary approach may in most cases have features being added
regularly, this can cause issues as the integrating of these new features
with pre-existing features may render the program or software unusable.
Another key weakness relating to this approach arises as the software is
continuously being developed and adjusted which leads to outdated or
incomplete documentation. This can hinder further development as
proper documentation is left out leading to discrepancies in the software
as well as maintenance issues.
c.
i. Reuse approach, or reuse oriented development is an important area is
Software Engineering related to the reuse of the information produced
during previous software development projects, to decrease the effort
needed to produce a new project.
ii. Two advantages of reuse- oriented approach is that it reduces cost and
efforts coding new projects.
2009
1.
a.
i. Evolutionary process is based on the idea of developing an initial
implementation, exposing this to the user for feedback and refining it
through many versions until all system requirements are achieved.
Specification, development and validation activities are interleaved
rather than separate, with rapid feedback across activities which in turn
increases productivity over time.
ii. Two key faults with the Evolutionary approach are issues relating to
integration and documentation. A project being developed using the
Evolutionary approach may in most cases have features being added
regularly, this can cause issues as the integrating of these new features
with pre-existing features may render the program or software unusable.
Another key weakness relating to this approach arises as the software is
continuously being developed and adjusted which leads to outdated or
incomplete documentation. This can hinder further development as
proper documentation is left out leading to discrepancies in the software
as well as maintenance issues.
b.
c.
i. CASE tools are used to reduce costs as they automate many repetitive
tasks and to provide greater consistency and coordination for complex
projects.
ii. An advantage of using CASE tools is that is produces systems that
require less system support and one disadvantage of using CASE tools is
that it can be difficult to learn to use in the interface.