April 1999
SE203: SOFTWARE ENGINEERING

QUESTION 2

Total Marks: 20 Marks

Click here to access other questions

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

 

(a) A specification document can be thought of as a formal document that states clearly the functional and performance requirements of a software system. Carefully explain what is meant by the words functional and performance in relation to this document. [2]
Functional : focuses on what must be done as opposed to how it is realised in a specification, e.g. the objectives, tasks required of the software program. It describes the functional characteristic of a specification.

Performance : It focuses on how well a function is being performed by a software system. E.g. efficiency, reliability characteristics.

 

(b) One of the specification principles states:

A specification must be localized and loosely coupled.

Using your own words, explain what this means in relation to the specification.

[2]
A specification myst be localised and loosely coupled.
Meaning : any changes to the specification only affect 1 piece of the requirements specification. Also, parts can be easily added and removed in the requirement specification.

 

(c) The Prototyping paradigm is a popular life-cycle that allows for the refinement of specifications. With the aid of a diagram, explain the different steps in this paradigm. [7]
  1. Steps in prototype
  2. Requirement gathering : customers and developers meet and customer describles the overall objective and general requirement of the software.
  3. Quick design : leads to fast implementation to the aspect on the function of the requirement to make it visible to the user for review.
  4. Build prototype: leads to the design of the prototype.
  5. Evaluate and refine prototype : analysis of the prototype and refinement is done to the prototype if deemed necessary or when requirements change.
  6. Engineer product : the program is actually written based on the prototype starts and upon confirmation of requirement.

 

(d) Describe in some detail a possible development scenario which may require the use of prototyping. [2]
Prototype is used when the creation of a working model is further evaluated and refined as deemed necessary. Also, when the customer and developer cannot specify requirements precisely at the beginning of the development as there is still much uncertainty. In this case, the precise input, processes and output has yet to be identified.

 

(e) It is often thought that the time taken to develop software using the prototyping paradigm could be larger than the classical life-cycle. Using your understanding of the prototyping life-cycle, explain why this might be true. [3]
This is true when the loop portion of the prototype (requirement gathering, quick design, building prototype, evaluation and refinement) undergo many iteration due to changing requirement. The iterative process is long and may be due to the customer changing their requirement, modification and error correction. As a result, the entire development life cycle of prototype is prolonged and made longer than the classic life cycle. So, the delivery of a trial product is delayed.

 

(f) Requirement analysis methods are techniques used to derive a precise and independent description of the software element in a computer-based system. There are several requirement analysis methods that can be used. State and explain in some detail any two common characteristics that are shared by all such methods. [4]
It support abstraction
It allow one to concentrate on a problem with some level of generalization without regard to the problem's irrelevant low level details.

It defines interface
The interaction mechanism of program system within the software is defined and determined so that communication between modules are properly achieved.