ASSIGNMENTS FOR SOFTWARE ENGINERING
SDLC
- 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.
- 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.
- How does a phased life cycle model assist software management?
SOFTWARE METRICS
- What is McCabe’s cyclomatic number? Determine the same for:
- 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
- How is effort and time calculated in Halstead method?
- 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).
- 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).
- 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).
- 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;
- Calculate Halstead’s basic measures on the triangle code of earlier problem.
- 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
- Why is risk management important?
2. How is risk identified and estimated?
3. What is the importance of risk decision trees?
DESIGN
- What is modularity? Draw a modular structure of compiler.
- What is difference between functional and data abstraction. Illustrate with the example of compiler.
- What is difference between SDM & OODM?
DF
- Draw a DFD for (i) a simple library problem, (ii) a factory problem, (iii) a grocery store problem.
- What is advantage of DFD over other diagrams?
TESTING
- What are the basic concerns with software testing?
- Why is specification needed to do testing?
- Why is path testing impractical?
- Does path testing subsume statement coverage?
- Software testers have sometimes said “errors happen in corners”. What cold this mean?
- Every statement coverage is not a sub-domain testing criterion. What is its significance?
- What type of testing is loop testing?
- Why are test cases essential?
- Why is BVA necessary?
Ans: Schaum series