Software Engineering MCQ Quiz - Objective Question with Answer for Software Engineering - Download Free PDF

Last updated on Apr 28, 2023

Latest Software Engineering MCQ Objective Questions

Software Engineering Question 1:

Which of the following is NOT a common method for gathering information during the software requirements gathering phase?

  1. Conducting interviews with stakeholders.
  2. Creating use cases to describe system functionality.
  3. Analyzing existing documentation and systems.
  4. Designing the user interface for the software.

Answer (Detailed Solution Below)

Option 4 : Designing the user interface for the software.

Software Engineering Question 1 Detailed Solution

During the software requirements gathering phase, it is important to gather information from various sources to ensure that the software product meets the needs of the stakeholders. The following are common methods for gathering information during this phase:

  • Conducting interviews with stakeholders: This involves talking to stakeholders such as customers, users, and subject matter experts to get an understanding of their needs and requirements.
  • Creating use cases to describe system functionality: This involves creating detailed descriptions of how the system will be used and the various scenarios that it will be used in.
  • Analyzing existing documentation and systems: This involves reviewing existing documentation, such as specifications and user manuals, as well as any existing software systems to understand their strengths and weaknesses.
  • Designing the user interface for the software: This is not a common method for gathering information during the software requirements gathering phase. While the user interface is an important aspect of software design, it is typically developed after the requirements have been gathered and analyzed.

Therefore, the correct answer is option 4.

Software Engineering Question 2:

A software requirements specification (SRS) is a document or description of a software system to be developed. This document is written by which of the one given below?

  1. Analyst
  2. Designer
  3. Coder
  4. Any of these

Answer (Detailed Solution Below)

Option 1 : Analyst

Software Engineering Question 2 Detailed Solution

A software analyst normally acts as a liaison between the team responsible for development as well as the client. Analyst is accountable for working along with the client for eliciting or refining the requirements. Although, such requirements are made by the client side, the software analyst remains completely equipped with all the knowledge to document those requirements after they have been properly defined.

Software Engineering Question 3:

Which of the following testing processes is used to test the functionally of a software?

  1. Black box testing
  2. White box testing
  3. Unit testing
  4. Regression testing

Answer (Detailed Solution Below)

Option 1 : Black box testing

Software Engineering Question 3 Detailed Solution

Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance. White-box testing (also known as clear box testing, glass box testing, and transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality. Unit Testing is a level of software testing where individual units/components of software are tested.

Software Engineering Question 4:

The process of compiling an intermediate language program into actual machine language on the target platform before execution is known as _______.

I. Just-in-time compiling

II. first-in-time compiling

  1. Only II
  2. Neither। nor II
  3. Only I
  4. Both I and II

Answer (Detailed Solution Below)

Option 3 : Only I

Software Engineering Question 4 Detailed Solution

Just-in-time (JIT) compilation

  • Also, dynamic translation or run-time compilations is a method of executing computer code that involves compilation during program execution (at run time) as opposed to before execution. 
  • This may involve the translation of source code, but it is more commonly the translation of bytecode to machine code, which is then executed directly.

Hence the correct answer is option 3.

Software Engineering Question 5:

What values should be included in the test case in Boundary Value Analysis Testing Method if we want to design a test case that computes the square root of an integer value from 1 to 4000?

  1. [1, 2, 4000, 4001]
  2. [0, 1, 3999, 4000]
  3. [1, 2, 3999, 4000] 
  4. [0, 1, 4000, 4001]

Answer (Detailed Solution Below)

Option 3 : [1, 2, 3999, 4000] 

Software Engineering Question 5 Detailed Solution

Boundary Value Analysis is a testing technique that focuses on testing the values at the boundaries of input domains, where the behaviour of the system may change. The technique involves selecting input values that are at the upper and lower boundaries of the input domain, as well as values that are just inside the boundaries.

For computing the square root of an integer value from 1 to 4000, the lower boundary value is 1, and the upper boundary value is 4000. The values just inside the boundaries are 2 and 3999.

Therefore, the correct set of test cases for this scenario would be - [1, 2, 3999, 4000]

Top Software Engineering MCQ Objective Questions

MS Office, Photoshop and Animagic are examples of:

  1. Device driver
  2. Application software
  3. System software
  4. Operating system

Answer (Detailed Solution Below)

Option 2 : Application software

Software Engineering Question 6 Detailed Solution

Download Solution PDF

The correct answer is Application software

Important Points

  • MS Office, Photoshop, and Animagic are examples of Application software
  • MS Office is a software bundle provided by Microsoft.
  • It includes software like MS Word, MS Excel, MS Powerpoint, MS Outlook, MS Access, MS One Note, and others.

Additional Information

  • Photoshop is a powerful photo editing tool by Adobe.
  • An Operating System (OS) is an interface between a computer user and computer hardware.
  • An operating system is software that performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.

Which of the following represents the life-cycle of software development ? 

  1. Analysis -> Design -> Coding -> testing -> operation and maintenance
  2. Analysis -> Design -> Coding -> operation and maintenance -> testing 
  3. Design -> Analysis -> Coding -> testing -> operation and maintenance 
  4. Design -> Analysis -> Coding -> operation and maintenance -> testing

Answer (Detailed Solution Below)

Option 1 : Analysis -> Design -> Coding -> testing -> operation and maintenance

Software Engineering Question 7 Detailed Solution

Download Solution PDF

Concept:

Software development life cycle is the logical process of developing a system that satisfies customer needs and can be developed within the predefined schedule and cost.

Explanation:

Various phases of the software development life cycle are : 

1) Analysis: First thing is to gather and analyze the requirements of the system. The information domain, function, behavioral requirements of the system are understood. These requirements are then well documented.

2) Design: After collecting and analyzing all necessary requirements, design architecture is prepared.

3) Coding: After the design, one can develop the code for the system using some programming language. During this, design is translated into a machine-readable form.

4) Testing: It is done to uncover the errors and fix the bugs.

5) Maintenance: Sometimes errors may get produced after system installation and sometimes the requirements get changed. At that time, the maintenance of the system is needed.

Which of the following is/are the phases of system development life cycle?

  1. Implementation 
  2. Feasibility study
  3. All of the options 
  4. Coding

Answer (Detailed Solution Below)

Option 3 : All of the options 

Software Engineering Question 8 Detailed Solution

Download Solution PDF

Concept:

System development life cycle (SDLC) is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software.

The life cycle defines a methodology for improving the quality of software and the overall development process.

Phases of SDLC

Feasibility study

Requirements analysis and specification

Design

Coding and unit testing

Integration and system testing

Maintenance


Therefore, all options are correct

A multimedia project is said to be _________ and user-interactive when users are given navigational control.

  1. Hypertext
  2.  Non-linear
  3. Linear
  4. Secure

Answer (Detailed Solution Below)

Option 2 :  Non-linear

Software Engineering Question 9 Detailed Solution

Download Solution PDF

Concept:

Mutlimedia means combination of text, audio, video, graphics, and animation. Mutlimedia project are the multimedia materials which are presented on computer screen.

Explanation:

Phases of a multimedia project are : planning, designing , testing and delivering. 

Some points about multimedia project : 

  • Interactive mutlimedia gives the navigational controls to the user. It control what elements are to be delivered.
  • It requires creative skills, tools and organization talent to create mutlimedia projects.
  • There are two categories in multimedia : linear and non - linear.
  • Linear multimedia is without any navigational control example cinema.
  • Non - linear provides user interactivity to control progress. Example : computer game.
  • Mutlimedia system must be integrated, handled digitally and usually interactive.
  • Mutlimedia can be delivered using optical disk, web or distributed network.

What is the availability of the software with following reliability figures

Mean Time Between Failure (MTBF) is 20 days

Mean Time To Repair (MTTR) is 20 hours

  1. 90%
  2. 96%
  3. 24%
  4. 50%

Answer (Detailed Solution Below)

Option 2 : 96%

Software Engineering Question 10 Detailed Solution

Download Solution PDF

Explanation:

  • Mean time between failures is the average time between failures and not the average time something works then fails.
    • Mean time between failure (MTBF) = \(\frac{{total\;uptime}}{{number\;of\;breakdowns}}\)
  • Mean time to repair is the average time taken to repair something.
    • Mean time to repair (MTTR) = \(\frac{{total\;downtime}}{{number\;of\;breakdowns}}\)

Availability = \(\frac{{total\;uptime}}{{\left( {total\;uptime + total\;downtime} \right)}}\)

       = \(\frac{{MTBF}}{{\left( {MTBF + MTTR} \right)}} \times 100\;\;\;\;\;\;\;\;\;\;\backslash \backslash percentage\;\)

                       = \(\frac{{20*24}}{{\left( {20*24 + 20} \right)}} \times 100\)

       = 0.96 × 100 = 96%

Important Point:

In MTBF, we converted 20 days into hours = 20 × 24 hours.

Regression testing is primarily related to

  1. Functional testing
  2. Development testing
  3. Data flow testing
  4. Maintenance testing

Answer (Detailed Solution Below)

Option 1 : Functional testing

Software Engineering Question 11 Detailed Solution

Download Solution PDF

Explanation:

  • The purpose of regression testing is to confirm that a recent program or code change has not adversely affected existing features.
  • Regression testing is nothing but a full or partial selection of already executed test cases that are re-executed to ensure existing functionalities work fine.
  • This testing is done to make sure that new code changes should not have side effects on the existing functionalities. It ensures that the old code still works once the new code changes are done.

The purpose of regression testing is to select test cases partially or fully to ensure existing functionalities work fine. Thus, regression testing is primarily related to functional testing

Need of Regression Testing

  • Regression Testing is required when there is a change in requirements and code is modified according to the requirement or when one of the following has been done.
    • New feature is added to the software
    • Defect fixing
    • Performance issue fix

A Company has a choice of two languages L1 and L2 to develop a software for their client. Number of LOC required to develop an application in L2, is thrice the LOC in language L1. Also, software has to be maintained for next 10 years. Various parameters for two languages. are given below to decide which language should be preferred for development.

PARAMETER

L1

L2

Man-year needed for development

LOC/1000

LOC/1000

Development cost

Rs. 70,000

Rs. 90,000

Cost of Maintenance per year

Rs. 1,00,000

Rs. 40,000

 

Total cost of project include cost of development and maintenance. What is the LOC for Lfor which cost of developing the software with both languages must be same ?

  1. 2000
  2. 6000
  3. 3000
  4. 5000

Answer (Detailed Solution Below)

Option 3 : 3000

Software Engineering Question 12 Detailed Solution

Download Solution PDF

The correct answer is option 3

Formula:

The total cost of the project = Total development cost + Total maintenance cost

Calculation:

Let p1 be the LOC using L1 and p2 be the LOC using L2.

Total cost of the project using L1 = (p1/1000) x 70,000 + (10 x 1,00,000) = 70p1 + 10,00,000

Total cost of the project using L2 = (p2/1000) x 90,000 + (10 x 40,000) = 90p2 + 4,00,000

Given that p2 = 3xp1

=>70p1 + 10,00,000 = 90p2 + 4,00,000

=>70p1 + 10,00,000 = 270p1 + 4,00,000

=> 200p1 = 6,00,000

=> p1 = 3000

A software requirements specification (SRS) document should avoid discussing which one of the following?

  1. User interface issues
  2. Non-functional requirements
  3. Design specification
  4. Interfaces with third party software

Answer (Detailed Solution Below)

Option 3 : Design specification

Software Engineering Question 13 Detailed Solution

Download Solution PDF

Software requirement specification (SRS) is a description of a software system to be developed.  Specification types that are included are functional, non- functional, interfaces, performance, maintainability etc.

But design specification is not included in software requirement specification.  Design is something related to implementation.

Which of the following is not a maturity level as per Capability Maturity Model ?

  1. Initial
  2. Measurable
  3. Repeatable
  4. Optimized

Answer (Detailed Solution Below)

Option 2 : Measurable

Software Engineering Question 14 Detailed Solution

Download Solution PDF

The correct answer is "option 2".

CONCEPT:

CMM which stands for Capability Maturity Model is a benchmark to measure the maturity of an organization's software development process.

EXPLANATION:

The Capability Maturity Model is used to analyze techniques used in developing software products in any organization.

CMM has 5 different levels:

1.Initial: At this level, processes for developing software are Adhoc & not well defined.

2.Repeatable: This level focuses on project management policies establishment.

3.Define: Documentation of procedures & standard guidelines are the major focus of this level.

4.Managed: This level sets quantitative goals for software products as well as for software processes.

5.Optimizing: Using quantitative feedback, this level focuses on continuous process improvement.

Hence, Measurable is not a maturity level as per the Capability Maturity Model.

Additional Information

Levels

Quality/Risk

          Initial          

Lowest quality/highest risk

 Repeatable

Low quality/high risk

Defined

Medium quality/medium risk

Managed

Higher quality/lower risk

Optimizing

Highest quality/lowest risk

The lower degree of cohesion is kind of

  1. Logical Cohesion
  2. Coincidental Cohesion
  3. Procedural Cohesion 
  4. Communicational Cohesion

Answer (Detailed Solution Below)

Option 2 : Coincidental Cohesion

Software Engineering Question 15 Detailed Solution

Download Solution PDF

Cohesion is like a type of ranking which is used to measure the degree of modules are functionally related

The degree of Cohesion can be defined as

F1 Raju Madhu 27.10.20 D1

Important Information

  • Coincidental cohesion is when parts of a module are grouped arbitrarily
  • Logical cohesion is when parts of a module are grouped because they are logically categorized 
  • Temporal cohesion is when parts of a module are grouped by when they are processed
  • Procedural cohesion is when parts of a module are grouped because they always follow a certain sequence of execution 
  • Communicational cohesion if all functions of the module refer to or update the same data structure.
  • Sequential cohesion is when parts of a module are grouped because the output from one part is the input to another part like an assembly line 
  • Functional cohesion is when parts of a module are grouped because they all contribute to a single well-defined task of the module
Get Free Access Now