(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 others 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.
|