ALCCS

 

Code: CS44 Subject: SOFTWARE ENGINEERING

Flowchart: Alternate Process: SEPTEMBER 2010Time: 3 Hours Max. Marks: 100

 

NOTE:

      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. Define Software. Mention some important characteristics of a software. (7 4)

 

b. Explain the capability maturity model developed by SEI.

 

c. For the given flow chart find out the cyclomatic complexity and write down the independent paths.

d. What is White-Box Testing? What is its purpose?

 

e. Explain data design, architectural design, an interface design, and a component design.

f. Mention any four software quality characteristics.

 

g. Define requirement elicitation. Also mention why elicitation is difficult.

 

Q.2 a. Compare and contrast waterfall, prototyping and iterative model on the basis of their strength, weaknesses and the type of project. (6)

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)

Begin

Premium = 500;

If ((age < 25) and (sex = male) and (not married)) then

Premium = Premium + 1500;

Else

If (married or (sex = female)) then

Premium = Premium 200;

If ( (age > 45 and age < 65)) then

Premium = Premium 100;

End

 

(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 Delphi cost Estimation Techniques. (6+6+6)