· 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. What are the three generic phases on which software engineering process can be categorized regardless of application area, project size, or complexity? Also mention the umbrella activities that complement the generic phases. (6)
c. Software Engineering is a layered technology. Explain. (6)
Q.3 a. Consider the following function:
Procedure liability (age, sex, married, premium)
Premium = 500;
If ((age < 25) and (sex = male) and (not married)) then
Premium = Premium + 1500;
If (married or (sex = female)) then
Premium = Premium – 200;
If ( (age > 45 and age < 65)) then
Premium = Premium – 100;
(i) Arrive at a test set for statement coverage criterion and condition coverage criterion (4)
(ii) Draw the flow graph and find out the cyclomatic complexity. (4)
b. Differentiate between the following:
(i) Testing and debugging.
(ii) Stubs and Drivers.
(iii) Alpha and Beta Testing.
(iv) Stress and Security Testing. (10)
Q.4 a. What is a DFD? Draw a DFD for a system that pays workers. In the DFD there is one basic input data flow, the weekly timesheet, which originates from the source worker. The basic output is the paycheck, the sink for which is also the worker. In this system, first the employee's record is retrieved, using the employee ID, which is contained in
the timesheet. From the employee record, the rate of payment and overtime are obtained. These rates and the regular and overtime hours (from the timesheet) are used to compute the pay. After the total pay is determined, taxes are deducted. To compute the tax deduction, information from the tax-rate file is used. The amount of tax deducted is recorded in the employee and company records. Finally, the paycheck is issued for the net pay. The amount paid is also recorded in company records. (6)
b. Define a prototype. Discuss any two prototyping approaches. When are they used? (6)
c. Discuss the process of Object Oriented Analysis. (6)
Q.5 a. Discuss the steps involved in Software Re-engineering. (6)
b. Define CASE. Mention some of the CASE tools and their purpose. (6)
c. Consider a project to develop a full screen editor. The major components are Screen Edit, Command Language Interpreter, File input and output, Cursor Movement and Screen Movement. The sizes for these are estimated to be 4K, 2K, 1K, 2K and 3K delivered source code lines. Use COCOMO model to determine: Overall effort, development time, productivity and average staff size. Assume that required software reliability is high (1.15), product complexity is high (1.15), analyst capability is high (0.86), programming language experience is low (1.07) and all the drivers are nominal. Values of ai, bi, ci and di are 3.2, 1.05, 2.5 and 0.38 respectively. (6)
Q.6 a. Discuss the principles of abstraction, partitioning and modularity in software design.
b. Discuss the steps involved in mapping DFD into structure charts.
c. Define cohesion and coupling. Discuss the different types of coupling? (6+6+6)
Q.7 a. Write short notes on any three of the following:
(i) Unit and Integration testing.
(ii) PERT and CPM.
(iii) Code walkthroughs and code inspections.
(iv) Size oriented Metrics.
(v) Expert Judgment and