August
1997 QUESTION 2 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
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. Explain carefully what is meant by the words "functional" and "performance" in this context. | [4] | |
functional: refers to 'what' must be done in the software program, i.e. the essential view of a project which states explicitly the functional characteristics of the software. | |||
[2 marks] | |||
performance: refers to 'how well' the software performs its function: an implementation view of the software. | |||
[2 marks] | |||
(b) One of the Specification Principles states: | |||
A specification should be localized and loosely coupled. |
|||
In your own words, explain what this means in relation to the specification. | [2] | ||
Two possible explanations: | |||
'localised' means to affect one piece only (1 mark, must be related to the software) | |||
'loosely coupled' means that parts can be added or removed easily (1 mark, must be related to the software) | |||
or | |||
The specification must be such that its content and structure should be able to accommodate dynamic changes, and that whatever information changes there are, they should be affect only one component. | |||
[2 marks] | |||
(c) The prototyping paradigm is a popular life-cycle model that allows for the refinement of specifications. With the aid of a diagram, explain the different steps in this life-cycle. | [9] | ||
Steps in prototyping: | |||
Requirements gathering: developer and customer meet to define overall objectives of software product | |||
'Quick design': quick implementation of those aspects of the software that will be visible to the user | |||
Build prototype: leads to design of prototype | |||
Evaluate and refine requirements: analysis of prototype; refinement | |||
Engineer product | |||
1.5 marks per step: 1.5 marks for diagram as in study guide: for full marks for diagram, candidates must include all connections between steps. | |||
[9 marks] | |||
(d) It is often thought that the time taken to develop a software system using the prototyping paradigm is longer than would be taken using the classical life-cycle. Using your understanding of the prototyping life-cycle, explain why this might be true. | [2] | ||
If the loop portion of the life-cycle --- requirement gathering, quick design, build prototype, evaluate and refine requirements --- goes through several iterations, then the overall time taken to produce the software may be longer. This iterative process may be due to changing requirements, perhaps because of unpredictable system functions. Alternative explanations of approximately the same point should be accepted: noticing the loop is essential though. | |||
[2 marks] | |||
(e) Requirement analysis methods are used to derive a precise and independent description of the software elements of a computer-based system. There are several different Requirement Analysis methods that can be used. State and briefly explain any two common characteristics that are shared by all such methods. | [3] | ||
Any two of the following: | |||
supports the fundamental requirement analysis principles | |||
creates a hierarchical representation of system | |||
provides a foundation for the design and implementation steps | |||
mechanism for information domain analysis | |||
approach for functional and/or behavioral representations | |||
definition of interfaces | |||
mechanisms for problem partitioning | |||
support for abstraction | |||
representation of essential and implementation views | |||
1.5 marks each: 0.5 for statement, 1 for elaboration | |||
[3 marks] |