Table of contents
1.
Introduction
1.1.
Problems 
2.
Frequently Asked Questions
3.
Conclusion
Last Updated: Mar 27, 2024

Software Engineering

Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

This article contains various gate questions on Software Engineering, with their solutions and explanations. The term "software engineering" comprises two words: software and engineering.

Let's look at what these two words mean.

The term "software" refers to a collection of interconnected programs and operations.

Engineering is the discipline of study concerned with the scientific, practical, and technological knowledge required to design, develop, and maintain frameworks.

Thus, Software Engineering is the branch that works with and implements programs and procedures based on user needs.

Now let’s move on to the problems asked in the GATE exam.

Problems 

1. Which of the following is NOT a desirable feature in a good Software Requirement Specifications (S.R.S.) document?

  1. Goals of Implementation
  2. Algorithms for Software Implementation
  3. Non-Functional Requirements
  4. Functional Requirements

Ans: b. Algorithms for Software Implementation

Explanation: The S.R.S. (software requirements specification) document is a requirements specification for a software system. It is a detailed explanation of the system's behaviour that is to be developed and may include a set of use cases that explain interactions that users will have with the software. Non-functional criteria are also included. Non-functional requirements (such as performance engineering requirements, quality standards, or design restrictions) place constraints on the design or implementation. The following system aspects should be thoroughly documented in an S.R.S. document: Functional Requirements, Non-Functional Requirements, and Implementation Objectives.

2. Which of the following statements is TRUE?

  1. In practice, the consistency and completeness of functional requirements are always achieved.
  2. The requirements document also discusses how to implement the requirements specified in the document efficiently.
  3. Requirements review is used to find the errors in system design
  4. Prototyping is a method of requirements validation.

Ans: d. Prototyping is a method of requirements validation.

Explanation: Prototyping is typically used to validate and elicit new system needs. This aids in interpreting assumptions and provides timely feedback to the user about the needs. Thus, option (d) is the correct one.

3. Which of the following statements are true?

I. The system should be depicted as a single bubble in the context diagram.

II. External entities should be clearly defined at all levels of Data flow diagrams (DFDs).

III. Control information should not be included in a Data flow diagram (DFD).

IV. A data store can be linked to another data store or to an outside entity.

  1. II and III
  2. I and IV
  3. I and III
  4. I, II, and III

Ans: c. I and III

Explanation: Statements (I) and (III) are the only ones that are correct. Statement (II) is incorrect since any external entities that interact with the system should only be represented in the context diagram. External entities should not appear at any other level of the DFDs. Statement (IV) is incorrect since a DFD merely depicts data flow and contains no control information. As a result, option (C) is correct.

4. In a software project, the Constructive Cost Model (CoCoMo) is used to estimate the

  1. size and duration based on the size of the software
  2. effort and cost based on the duration of the software
  3. size and duration based on the effort of the software
  4. size, effort and duration based on the cost of the software

Ans: a. size and duration based on the size of the software

Explanation:

 

source: wikipedia

Where E is the effort in person-months, KLoC is the projected number of thousands of lines of code delivered for the project, and E.A.F. is the factor.

And, People required (P) = Effort Applied / Development Time 

As can be seen from the preceding equations, effort and duration are on the L.H.S., but KLOC (Line of code), which is used to quantify program size, is on the R.H.S. As a result, the answer is A.

5. SEI CMM Level 4 has been assigned to a software organisation. In order to achieve the 5th level, the organisation must implement which of the following in addition to Process Change Management and Technology Change Management?

  1. Defect Isolation
  2. Defect Prevention
  3. Defect Propagation
  4. Defect Detection

Ans: b. Defect Prevention

Explanation: In order to achieve Level 5, an organisation must practise Defect Prevention in addition to Process Change Management and Technology Change Management. Option (B) is the correct answer.

6. Consider the following program:

int module (int a, int b) {

    while (a! = b) {

        if (a > b)

             a = a - b,

        else 

             b = b - a;

        }

    return a;

}

What will be the Cyclomatic complexity of the above module?

  1. 1
  2. 2
  3. 3
  4. 4

Ans: c. 3

Explanation: Since the condition nodes are: 

1. While 

2. if Cyclomatic Complexity

So the Cyclomatic complexity = 2+1 = 3.

Hence option c is the correct answer.  

7. What information does the data dictionary provide?

  1. Field names
  2. Field Types
  3. Field formats
  4. All of the above

Ans: d. All of the above

Explanation: A data dictionary is a file or set of files that contains the metadata for a database. The data dictionary stores information about other items in the database, such as data ownership, data linkages to other objects, and other data. A relational database's data dictionary is an essential component.

8. In software maintenance, dealing with changes in the hardware or software environment in which the software operates is essential.

  1. Perfective maintenance
  2. Corrective maintenance
  3. Adaptive maintenance
  4. Preventive maintenance

Ans: c. Adaptive maintenance

Explanation: Adaptive Maintenance is the change of software after it has been delivered in order to maintain it functional in the working environment. So, the correct option is (C).

9. Which product metric calculates the average length of words and sentences in documents?

  1. Cyclomatic complexity
  2. S.C.I. number
  3. Fog index
  4. L.O.C.

Ans: c. Fog index

Explanation: The F.O.G. index calculates the average length of a document's words and sentences. The Fog Index is a readability measure that predicts whether a document will be easy or difficult to read.

10. Which of the following options should be avoided in an S.R.S. (Software Requirements Specification ) document?

  1. Non-functional requirements
  2. Design specification
  3. Issues with user interface (U.I.).
  4. Interfaces with third-party software

Ans: b. Design specification

Explanation: An S.R.S. (software requirements specification ) is a description of a software system to be built that includes functional and non-functional requirements as well as a set of use cases that explain how users will interact with the product. S.R.S. should not include Design Specifications.

Now, let's move on to the F.A.Q. Section.

Frequently Asked Questions

  1. What is software design?
    It deals with transforming the client's requirements (as described in the S.R.S. or Software Requirement Specification document) into a set of documents that is suitable for implementation while programming. 
  2. What is an S.R.S. document?
    S.R.S. stands for Software Requirement Specification. As the name suggests, an S.R.S. document is a document that describes how the software will be expected to perform and what it will do.
  3. How is software design different from coding?
    The computer employs software and instructions that are intended to fulfil well-defined operations and enable users to complete a given task. Simultaneously, coding is a language created utilising language protocol to develop apps, software, and so on. 
  4. What factors must we include when building a system model?
    We must evaluate the following factors: assumption, simplification, limitation, constraints, and preferences.
  5. What is the difference between analysis and design in software designing?
    The analysis aims to understand the problem to eliminate any flaws in the requirement definition, such as incompleteness, inconsistency, and so on. In contrast, the design seeks to create a model that will allow for a smooth transition to the coding phase.

Conclusion

This article extensively discussed various GATE questions on Software Engineering. This article covers the solution and explanation of these GATE questions.

Refer here to know more about Software Engineering in detail.

We hope that this blog has helped you enhance your knowledge regarding Software Engineering, and if you would like to learn more, check out our articles in the code studio library. Do upvote our blog to help other ninjas grow. Happy Coding!

Live masterclass