August 2000
SE203 : SOFTWARE ENGINEERING

QUESTION 1 (Compulsory)

Total Marks: 30 Marks

Click here to access other questions

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

(a) Define the term Software Engineering. [2]
The use of sound, engineering principles (1 mark) to economically create
functional, reliable, software (1 mark)


(b) One method of development studied is the classical method. With the aid of a
diagram, describe each step involved in this method. [8]
Diagram: 2 marks. 1 mark for the correctness of general flow of steps; 1
mark for correct steps itself.
1 mark for the explanation of each step. Alternative answers are again
possible.
- Systems Engineering: establish requirements for all system elements
and then allocating some subset of these requirements to software.
Essential for interfacing correctly with external components, e.g.
databases, hardware

- Analysis: analysis of requirements is now focused on software alone.
Requirements for both system and the software are documented and
reviewed with the customer.

- Design: the multistep process that focuses on four distinctive
attributes of the program: (a) data structures; (b) software
architecture; (3) Procedural detail; (4) Interface characteristics.

- Coding: design is translated to machine readable form
- Testing: focuses on the logical internals of the software.

- Maintenance: Errors/changes will invariably occur because software
must accommodate changes in the real and external environment.

(c) The four activities conducted in design are as follows: data design, architectural design, procedural design, and interface design. Describe each one of these activities. [4]
- Data design: selects logical representations of data objects (i.e. data
structures) identified during the requirements definition and
specification phase.
- Architectural Design: develop a modular program structure and
represent the control relationships between modules.
- Procedural design; where procedure, or the order of tasks to be
processed are specified for each component of the structure defined.
- Interface design: interaction mechanisms within software, or between
software and user are defined.
(1 mark each)

(d) One design fundamental is the use of data structures. Define what is meant by
this fundamental, and also provide one example of a data structure. [2]
Data structure is a representation of the logical relationship among
individual elements of data. Examples of data structures include: scalar,
sequential vector, linked list, hierarchy tree, n-dimensional array.
(1 mark for the definition, 1 mark for a suitable example.)


(e) One of the human concerns in relation to programming languages is enhanced
user satisfaction. Based on your understanding of programming languages and
how humans relate to them, describe this concern. You may wish to make use of
examples of programming languages to illustrate your answer. [2]
Essentially, this characteristic refers to that some programming
languages actually impart a sense of satisfaction to the developer/user
upon usage of that language. This is sometimes related to the difficulty
level of the language itself; i.e. a low level language, which is more
difficult to program in, could possibly provide for the user greater
satisfaction upon the completion of the project as compared to using a
high level language.
Alternative answers are very possible here.
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 programming languages.


(f) Give one example of each of the four generations of programming languages. [4]
Examples include as follows:
1st generation: assembly, machine language
2nd generation: FORTRAN, BASIC, COBOL
3rd generation: C, PASCAL
4th generation: ACCESS, SQL, PARADOX etc.
(4 marks in total. One mark for a correct example.)


(g) Transaction flow is an example of a characteristic that can be observed within a data flow diagram. With the aid of a diagram, describe the term Transaction
Flow. [4]
- Data moving along an incoming path that converts external world
information into a transaction.
- The transaction is evaluated, and based on its value, flow along one of
many “action paths” is initiated.
- The hub of information flow from which many action paths emanate
(i.e. originate) is called a “transaction center”.
(3 marks for explanation, 1 mark for diagram. Diagram is at the end of
marking scheme)


(h) Describe two methods of debugging. [4]
One make available for naming brute force, one mark available for
naming backtracking and a further two marks are available for
satisfactory descriptions. (total 4 marks).
The brute force: each line of source code is checked individually. The
program is typically loaded with run-time traces, and WRITE statements,
and we hope that some information will be produced that will indicated a
clue to the cause of an error.
Backtracking: Starting from where the symptom has been uncovered, we
backtrack manually until the site of the cause is found.