ALCCS

 

Code: CS44                                                                     Subject: SOFTWARE ENGINEERING

Flowchart: Alternate Process: MARCH 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.  What are the different types of softwares?                                                                          

 

             b.  Discuss the prototype model. What are its advantages and disadvantages.

 

             c.  Discuss data flow diagram as a tool for Structured Analysis.

 

             d.  Discuss Bottom – up Design and Top – down Design.  When is it appropriate to use them?

 

             e.  Differentiate between

                  (i)   Alpha testing and Beta testing.

                  (ii)  Software Verification and Software Validation.

 

             f.   What are legacy systems.  Why do they require re-engineering.

 

             g. Define the following terms:

                  (i)     Error                                      (ii)   Fault                                                                    

                  (iii)   Test Case                               (iv)  Failure                                                      (7  4)

            

Q.2       a.  Discuss the advantages and disadvantages of the following process models:

                  (i)    Waterfall Model.

                  (ii)   Incremental Model.

                  (iii)  Spiral Model.                                                                                                            

 

             b.  What are the components of software requirement specification document?              (12+6)

                 

  Q.3     a.  Discuss emperical and heuristic cost estimation techniques.

 

             b.  Describe the various steps involved in Requirements Engineering.

 

             c.  What are the characteristics of a good Software Design document?                       (6+6+6)

 

  Q.4     a.  Define cohesion and coupling.  Discuss the different types of coupling.                               

 

             b.  What is data dictionary.  What is its role in the context of a DFD.                                        

            

             c.  Explain the principles of Abstraction, Partitioning, Projection and Modularity in structured analysis and design.                                                                                                                            (6+4+8)

                 

  Q.5     a.  What is software maintenance?  Describe various categories of software maintenance. Which category consumes maximum effort and why?                                                                                 

            

             b.  What is Regression Testing? What is its role in Integration Testing.                                     

 

             c.  What is a CASE tool, CASE workbench, CASE environment and CASE support.            

 

             d.  What is software debugging? What are the steps involved in software debugging. (5+5+3+5)

 

  Q.6     a.  Consider the flow graph shown in the figure given below ( where 1,2,…5 denotes the numbering of nodes and a, b, … h denote distances between two nodes) and draw the connection matrix for it. Find out the cyclomatic complexity and two/ three link paths from a node to any other node.                              (7)

 
           

 

 

 

 

 

 

 

 

 

 

 

 

 

             b.  Distinguish between the following:

                  (i)   Structural testing and Functional testing

                  (ii)  Unit testing and Integration testing                                                                       (32)

 

             c.  Consider the following program segment.

                                    void sort ( int a[], int n)

                                    {

                                                int i, j;

                                                for (i=1; i<n-1; i++)

                                                for (j=i+1; j<n; j++)

                                                if (a[i] > a[j])

                                                {

                                                temp = a[i];

                                                a[i] = a[j];

                                                a[j] = temp;

                                                }

                                      }

                  (i)  Draw the control flow graph for this program segment.                                             (2)

                  (ii) Determine the cyclomatic complexity for this program.                                              (3)

 

  Q.7          Write a short notes on any THREE:                                                                        (63)

 

                  (i)    PERT/CPM

                  (ii)   Function Points

                  (iii)  Software Design Document

                  (iv)   Walkthroughs and Inspections