ASSIGNMENTS FOR SOFTWARE ENGINERING

SDLC

  1. For each of the following documents, indicate in which phse(s) of the software life cycle it is produced: final user manual, architectural design, SQA plan, module specification, source code, statement of work, test plan, preliminary user annual, detailed design, cost estimate, project plan, test report, documentation.
  1. Order the following tasks in terms of the waterfall model: acceptance testing, project planning, unit testing, requirements review, cost estimating, high level design, market analysis, low-level design, systems testing, design review, implementation, requirement specification.
  1. How does a phased life cycle model assist software management?

SOFTWARE METRICS

  1. What is McCabe’s cyclomatic number? Determine the same for:
  1. In Halstead’s metrices, what is the significance of :

(i)operators and operands

(ii)potential operands,

(iii)Length

(iv)Estimated length

(v)Volume

(vi)Potential volume

(vii)Implementation Level

  1. How is effort and time calculated in Halstead method?
  1. Why is the number of decisions + 1 an important method for calculating McCabe’s cyclomatic no.?

(Ans: It would be very time consuming to have to construct the control flow graph for large programs).

  1. Why is monotonicity an important characteristic of a size or effort metric such as Halstead’s effort metric?

(Ans: If adding more code can cause the value of the effort metric to decrease, then the metric’s behavior is not understandable. It may also mean that the metric is manipulated).

  1. Why is complexity not readily measurable?

(Ans: Complexity is not well defined and each one has different interpretation. It is interaction between person and code that makes it difficult to define).

  1. Calculate McCabe’s complexity on the following source code. Draw a control flow graph.

Read x,y,z;

Type = ‘scalene’;

If(x= =y or x= =z or y = =x) type = ‘isosceles’;

If(x= =y or x= =z) type‘equilateral’;

If(x> =y+z or y =x+z or z>= x+y)) type ‘not a triangle’;

If(x=0 or y=0 or| z<=0) type = ‘bad inputs’;

Print type;

  1. Calculate Halstead’s basic measures on the triangle code of earlier problem.
  1. Calculate Halstead’s basic measures on factorial code given below:

int fact (int n) {

if (n= = 0)

{rturn 1;}

else

{return n*fact(n-1);}

}

RISK ANALYSIS AND MANAGEMENT

  1. Why is risk management important?

2. How is risk identified and estimated?

3. What is the importance of risk decision trees?

DESIGN

  1. What is modularity? Draw a modular structure of compiler.
  1. What is difference between functional and data abstraction. Illustrate with the example of compiler.
  1. What is difference between SDM & OODM?

DF

  1. Draw a DFD for (i) a simple library problem, (ii) a factory problem, (iii) a grocery store problem.
  1. What is advantage of DFD over other diagrams?

TESTING

  1. What are the basic concerns with software testing?
  1. Why is specification needed to do testing?
  1. Why is path testing impractical?
  1. Does path testing subsume statement coverage?
  1. Software testers have sometimes said “errors happen in corners”. What cold this mean?
  1. Every statement coverage is not a sub-domain testing criterion. What is its significance?
  1. What type of testing is loop testing?
  1. Why are test cases essential?
  1. Why is BVA necessary?

Ans: Schaum series