· Question 1 is compulsory and carries 28 marks. Answer any FOUR questions from the rest. Marks are indicated against each question.
· Parts of a question should be answered at the same place.
· All calculations should be up to three places of decimals.
Q.3 a. Discuss emperical and heuristic cost estimation techniques.
b. Describe the various steps involved in Requirements Engineering.
c. What are the characteristics of a good Software Design document? (6+6+6)
Q.4 a. Define cohesion and coupling. Discuss the different types of coupling.
b. What is data dictionary. What is its role in the context of a DFD.
c. Explain the principles of Abstraction, Partitioning, Projection and Modularity in structured analysis and design. (6+4+8)
Q.5 a. What is software maintenance? Describe various categories of software maintenance. Which category consumes maximum effort and why?
b. What is Regression Testing? What is its role in Integration Testing.
c. What is a CASE tool, CASE workbench, CASE environment and CASE support.
d. What is software debugging? What are the steps involved in software debugging. (5+5+3+5)
Q.6 a. Consider the flow graph shown in the figure given below ( where 1,2,…5 denotes the numbering of nodes and a, b, … h denote distances between two nodes) and draw the connection matrix for it. Find out the cyclomatic complexity and two/ three link paths from a node to any other node. (7)
b. Distinguish between the following:
(i) Structural testing and Functional testing
(ii) Unit testing and Integration testing (32)
c. Consider the following program segment.
void sort ( int a, int n)
int i, j;
for (i=1; i<n-1; i++)
for (j=i+1; j<n; j++)
if (a[i] > a[j])
temp = a[i];
a[i] = a[j];
a[j] = temp;
(i) Draw the control flow graph for this program segment. (2)
(ii) Determine the cyclomatic complexity for this program. (3)
Q.7 Write a short notes on any THREE: (63)
(ii) Function Points
(iii) Software Design Document
(iv) Walkthroughs and Inspections