### SET 3

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

Answer Discuss it!

.

Correct answer is :B

Solution :

LOC L_{1} = x

L_{2} = 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

Answer Discuss it!

.

Correct answer is :A

Solution :

Effort person per month

=α.(kDSI)^{B}

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

Answer Discuss it!

.

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

Answer Discuss it!

.

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

Answer Discuss it!

.

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

Question 1

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?

.

Correct answer is :B

Solution :

LOC L

_{1}= x

L

_{2}= 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

.

Correct answer is :A

Solution :

Effort person per month

=α.(kDSI)

^{B}

KDSI=Kilo LOC

= 2.8 * (40)

^{1.20}

=2.8 *83.6511

=234.33 person per month

Question 3

.

Correct answer is :D

Question 4

/* 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?

.

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

.

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