April 1999
SE203: SOFTWARE ENGINEERING

QUESTION 1 (Compulsory)

Total Marks: 20 Marks

Click here to access other questions

GRADE A
Sample student's solutions are indicated in green.
Return to Question 1

 

(a) Write down, in correct order, the five tasks performed in requirements analysis. [3]
  1. Problem recognition
  2. Evaluation and Synthesis
  3. Modeling
  4. Specification
  5. Review

 

(b) The information domain contains three different views of data and control. Identify and explain each one of them briefly. [6]
The three different views of data and control are:
  1. Information flow :
    Information flow is concerned with how information is changed as it moves through the system.
  2. Information content :
    Information content refers to the composition of some information items in software
  3. Information structure
    Information structure is concerned with the organization (often hierarchical) of information units in a software.

 

(c) For each of the following statements, identify which design activity it is referring to: [4]
(i) The design activity that involves the modular arrangement of parts and structure in the software program.
Architectural design

 

(ii) The design activity that concerns the interaction mechanisms of program systems within the software.
Interface design

 

(iii) The design activity that concerns the creation of valid and usable data structures within the software.
Data design

 

(iv) The design activity that is concerned with the series of steps taken to accomplish some function in the program.
Procedural design

 

(d) Consider the following pseudo-code.

/* Program to count letter grades */
initialize grade = 0;
initialize confirm = 0;
print("Enter the Letter Grades");
print("Enter the End of File Character to End Input");
do {
       process_counts;
       print("Letter Grades:");
       print("Anymore?);
   } while (grade not_equal_to End of File)
print("Good Bye")

 

(i) Derive a flow-graph based on the pseudo-code above. Indicate the True/False remarks where applicable in the graph. [2]
The flow graph of the pseudo code is:

pic1.gif (5422 bytes)

 

(ii) Based on the flow-graph, calculate the value of V(G) using all three methods of calculation. [3]
  1. V(G) = 2 (2 regions)
  2. V(G) = E - N + 2       E - no.of edges
            = 9 - 9 + 2        N -  no. of nodes
            = 2
  3. V(G) = P+1              P = no. of predicate nodes (nodes 8)
            = 1+1
            = 2

 

(iii) Write down the test paths you would use to comprehensively test this program. [2]
The test paths chosen are :
  1. nodes
    1,2,3,4,5,6,7,8,9
  2. nodes
    1,2,3,4,5,6,7,8,5,6,7,8,9