Quiz Space

September 2023 term · Software Engineering · BSCS3001

Software Engineering End Term: 24 December 2023, Set FDB1 (September 2023 term)

The IIT Madras BS Software Engineering (Software Engineering) End Term paper sat on 24 Dec 2023, in the September 2023 term, set FDB1: 30 questions for 100 marks in 180 minutes. Every question is below with its answer. Take it as a timed mock test to be marked, or read it through first.

Questions
30
Marks
100
Duration
180 min
MCQ
13
MSQ
16
Numerical
1

Updated

Official paper: IIT M DEGREE FN EXAM FDB1 24 Dec 2023 · No negative marking.

Question 1

+2 marksOne correct option

A software company has to develop a portal that enables a user to search for a specific product by providing some product details. The portal queries and gathers details from different websites and puts them together on a single page.
Consider the following two requirements:
Requirement 1: The portal must gather information for the given product from all the relevant websites and display it to the user.
Requirement 2: Given the product details, the portal must complete the gathering and display of information within 10 secs.
Which of the following statement is true?

  1. A

    Requirement 1 is a functional requirement, whereas Requirement 2 is a non- functional requirement

  2. B

    Requirement 2 is a functional requirement, whereas Requirement 1 is a non- functional requirement

  3. C

    Both requirements are functional requirements

  4. D

    Both the requirements are non-functional requirements

Show answer

Correct answer

  • A

    Requirement 1 is a functional requirement, whereas Requirement 2 is a non- functional requirement

Question 2

+3 marksOne correct option

A set of modules is said to have high cohesion and low coupling, which implies ___________ .

  1. A

    The functions in each module are performing varied operations, and a lot of data is interchanged between the modules

  2. B

    The functions in each module are together performing a single operation, and a lot of data is interchanged between the modules

  3. C

    The functions in each module are together performing a single operation, and the degree of interaction between the modules is very low

  4. D

    The functions in each module are together performing a single operation, and the degree of interaction between the modules is very high

Show answer

Correct answer

  • C

    The functions in each module are together performing a single operation, and the degree of interaction between the modules is very low

Question 3

+3 marksOne correct option
  1. A

    Single responsibility principle

  2. B

    Open-close principle

  3. C

    Liskov substitution principle

  4. D

    Interface segregation principle

  5. E

    Dependency inversion principle

Show answer

Correct answer

  • B

    Open-close principle

Question 4

+3 marksOne correct option

A programmer is developing a module for a big software project. The module has 50 functions. After writing the code, the programmer has observed that he is not getting the desired output, and he suspects some of the functions are not getting called. In order to identify those functions, he places some print statements in all the functions.
What kind of debugging technique does the programmer employ in this case?

  1. A

    Breakpoint debugging

  2. B

    Print debugging

  3. C

    Step-by-step debugging

  4. D

    Exception-based debugging

Show answer

Correct answer

  • B

    Print debugging

Question 5

+4 marksOne correct option

During debugging, a developer finds out the event that triggers an incorrect behavior. He follows the data control flow ahead until the incorrect state is reached.
Which of the following debugging strategies was chosen by the developer?

  1. A

    Input manipulation

  2. B

    Backwards strategy

  3. C

    Forwards strategy

  4. D

    Blackbox debugging

Show answer

Correct answer

  • C

    Forwards strategy

Question 6

+4 marksOne correct option

A software company is developing inventory management software for a medicine distributor. The software needs to be connected to a third-party module for invoice generation and printing. However, the data format used by the software is not compatible with the third-party module. Therefore, the development team has introduced a new class that converts the data format so that it is supported by the third-party module and has integrated the third-party module with the software. Which kind of design pattern is used in this case?

  1. A

    Builder design pattern

  2. B

    Facade design pattern

  3. C

    Adapter design pattern

  4. D

    Strategy design pattern

Show answer

Correct answer

  • C

    Adapter design pattern

Question 7

+4 marksOne correct option
  1. A

    {price = 0, price = 2000}

  2. B

    {price = -10, price = 0, price = 1200}

  3. C

    {price = 0, price = 1800, price = 3800}

  4. D

    {price = -10, price = 0, price = 1010, price = 1999}

Show answer

Correct answer

  • C

    {price = 0, price = 1800, price = 3800}

Question 8

+4 marksOne correct option
  1. A

    1-B, 2-C, 3-A, 4-D

  2. B

    1-B, 2-C, 3-D, 4-A

  3. C

    1-A, 2-C, 3-D, 4-B

  4. D

    1-A, 2-C, 3-B, 4-D

Show answer

Correct answer

  • B

    1-B, 2-C, 3-D, 4-A

Question 9

+4 marksOne correct option

Which of the performance enhancement strategies of the web applications suggests compressing the static pages using tools like Brotil and Gzip?

  1. A

    Caching

  2. B

    Quick loading and rendering

  3. C

    Task queues

  4. D

    Monitoring

Show answer

Correct answer

  • B

    Quick loading and rendering

Question 10

+4 marksOne correct option
  1. A

    1-C, 2-D, 3-B, 4-A

  2. B

    1-C, 2-D, 3-A, 4-B

  3. C

    1-D, 2-C, 3-A, 4-B

  4. D

    1-D, 2-A, 3-B, 4-C

Show answer

Correct answer

  • C

    1-D, 2-C, 3-A, 4-B

Question 11

+5 marksOne correct option
  1. A

    I --> V --> IV --> II

  2. B

    I --> III --> II --> IV --> V

  3. C

    IV --> V --> II

  4. D

    III --> II --> V

Show answer

Correct answer

  • C

    IV --> V --> II

Question 12

+2 marksOne or more correct options

Software can be divided into manageable components.
Find the one(s) that are TRUE about breaking software into components from the list below.

Select all that apply.

  1. A

    It is a way of breaking the complexity of the system into manageable parts

  2. B

    It enables different teams to work on different components

  3. C

    Everyone on the development team must know how to work with all the components

  4. D

    It conceals implementation details while providing an interface for others to display its capabilities

Show answer

Correct answers

  • A

    It is a way of breaking the complexity of the system into manageable parts

  • B

    It enables different teams to work on different components

  • D

    It conceals implementation details while providing an interface for others to display its capabilities

Question 13

+2 marksOne or more correct options

Which of the following belong to users experience goals?

Select all that apply.

  1. A

    Motivating

  2. B

    Effective and efficient

  3. C

    Satisfying

  4. D

    Safe and less error-prone

  5. E

    entertaining

  6. F

    durable

Show answer

Correct answers

  • A

    Motivating

  • C

    Satisfying

  • E

    entertaining

Question 14

+2 marksOne or more correct options

A project requires 240 person-months of development time. Which of the following statements is/are true?

Select all that apply.

  1. A

    It requires 240 developers to complete the project

  2. B

    It requires 10 developers to complete the project in 2 years

  3. C

    It requires 120 developers to complete the project in 2 months

  4. D

    It requires 24 developers to complete the project in 10 years

Show answer

Correct answers

  • B

    It requires 10 developers to complete the project in 2 years

  • C

    It requires 120 developers to complete the project in 2 months

Question 15

+3 marksOne or more correct options

Select all that apply.

  1. A

    Figure 1 shows the higher coupling between the modules compared to Figure 2

  2. B

    Figure 1 shows the lower coupling between the modules compared to Figure 2

  3. C

    The modules in Figure 1 are highly cohesive compared to Figure 2

  4. D

    The modules in Figure 2 are highly cohesive compared to Figure 1

Show answer

Correct answers

  • B

    Figure 1 shows the lower coupling between the modules compared to Figure 2

  • C

    The modules in Figure 1 are highly cohesive compared to Figure 2

Question 16

+3 marksOne or more correct options

Identify the statements which are true and related to code smells.

Select all that apply.

  1. A

    All commented-out codes should be retained in the final code base

  2. B

    It is better to have a function that does many things

  3. C

    A function ideally should not have any argument, however, in practical situations, it should not use more than three arguments

  4. D

    A function should not use any flag (based on which function perform certain operations) argument

Show answer

Correct answers

  • C

    A function ideally should not have any argument, however, in practical situations, it should not use more than three arguments

  • D

    A function should not use any flag (based on which function perform certain operations) argument

Question 17

+3 marksOne or more correct options

Which of the following statements about the flask framework is/are correct?

Select all that apply.

  1. A

    It is a mobile application framework

  2. B

    It is a web application framework

  3. C

    It is a micro-framework

  4. D

    It imposes several restrictions on developing applications, like the kind of databases that can be used and the type of web servers that can be used

Show answer

Correct answers

  • B

    It is a web application framework

  • C

    It is a micro-framework

Question 18

+3 marksOne or more correct options

Which of the following are considered the best practices for continuous integration?

Select all that apply.

  1. A

    Maintain multiple source repositories for each version of the code base

  2. B

    Automate the build using build tools like Ant and Builder

  3. C

    Automate the tests for the build, and make it self-testing

  4. D

    Avoid frequent commits, and commit all the source code repositories only when some major updates are done

  5. E

    Fix the broken builds immediately

Show answer

Correct answers

  • B

    Automate the build using build tools like Ant and Builder

  • C

    Automate the tests for the build, and make it self-testing

  • E

    Fix the broken builds immediately

Question 19

+3 marksOne or more correct options

Choose the correct statements regarding software organizations.

Select all that apply.

  1. A

    In a flat organizational structure, there are fewer levels of hierarchy, promoting a more collaborative environment

  2. B

    Agile methodologies are primarily suitable for large, bureaucratic organizations

  3. C

    DevOps is a cultural and professional movement that aims to improve collaboration between software development and IT operations

  4. D

    Waterfall model is an agile software development methodology

  5. E

    The Scrum framework defines roles, events, and artifacts for organizing and managing work

Show answer

Correct answers

  • A

    In a flat organizational structure, there are fewer levels of hierarchy, promoting a more collaborative environment

  • C

    DevOps is a cultural and professional movement that aims to improve collaboration between software development and IT operations

  • E

    The Scrum framework defines roles, events, and artifacts for organizing and managing work

Question 20

+4 marksOne or more correct options

Select all that apply.

  1. A

    There is an aggregation relation between class Course and class BookList

  2. B

    There is an aggregation relation between class Book and class BookList

  3. C

    There is an inheritance relation between class Book and classes TextBook and ReferenceBook

  4. D

    There is an aggregation relation between class Book and classes TextBook and ReferenceBook

Show answer

Correct answers

  • B

    There is an aggregation relation between class Book and class BookList

  • C

    There is an inheritance relation between class Book and classes TextBook and ReferenceBook

Question 21

+4 marksOne or more correct options

From the given options, identify the primary responsibilities of product managers in a large software organization

Select all that apply.

  1. A

    To work closely with the marketing and sales teams to understand the business goals

  2. B

    To talk to the users and transform the requirements into solutions

  3. C

    To understand the technical stack in order to appreciate the level of effort involved and to take important decisions

  4. D

    To analyze the data generated by different teams and users to help the organization make better decisions

Show answer

Correct answers

  • A

    To work closely with the marketing and sales teams to understand the business goals

  • C

    To understand the technical stack in order to appreciate the level of effort involved and to take important decisions

Question 22

+5 marksOne or more correct options

Which of the following integration testing approaches may require drivers?

Select all that apply.

  1. A

    Big bang approach

  2. B

    Bottom up approach

  3. C

    Top down approach

  4. D

    Mixed approach

Show answer

Correct answers

  • B

    Bottom up approach

  • D

    Mixed approach

Question 23

+5 marksOne or more correct options

Choose the correct statements regarding Test-Driven Development (TDD).

Select all that apply.

  1. A

    TDD involves writing test cases after the implementation of the code

  2. B

    TDD follows the cycle of "Red-Green-Refactor"

  3. C

    TDD encourages developers to write production code without any testing

  4. D

    In TDD, tests are written to validate the expected behavior of the code before the code is implemented

  5. E

    TDD is not suitable for agile development methodologies

Show answer

Correct answers

  • B

    TDD follows the cycle of "Red-Green-Refactor"

  • D

    In TDD, tests are written to validate the expected behavior of the code before the code is implemented

Question 24

+5 marksOne or more correct options

Which of the following are the benefits of continuous integration?

Select all that apply.

  1. A

    Reduces deployment time

  2. B

    No initial effort is required to set up the process

  3. C

    Users can see the initial prototype

  4. D

    Discourage modular coding

Show answer

Correct answers

  • A

    Reduces deployment time

  • C

    Users can see the initial prototype

Question 25

+5 marksOne or more correct options

Choose the correct statements about continuous integration (CI).

Select all that apply.

  1. A

    CI is a software development practice where code changes are tested and integrated into the main codebase frequently

  2. B

    Jenkins and Travis CI are examples of CI tools

  3. C

    CI helps identify and fix integration issues early in the development process

  4. D

    Continuous Deployment (CD) is synonymous with continuous integration

  5. E

    CI is only beneficial for small development teams

Show answer

Correct answers

  • A

    CI is a software development practice where code changes are tested and integrated into the main codebase frequently

  • B

    Jenkins and Travis CI are examples of CI tools

  • C

    CI helps identify and fix integration issues early in the development process

Question 26

+2 marksOne or more correct options

Identify the sets of valid test cases for branch coverage.

Select all that apply.

  1. A

    {day = 0, day = 5}

  2. B

    {day = -1, day = 5, day = 8}

  3. C

    {day = 0, day = 5, day = 7}

  4. D

    {day = 5, day = 6, day = 9}

Show answer

Correct answers

  • C

    {day = 0, day = 5, day = 7}

  • D

    {day = 5, day = 6, day = 9}

Question 27

+2 marksOne or more correct options

Identify the sets of valid test cases for multiple condition coverage.

Select all that apply.

  1. A

    {day = 0, day = 8, day = 5, day = 7}

  2. B

    {day = -1, day = 8, day = 5, day = 1}

  3. C

    {day = 0, day = 5, day = 7}

  4. D

    {day = 5, day = 6, day = 9}

Show answer

Correct answer

  • A

    {day = 0, day = 8, day = 5, day = 7}

Question 28

+2 marksOne correct option

Answer the given subquestions.

Which of the following teams in a software organization is primarily responsible for laying down the terms of service for its software products?

  1. A

    Sales team

  2. B

    Support team

  3. C

    Ethics and policy specialists

  4. D

    Data scientists

Show answer

Correct answer

  • C

    Ethics and policy specialists

Question 29

+2 marksOne correct option

Answer the given subquestions.

IDEs are very useful in the software development process, mainly because ____________ .

  1. A

    they are useful in documenting and archiving knowledge of one project so that it can be reused in another project

  2. B

    they are useful for sharing documents and archiving decisions

  3. C

    they enable all the members of the team to get a big picture as well as a detailed view of progress in the software development

  4. D

    they help the developers become more productive

Show answer

Correct answer

  • D

    they help the developers become more productive

Question 30

+3 marksNumerical answer

Consider the testing of a module of a smartwatch software that takes care of measuring the pulse rate. It sets the status message as "error" if the reading of the pulse rate is < 40 or > 150. It sets the status message as "high risk" in case the reading is >= 40 and < 60, or > 120 and <= 150. Otherwise, it sets the status message as "normal". (All the data is fictitious) Identify the number of equivalence classes for black box testing.

Show answer

Correct answer: 5