Flowchart: Alternate Process: AUGUST 2009Time: 3 Hours Max. Marks: 100



      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.1 a. What expertise is required for using the following process models to engineer a software system. Justify?

(i) Incremental Model

(ii) Spiral Model


b. Why Spiral model is called a meta model? Discuss how spiral process model incorporates quality aspects into software development?


c. Verify the following statements

(i) A software can be correct and still not reliable

(ii) Adherence to coding standards is checked during the system-testing phase.


d. What type of coupling exists between the modules P and Q in the following situations. Justify your answer?

(i) Module P branches to a local label of module Q.

(ii) Module Q passes back to P information along with the action that the module P must take.


e. What type of cohesion exists within the following module? Justify your answer?

(i) A module performing tape input, tape output, disk input, disk output, keyboard input, keyboard output.

(ii) A module that computes the square root, reverse the string of characters, sort the item records and calculate the income tax of the employees.


f. Discuss any four characteristics of a software process?


g. What is functional testing? Discuss equivalence partitioning and boundary value analysis technique for functional testing? (7 4)


Q.2 Consider the following problem statement

A Police Vehicle & Control System ensures that incidents are logged and routed to the most appropriate police vehicle. Some incidents are more serious than others and require a more urgent response. The classes of response are identified and incidents are allocated to these classes. The position of the vehicle is also taken into account so that the closest vehicle is sent to respond to the incident. Some incidents may require more than one vehicle and some incidents, like accidents, may require specialized vehicles. Location of incident may also decide the number of vehicles to be sent. The emergency services like the fire and ambulance services are automatically alerted. The details of the reporter of the incident are also logged. At the end, the report of the police on the incident is produced.

(i) Draw a Data Flow Diagram?

(ii) Map the Data Flow Diagram to Structure Charts. (9 + 9)

Q.3 a. Differentiate between a software measure, a software metric and software measurement with the help of examples?


b. Discuss Expert Judgment and Delphi Cost Estimation Technique?


c. Compute the function point value for a project where number (Weighting factor) of user inputs, user outputs, user inquiries, files and external interfaces are 32 (WF=4), 60 (WF=5), 24 (WF=4), 8 (WF=10) and 2 (WF=7) respectively. Assume that the complexity adjustment values for each of the 14 factors is 3. Also if the effort, errors, amount and pages of documentation are 100PM, 2000, Rs. 300000 and 1000 pages respectively, then compute the productivity, quality, cost and documentation.

(5 + 5 + 8)


Q.4 a. Discuss the principle of Abstraction, Encapsulation, Polymorphism and Inheritance in Object Orientation with the help of examples?


b. Discuss the difference between Object Oriented Analysis and Object Oriented Design. What are the important features that characterize a good Object Oriented Design? (8 + 10)


Q.5 a. Define the Lines of Code and Function Point metric to measure the size of the software product? State their advantages and disadvantages?

b. Define Software Reliability. Why Software reliability is difficult to measure? Discuss any two metrics for computing software reliability?


c. Discuss Walkthroughs and Inspections as Software Review Techniques? (6+6+6)


Q.6 For the following function F

F (a, beg, end, loc)


set left=beg; right=END, loc=beg;

set done=FALSE;


WHILE((a[loc] a[right] ) and (locright)) DO

set right=right-1;


IF (loc=right) THEN set done=TRUE;

ELSE IF (a[loc]>a[right] ) THEN Interchange a[loc] and a[right]

set loc=right


IF (NOT done) THEN

WHILE ( (a[loc] a[left] ) and ( loc left ) ) DO

set left = left + 1;


IF ( loc = left ) THEN set done = TRUE;

ELSE IF (a[loc] < a[left] ) THEN Interchange a[loc]

and a[left]

set loc=left;





(i)                                                                                                                                                                                                                                                                    Design a test set using the Branch Coverage and Statement Coverage criterion?

(ii)                                                                                                                                                                                                                                                                          Draw a flow graph, arrive at the cyclomatic complexity and find the set of linearly Independent paths? (6 + 12)


Q.7 Write short notes on any THREE of the following:


(i)                                                                                                                                                                                                                                                                    Unit, Integration and System Testing

(ii)                                                                                                                                                                                                                                                                   COCOMO Model.

(iii)                                                                                                                                                                                                                                                                        Software Requirement Specification document.

(iv)                                                                                                                                                                                                                                                                        Software Debugging

(v)                                                                                                                                                                                                                                                                         CASE Tools (6+6+6)