A software house produces a software package for the insurance industry. Purchases of the package have formed a very active user group which has lobbied...

      

A software house produces a software package for the insurance industry. Purchases of the
package have formed a very active user group which has lobbied for a particular change to
be made to the software to improve the functionality and usability of the software.
Required:
(a) Briefly explain the following terms:
(i.) Corrective maintenance;
(ii.) Adaptive maintenance;
(iii.) Perfective maintenance.
(b) Briefly explain the meaning and purpose of a user group
The software house has an internal quality assurance process for implementing software
changes
Required:
Explain each of the following two stages of an internal quality assurance process:
(c) Unit testing.
(d) System testing.

  

Answers


gregory
(a) (i) Corrective maintenance
Corrective maintenance addresses two sets of faults. Firstly, the correction of
programming errors which have caused the software to fail. Secondly, the correction of
system functions that do not perform to the agreed user specification. Hence corrective
maintenance is concerned with making the software perform as it should have done in
the first place. It should lead to a robust system that supports the user requirements
signed off at the start of the project.
(ii) Adaptive maintenance
Adaptive maintenance is concerned with changes required to make the software support
new or changed business circumstances. These changes will emerge throughout the
project as a result of changes in the business process, changes in the priorities of users
and external influences such as new government legislation. Adaptive maintenance is
concerned with making sure that the software continues to robustly support the user
requirements during the lifetime of the system.
For example, the User Group may request adaptive maintenance to improve the
functionality of the software.
(iii) Perfective maintenance
Perfective maintenance attempts to make the software perform more effectively. These
changes may include alterations in the user interface (to make the system easier to use)
and the integration of new program sub-routines (to make the software run quicker).
Perfective maintenance does not change the functionality of the software, but it should
make that functionality more accessible and efficient. For example, the User Group
requires perfective maintenance to improve the usability of the software.
(b) There is a tradition of individual users of software products banding together toexchange
information and experience of using a particular package. In many instances this is
translated into a formal User Group which acts as a forum for exchanging information
and experience between members as well as forming a focus for lobbying the software
developer to develop new features and correct current problems. In many instances the activities of the User Group are encouraged and financed by the software
developer as it provides a convenient and coherent focus for defining the features that
will further enhance their product. Most User Groups issue newsletters and hold regular
conferences, which allow new and prospective users of the software to evaluate the
software developer and the products it offers.
(c) Unit testing
Programmers usually perform unit testing. Programmers receive specifications from
systems designers and develop programs to meet these requirements. Once they are
sufficiently confident about their programs, they undertake a set of formal tests. These are
usually designed to:
o Ensure that every line of the program has been executed and is working properly
o Ensure that data stored by the program is accurately placed in the correct field in
the database
o Ensure that interactions with other programs are working correctly
o Ensure that error conditions are handled correctly
Unit testing is performed explicitly on the program code and structure. It is often termed
=white box testing‘ because it is concerned with inspecting the internal logic of the
program.
(d) System testing
The analysts who have developed the functional specification and specified the design of
the system usually perform system testing. System testing is often termed =black box
testing‘ because the testing is concerned with proving that certain inputs produce predicted
outputs. It is not concerned with proving the internal logic of the programs that cause that
transformation to take place. This has already been done in unit testing. Hence system
testing is concerned with ensuring that the system meets the functional requirements
defined in the requirements specification. It also considers the general usability of the
software, perhaps against agreed Style Guides. In some organizations, system testing
includes load or stress testing which tests the system under operational conditions,
ensuring that it can still deliver the required performance when handling operational
volumes by the agreed number of users.
gregorymasila answered the question on February 15, 2018 at 16:42


Next: a. The assurance of quality is an important aspect within all information systems departments. Explain the following two stages of an internal quality assurance process. i....
Previous: ‘It is one thing to have ownership of your own computer systems but another to accept the responsibilities of ownership such as data integrity, security...

View More Computer Science Questions and Answers | Return to Questions Index


Exams With Marking Schemes

Related Questions