August 2000
SE203 : SOFTWARE ENGINEERING

QUESTION 3

Total Marks: 15 Marks

Click here to access other questions

SUGGESTED SOLUTIONS
Solutions and allocated marks are indicated in green.
Return to
Question 3

(a) The requirements 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. Give examples of requirements that
fall into each of these categories. [4]
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.
Examples of requirements:
Functional: “Printing of a record; calculation of a formula”
Performance: “Able to run on a 486 processor; able to complete a
transaction in 2 seconds.”
(1 mark for explanation; 1 mark for example)


(b) Balzer and Goldman proposed a number of principles to follow in the creation
of the specification analysis document. Below are four such principles. In your
own words, explain what each of them means:
- “A specification must be operational.”
- “A specification must encompass the system of which the software is
component.”
- “Separate functionality from implementation.”
- “A specification must be localized and loosely coupled.” [4]
(1 mark each)
Separate functionality from implementation
- Difference can be seen from this :by definition, a specification is a
description of what you want (i.e. you specify), as opposed to how it is
realized (implementation).
A specification must be localized and loosely coupled
- i.e., the specification must be such that its content and structure
should be able to accommodate dynamic changes, and that whatever
information changes there are, it should affect one component only.
A specification must be operational
- i.e., the specification must be complete and formal enough such that it
when it can be satisfy an implementation of some arbitrary test cases.
A specification must encompass the system of which the software is
component
- System is made up of interacting components; hence specifications
must be made in context of entire system and interaction between its
parts

(c) The following are typical causes of problems identified during requirement
analysis. For each, based on your understanding of requirement analysis,
comment on the significance, and how it affects actual subsequent software
development. [4]
- “Poor communication.”
- “Inadequate techniques and tools for developing specification.”
Again, the question here does not simply require students to explain the
cause. They are required to relate how this cause could lead to problems
(e.g. later) in software development. 0 marks for an obviously incorrect or
non-informative explanation;
1 mark for simply an explanation of the problem without a clear
demonstration as to how this problem actually affects subsequent
software development.
2 marks for an explanation that clearly shows maturity and an awareness
of how problems faced can affect development.


(d) Two communication techniques include the Preliminary Meeting/Interview, and
the Facilitated Application Specification Technique (FAST). Both share many
common characteristics, in that they focus on simplistic understanding of the
software and system at hand. Based on your understanding of both techniques,
and the larger problems of requirement analysis, describe why these
communication techniques can be important. [3]
Generally speaking, typically at the start of a development project, there
tends to be a degree of ambiguity and lack of specification,
understanding between both parties. Both techniques share the common
characteristic of enabling both the developers and users to come to a
common, simplistic understanding of each other’s expectations and
needs before real software development takes place; and accomplish this
by focusing on establishing simplistic truths of the project under
development, for example general functionality required, resources to be
expended, scope and so on.
As this is obviously a very open-ended question, the following marking
scheme should be adopted:
0 marks for an obviously incorrect or non-informative explanation;
1 mark for a simplistic statement of the two communication techniques
without demonstrating on how these techniques actually assist in
development
2 marks for an average answer that does the above, and attempts to
show, although not completely successfully, the relation to development;
3 marks for an obviously mature and informed response.