April 1999
SE203: SOFTWARE ENGINEERING

QUESTION 5

Total Marks: 20 Marks

Click here to access other questions

GRADE A
Sample student's solutions are indicated in green.
Return to Question 5

 

(a) Define what is meant by software reliability. [2]
Software reliability is the probability of failure free operation of a computer program in a specific environment for a specific time.

 

(b) McCall proposes a categorisation that focuses on three important aspects of a software product, namely product operations, product revision, and product transition. Describe each of these three aspects. In addition, identify an example of a factor in each aspect. [6]
Product Operation
Refers to how well software operates, i.e. its operational characteristics. An example of a characteristic is Integrity.

Integrity : Refers to the extent to which the access of programs and data by unauthorized people can be controlled.

Product revision
Refers to how easily software can be changed, modified or altered. Example is maintainability.

Maintainability : The effort required to locate and fix an error is a program.

Product transition
Refers to how well software can operate in another environment, and the effort required to make modifications where necessary to suit this new environment. Example of a characteristic would be interoperability.

Interoperability
The effort required to interface the software to another system.

 

(c) The implementation of Software Quality Assurance (SQA) is not something that is taken lightly in today's organizations. Write a short report discussing the following aspect in a possible implementation of SQA.

 

[12]
(i) Whether today's organizations (management) are reluctant to implement SQA in the first place, and any possible reasons behind their reluctance;
  • Managers are reluctant to incur the extra upfront cost :
    such upfront cost may not be budgeted in software development, and thus exist as expenditure of resources that managers may not be ready for. Typically, incurring such costs would exceed preplanned budgets.
  • Everyone wants to avoid the 'red-tape' that SQA is perceived to introduce.'Red-tape' means that the extra administrative activities that need to be performed as SQA involves a lot of paper work. New procedures to determine that software quality is correctly being implemented would need to be developed, followed through, and then verified by external auditing bodies. These require an immense amount of administrative workload.
(ii) The benefits that implementation of SQA would bring about;
  • Higher reliability will result in greater customer satisfaction : as software development is essentially a business transaction between a custome and developer, customers will naturally tend to patronize the services of the developer again if they are satisfied with the product.
  • Overall life cycle cost of software reduced.
    As software quality is performed to ensure that software is conformance to certain requirements and standards. The maintenance cost of the software is gradually reduced as the software requires less modification after SQA. Maintenance refers to the correction and modification of errors that may be discovered only after implementation of the program. Hence, proper SQA procedures would identify more errors before the software gets released, therefore resulting in the overall reduction of the life cycle cost.

 

(iii) The constraints that SQA would bring to the organization.

For each aspect, you should describe in some detail at least two distinct points of information.

  • Difficult to institute in small orgranisations where available resources to perform the necessary activities are not present. Smaller organizations tends not to have the required resources like manpower, capital etc to assist in the process of SQA.
  • In addition, SQA requires the expenditure of dollars that are not otherwise explicitly budgeted to software engineering and software quality. The implementation of SQA involves immediate upfront costs, and the benefits of SQA tend to be more long-term than short-term. Hence, some organizations may be less willing to include the cost of implementing SQA into their budget.