August 2000
SE203 : SOFTWARE ENGINEERING

QUESTION 2

Total Marks: 15 Marks

Click here to access other questions

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

(a) The specification of a project frequently forms the basis for correct software
development. Two of the benefits of specification document are:
- The development of a formal contract for development between users and
developers, and
- A means for assessing quality of software.
Based on your understanding of the specification documents, describe how each
of these benefits are true. [4]
Essentially, as software development is a business transaction between
the user and developer, it would make sense for the terms of this
transaction to be clearly and formally specified in black and white, i.e. the
expectations of the program to be developed.
At the end of development, this specification will be in turned used to
ascertain the quality of the product developed, since for all purposes
quality can be defined as a product having met this pre-defined
expectations.
0 marks for an obviously incorrect or non-informative explanation;
1 mark for an answer that clearly needs improvement.
2 marks for an explanation that clearly shows maturity and an awareness
of the characteristics of the specification.


(b) Fourth generation techniques are examples of a software development method.
Some characteristics of fourth generation techniques include the fact that they
are easy to use and the fact that they enable users with limited software
development skills to develop programs. Based on your understanding of fourth
generation techniques, describe how these characteristics are true. [3]
4th generation techniques essentially combine procedural and non-procedural characteristics, and allow for programs to be written by end
users without requiring them to possess detailed knowledge of
programming. This is because the methods of creating programs using
4th generation techniques are typically intuitive, and natural for the
human being, e.g. through graphical user interfaces. In addition, they
typically support the automatic creation of source code based on some
input and output specification.
0 marks for an obviously incorrect or non-informative explanation;
1 mark for an answer that although has one good point put down, does
not otherwise indicate any knowledge of the advantages of 4th GT
2 marks for a average-quality explanation that has some good points, but
still can be improved upon.
3 marks for a clearly excellent answer that demonstrates good
competence and understanding.


(c) The following are commonly made statements to do with software development.
For each, describe how each statement can be true:
- “Requirements tend to changed early in development.”
- “The prototype is often “rushed.”
- “Classical method of development is a default methodology that many
software developers would adopt.”
- “4 th generation techniques do not replace the need for good design.” [8]
These are open-ended questions again; but some possible responses
can be as such. Up to 2 marks for a matured response.
- Software development is a lengthy business, to say nothing that the
typical end-user often does not have a clear idea of requirements from
the onset. Requirements thus can be therefore expected to change as
long as development is going to stretch more than several days; this
is made the more so that the greater the exposition of a system, the
more thorough the investigation, and likely for new faults (and
requirements) to surface.
- Typically, given that the model will undergo several revisions due to
changing requirements, it could be possible for the model itself to be
changed several times. Hence, it could be “rushed.”
- Classical methods of development are well-established
methodologies, and thus are often used as building blocks to which
other methodologies are either derived, specified, or further refined. In
this sense, as the methodology has been around for an extended
period of time, it can be perceived as a “default” methodology for
developers to apply from.
- 4th generation techniques essentially skip the design phase, as focus
is placed upon the output, based on input (the nature of non-procedural
languages). This does not mean that design itself is
unimportant though, particularly in the development of complex
systems.
Since it’s possible that students will provide extremely frivolous or
simplistic responses, markers should exercise great discretion in the
award of marks here. Typically 0 marks is to be awarded for an obviously
uninformed answer; 1 mark for a minimally adequate answer with some
knowledge; and 2 marks for an averagely-good to excellent answer.