Question 1

A company needs to develop a strategy for software product development for which it has a choice of two programming languages L1 and L2. The number of lines of code (LOC) developed using L2 is estimated to be twice the LOC developed with L1. the product will have to be maintained for five years. Various parameters for the company are given in the table below.
Parameter Language L1 Language L2
Man years needed for development LOC/10000 LOC/10000
Development Cost per year Rs. 10,00,000 Rs. 7,50,000
Maintenance time 5 years 5 years
Cost of maintenance per year Rs. 1,00,000 Rs. 50,000

Total cost of the project includes cost of developmen and maintenance. What is the LOC for L1 for which the cost of the project using L1 is equal to the cost of the project using L2?

A : 4000
B : 5000
C : 4333
D : 4667


     Correct answer is :B

     Solution :
      LOC L1 = x
    L2 = 2x
    Total cost of project
    (x/10000)*1000000 + 5*100000 = 2x/1000000*750000*50000*5
    100x + 500000 =150x + 250000
    50x = 500000 - 250000
    x= 250000/50 => x=5000

  •   Question 2

    A company needs to develop digital signal processing software for one of its newest inventions. The software is expected to have 40000 lines of code. The company needs to determine the effort in person-months needed to develop this software using the basic COCOMO model. The multiplicative factor for this model is given as 2.8 for the software development on embedded systems, while the exponentiation factor is given as 1.20. What is the estimated effort in personmonths?

    A : 234.25
    B : 932.50
    C : 287.80
    D : 122.40


     Correct answer is :A

     Solution :
      Effort person per month
    KDSI=Kilo LOC
    = 2.8 * (40)1.20
    =2.8 *83.6511
    =234.33 person per month

  •   Question 3

    Which of the following is NOT desired in a good Software Requirement Specifications (SRS) document?

    A : Functional Requirements
    B : Non Functional Requirements
    C : Goals of Implementation
    D : Algorithms for Software Implementation


     Correct answer is :D

  •   Question 4

    The following is comment written for a C function
    /* This function computes the roots of a quadratic equation
    a.x^2+b.x+c=0. The function stores two real roots in *root1 and *root2 and returns the status of validity of roots. It handles four different kinds of cases.
    i) When coefficient a is zero irrespective of discriminant
    ii) When discriminant is positive
    iii) When discrimanant is zero
    iv) When discrimanant is negative
    Only in cases ii and iii , the stored roots are valid.
    Otherwise 0 is stored in the roots. the function returns 0 when the roots are valid and -1 otherwise.
    The functin also ensures root1>=root2.
    int get_QuadRoots float a, ( float b, float c, float *root1, float *root2);
    * /
    A software test engineer is assigned the job of doing black box testing. He comes up with the following test cases, many of which are redundant.
    Which one of the following options provide the set of non-redundant tests using equivalence class partitioning approach from input perspective for black box testing?

    A : T1,T2,T3,T6
    B : T1,T3,T4,T5
    C : T2,T4,T5,T6
    D : T2,T3,T4,T5


     Correct answer is :C

     Solution :
      T1 and T2 checking same condition a = 0 hence, any one of T1 and T2 is redundant.
    T3, T4: in both case discriminant (D)=b^2 - 4ac = 0 . Hence any one of it is redundant.
    T5 : D>0
    T6 : D<0

  •   Question 5

    The following figure represents access graphs of two modules M1 and M2. The filled circles represent methods and the unfilled circles represent attributes. IF method m is moved to module M2 keeping the attributes where they are, what can we say about the average cohesion and coupling between modules in the system of two modules?

    A : There is no change
    B : Average cohesion goes up but coupling is reduced
    C : Average cohesion goes down and coupling also reduces
    D : Average cohesion and coupling increase


     Correct answer is :A

     Solution :
      Coupling = number of external links/number of modules =2/2
    Cohesion of a module = number of internal links/number of methods
    Cohesion of M1 = 8/4 ; Cohesion off M2 = 6/3; Average cohesion = 2
    After moving method m to M2, graph will become
    Coupling = 2/2
    Cohesion of M1 = 6/3 ; Cohesion of M2 = 8/4 ; Average Cohesion = 2
    ∴ answer is no change

    TOTAL = 5
    CORRECT / TOTAL = /5