Software Engineering

Question 1
Match the problem domains in GROUP I with the solution technologies in GROUP II
GROUP I                                         GROUP II
(P) Service oriented computing                 (1) Interoperability
(Q) Heterogeneous communicating systems        (2) BPMN
(R) Information representation                 (3) Publish-find-bind
(S) Process description                        (4) XML 
P-1, Q-2, R-3, S-4
P-3, Q-4, R-2, S-1
P-3, Q-1, R-4, S-2
P-4, Q-3, R-2, S-1

Question 1-Explanation: 
The answer can be easily guessed with XML. XML is used for information representation.
Question 2
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? gatecs201315
There is no change.
Average cohesion goes up but coupling is reduced.
Average cohesion goes down and coupling also reduces.
Average cohesion and coupling increase.

Question 2-Explanation: 
Answer is "No Change" Cohesion refers to the degree to which the elements of a module belong together. Coupling is the manner and degree of interdependence between software modules
Coupling between M1 and M2 = (Number of external links) / 
                             (Number of modules) 
                           = 2/2
                           = 1

Cohesion of a module = (Number of internal links) / 
                       (Number of methods)

Cohesion of M1 = 8/4 = 2
Cohesion of M2 = 6/3 = 2

After moving method m to M2, we get following

Coupling = 2/2 = 1
Cohesion of M1 = 6/3 = 2
Cohesion of M2 = 8/4 = 2 
Question 3
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 Ll. 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 man 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 development 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?

Question 3-Explanation: 
Let LOC of L1=x, so LOC of L2=2x Now, (x/10000)*1000000 + 5*100000 = (2x/10000)*750000 + 5*50000 Solving for x, we get x =5000 Source:
Question 4
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 person-months?

Question 4-Explanation: 
In the Constructive Cost Model (COCOMO), following is formula for effort applied
Effort Applied (E) = ab(KLOC)bb [ person-months ]
                   = 2.8 x(40)1.20 
                   = 2.8 x 83.65 
                   = 234.25 
Question 5
Which one of the following is NOT desired in a good Software Requirement Specifications (SRS) document?
Functional Requirements
Non-Functional Requirements
Goals of Implementation
Algorithms for Software Implementation

Question 5-Explanation: 
The software requirements specification document is a requirements specification for a software system, is a complete description of the behavior of a system to be developed and may include a set of use cases that describe interactions the users will have with the software. In addition it also contains non-functional requirements. Non-functional requirements impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints) (Source: Wiki) An SRS document should clearly document the following aspects of a system: Functional Requirements, Non-Functional Requirements and Goals of implementation (Source: Fundamentals of Software Engineering by Rajib Mall)
Question 6

The following is the comment written for a C function.

        /* This function computes the roots of a quadratic equation
           a.x^2 + b.x + c = . 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 discriminant is zero
           (iv) When discriminant is negative.
           Only in case (ii) and (iii) the stored roots are valid.
           Otherwise 0 is stored in roots. The function returns
           0 when the roots are valid and -1 otherwise.
           The function 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. "gate2011Q38" Which one of the following option provide the set of non-redundant tests using equivalence class partitioning approach from input perspective for black box testing?









Question 6-Explanation: 

"gate2011A38" T2,T4,T5 and T6 belong to different classes. Hence it gives an optimal test suite.

Question 7
The cyclomatic complexity of each of the modules A and B shown below is 10. What is the cyclomatic complexity of the sequential integration shown on the right hand side?

Question 7-Explanation: 
Cyclomatic Complexity of module = Number of decision points + 1

Number of decision points in A = 10 - 1 = 9
Number of decision points in B = 10 - 1 = 9
Cyclomatic Complexity of the integration = Number of decision points + 1
                                         = (9 + 9) + 1
                                         = 19
Question 8
What is the appropriate pairing of items in the two columns listing various activities encountered in a software life cycle?
P. Requirements Capture	 1.Module Development and Integration
Q. Design	         2.Domain Analysis
R. Implementation	 3.Structural and Behavioral Modeling
S. Maintenance	         4.Performance Tuning
P-3, Q-2, R-4, S-1
P-2, Q-3, R-1, S-4
P-3, Q-2, R-1, S-4
P-2, Q-3, R-4, S-1

Question 8-Explanation: 
Module Development and Integration is clearly implementation work Performance Tuning is clearly maintenance work Domain Analysis is clearly Requirements Capture
Question 9
The following program is to be tested for statement coverage:
  if (a== b) {S1; exit;}
  else if (c== d) {S2;]
       else {S3; exit;}
The test cases T1, T2, T3 and T4 given below are expressed in terms of the properties satisfied by the values of variables a, b, c and d. The exact values are not given. T1 : a, b, c and d are all equal T2 : a, b, c and d are all distinct T3 : a = b and c != d T4 : a != b and c = d Which of the test suites given below ensures coverage of statements S1, S2, S3 and S4?
T1, T2, T3
T2, T4
T3, T4
T1, T2, T4

Question 9-Explanation: 
T1 checks S1 

T2 checks S3

T4 checks S2 and S4
Question 10

The coupling between different modules of a software is categorized as follows:

   I.   Content coupling
   II.  Common coupling
   III. Control coupling 
   IV.  Stamp coupling
   V.   Data coupling 

Coupling between modules can be ranked in the order of strongest (least desirable) to weakest (most desirable) as follows:









Question 10-Explanation: 


Certainly! Here's an explanation for the ranking of coupling between modules from strongest (least desirable) to weakest (most desirable) as given in option (A) - I-II-III-IV-V:

I. Content coupling: This form of coupling represents the strongest and least desirable type. It occurs when one module directly accesses or modifies the internal content (e.g., data or implementation details) of another module. Content coupling creates tight dependencies, making the modules highly interdependent, which can lead to maintenance issues and difficulties in making changes.

II. Common coupling: Common coupling occurs when multiple modules share a global data or resource. This form of coupling implies that several modules rely on the same data or resource, leading to a degree of dependency. While not as strong as content coupling, it can still result in tight coupling between modules.

III. Control coupling: Control coupling represents a weaker form of coupling. It arises when one module passes control information (e.g., function calls or parameters) to another module. While there is still a dependency between the modules, it is looser than content or common coupling since the interaction is primarily through control flow.

IV. Stamp coupling: Stamp coupling occurs when modules share a common data structure (e.g., a record or object), but only use a subset of the shared data. This type of coupling indicates a weaker level of dependency compared to content, common, or control coupling since modules are only interested in specific parts of the shared data.

V. Data coupling: Data coupling represents the weakest and most desirable form of coupling. In data coupling, modules communicate by passing data through parameters or data structures. Modules are independent in terms of their internal implementation, and their interaction is limited to data exchange. This loose coupling allows for more flexibility and easier maintenance.

Therefore, the ranking of coupling from strongest (least desirable) to weakest (most desirable) as given in option (A) is I-II-III-IV-V, with content coupling being the strongest and data coupling being the weakest form of coupling.

Quiz of this Question

There are 162 questions to complete.
  • Last Updated : 22 Jan, 2014

Similar Reads