· 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.
b. Discuss the different categories of software development projects according to the COCOMO estimation model. (6)
c. Differentiate between LOC and the Function Point metric to measure the size of the software product? (6)
Q.3 For the following problem statement
The blood bank wishes to computerize its operations. The bank issues blood to patients and hospitals. When a hospital requests for blood the request is immediately serviced. When a patient requests for blood then a relative is asked to replace blood in the blood bank storage. This blood may or may not be of the same blood group. The blood bank also collects blood from non-blacklisted donors. This collection can be from regular donors or from camps which are organized now and then. Every time blood is to be collected, the bank checks whether the person is suffering from any fatal or non-fatal disease or not. In case the person is identified to have fatal disease, the person is black-listed. If the person is healthy, then the blood group is determined and the blood is collected and stored in the bank. A collection report is generated by the blood bank and given to the donor.
(i) Draw a Data Flow Diagram?
(ii) Map the Data Flow Diagram to Structure Charts (10+8)
Q.4 a. Define coupling and cohesion. Discuss the different types of coupling and cohesion in modular design? (9)
b. What is program debugging? How is it different from program testing? Discuss any four approaches used for debugging a program. (9)
Q.5 a. Draw a flow graph, arrive at the cyclomatic complexity, find the set of linearly independent paths for the following program.
void F(int key, int T[ ], int size, boolean found, int L) (10)
int bot, top, mid;
if(T[L] = = key) found = true;
while (bot<=top && !found)
mid = (top+bot)/2;
if (T[mid] = = key )
found = true; L=mid;
else if (T[mid] < key )
bot = mid + 1;
top = mid – 1;
b. Discuss the Statement Coverage, Branch Coverage, Condition Coverage and Path coverage Structural testing techniques with the help of an example. (8)
Q.6 a. Discuss the components of a Software Requirement Specification document.
b. Discuss any two-specification tools for arriving at a SRS document.
c. Define Software Re-engineering? Discuss the steps involved in re-engineering a software system. (6+6+6)
Q.7 Write short notes on any THREE of the following:
(i) Integration and System Testing.
(ii) CASE Tools.
(iii) Mutation Testing.
(iv) Walkthroughs & Inspections.
(v) Functional testing. (6+6+6)