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

Last updated on Apr 17, 2024

Software engineering is a discipline that focuses on the systematic approach to designing, developing, and maintaining software systems. A common section in competitive Engineering exams, Software Engineering MCQs involve questions on topics such as requirements analysis, design, coding, testing, and deployment. It emphasizes the use of engineering principles and methodologies to ensure the delivery of high-quality, reliable, and scalable software solutions. Candidates must be aware of effective software engineering practices that involve collaboration, documentation, version control, and testing techniques to mitigate risks, meet user needs, and adhere to project timelines. Software Engineering MCQs will also involve continuous monitoring and improvement of software processes to enhance efficiency and productivity. Software engineering plays a crucial role in enabling organizations to build complex software systems that address specific business requirements while considering factors such as cost, usability, security, and maintainability. Check your knowledge of the subject by attempting the given Software Engineering MCQs.

Latest Software Engineering MCQ Objective Questions

Software Engineering Question 1:

Which of the following is not a measure of code size?

  1. Number of Functions
  2. Cyclomatic Complexity
  3. Length of Program
  4. Lines of Code (LOC) 

Answer (Detailed Solution Below)

Option 2 : Cyclomatic Complexity

Software Engineering Question 1 Detailed Solution

The correct answer is Cyclomatic Complexity

Key Points

  • Cyclomatic complexity is not a size metric; it is a complexity metric used to indicate the complexity of a program by measuring the number of linearly independent paths through the program's source code.
  • It is often used to help gauge the understandability and maintainability of a program.
  • The other options listed (LOC, Function count, Program length) are examples of size metrics, which are used to measure the size of a software program or its components.

Software Engineering Question 2:

What does FAST stand for?

  1. Facilitated Application Specification Technique
  2. Functional Application Specification Technique
  3. Fast Application Specification Technique
  4. None of the above 

Answer (Detailed Solution Below)

Option 1 : Facilitated Application Specification Technique

Software Engineering Question 2 Detailed Solution

The correct answer is Facilitated Application Specification Technique

Key Points

  • FAST stands for "Facilitated Application Specification Technique." It is a methodology used in the software development process that emphasizes collaboration and communication among stakeholders to define requirements and specifications effectively.
  • This approach involves facilitated sessions where participants work together to capture precise requirements, with the goal of improving the quality and efficiency of software development by ensuring a clear understanding of needs from the outset.

Software Engineering Question 3:

What is the term for modifications made to an information system to include features that are wanted but not necessarily essential?

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

Answer (Detailed Solution Below)

Option 4 : Perfective maintenance

Software Engineering Question 3 Detailed Solution

The correct answer is Perfective maintenance

Key Points

  • Perfective maintenance, refers to the modifications made to an information system to include features that are desirable but not strictly necessary.
  • This type of maintenance focuses on enhancing the system's functionality and performance, making it more efficient, user-friendly, or capable of handling additional tasks.
  • Unlike corrective or adaptive maintenance, which aim to fix known issues or adjust to new environments respectively, perfective maintenance is about improvement and optimization that goes beyond the basic requirements.
  • It's about adding value to the system based on user feedback or anticipated needs, ensuring that the system remains relevant and continues to meet the evolving demands of its users.

Software Engineering Question 4:

In which testing approach are all system modules integrated simultaneously and then tested as a complete system?

  1. Top-down testing
  2. Bottom-up testing
  3. Big-Bang testing
  4. Sandwich testing

Answer (Detailed Solution Below)

Option 3 : Big-Bang testing

Software Engineering Question 4 Detailed Solution

The correct answer is Big-Bang testing

Key Points

  • Big-Bang testing is an approach where the various components or modules of a system are integrated all at once, and then the entire system is tested as a whole.
  • This approach does not involve incremental testing or integration of modules but waits until all components are ready for integration.
  • While this method can be efficient in terms of planning, it might lead to difficulties in isolating and fixing defects since everything is integrated and tested simultaneously.

Software Engineering Question 5:

In system analysis and design SRD stands for

  1. Software requirements diagram
  2. Software requirements definition
  3. Structured requirements definition
  4. Structured requirements diagram 

Answer (Detailed Solution Below)

Option 3 : Structured requirements definition

Software Engineering Question 5 Detailed Solution

The correct answer is Structured requirements definition

Key Points

  • SRD can stand for either Structured Requirements Definition or Software Requirements Definition, with both options being correct and receiving marks.
  • Here are some important points: Structured Requirements Definition is a data-driven, output-oriented methodology that follows a bottom-up approach.

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.

Suppose a cloud contains software stack such as Operating system, Application software, etc. This model is referred as _________ model.

  1. SaaS
  2. IaaS
  3. MaaS
  4. PaaS

Answer (Detailed Solution Below)

Option 1 : SaaS

Software Engineering Question 10 Detailed Solution

Download Solution PDF

Concept:

Cloud computing provides a flexible environment to use resources at low cost. Cloud computing is a web based, distributed computing using which information, resources and software are distributed among different users. All the resources are on web, so this is the reason that there come various ways to provide services.

Explanation:

Cloud computing is internet-based computing where customers do not own the physical infrastructure. All services are on internet. Various services in cloud computing model are as follows:

SaaS – It stands for software as a service. In this, application is hosted as a service to customers who access it via internet. It provides packaged business process offerings that live in cloud. In this, cloud contains stack such as operating system, application software etc.

IaaS – It stands for infrastructure as a service. It is responsible for providing virtualized computing resources, network resources with IaaS users assemble their own virtual cluster on which they are responsible for installing, maintaining, and executing their own software stack.

PaaS – It stands for platform as a service. It supplies all the resources required to build applications and services completely by using internet without having to download or install software. It includes application design, development and hosting. 

Regression testing is primarily related to

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

Answer (Detailed Solution Below)

Option 4 : Maintenance testing

Software Engineering Question 11 Detailed Solution

Download Solution PDF

Regression testing is a type of maintenance testing. Maintenance testing encompasses all testing activities that are performed to identify and fix defects in an existing software system, and regression testing is a specific aspect of this process.

Key Points Maintenance testing is generally divided into two categories:

Corrective Maintenance Testing: This involves testing to identify and fix defects or issues in the software after it has been deployed.

Adaptive Maintenance Testing: This type of maintenance testing is carried out to adapt the software to changes in the environment, such as changes in hardware, software, or regulatory requirements.

Regression testing falls under both corrective and adaptive maintenance testing. When new code is added or existing code is modified, regression testing is performed to ensure that the changes do not negatively impact the existing functionality. This helps in maintaining the reliability and integrity of the software over time.

Software consists of __________.

  1. Set of instructions + operating procedures
  2. Programs + documentation + operating procedures
  3. Programs + hardware manuals
  4. Set of programs

Answer (Detailed Solution Below)

Option 2 : Programs + documentation + operating procedures

Software Engineering Question 12 Detailed Solution

Download Solution PDF

Concept :

The software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system. The term was coined to differentiate these instructions from hardware—i.e., the physical components of a computer system.

Programs + documentation + operating procedures is the correct answer.

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 13 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.

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 14 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

Alpha and Beta testing are forms of

  1. White-Box Testing
  2. Black-Box Testing
  3. Acceptance Testing
  4. System Testing

Answer (Detailed Solution Below)

Option 3 : Acceptance Testing

Software Engineering Question 15 Detailed Solution

Download Solution PDF

The correct answer: Acceptance Testing

Alpha and Beta testing are forms of:

Acceptance Testing

Important Points

Alpha Testing is usually done by internal staff before the product is released to external testers. It is a type of acceptance testing that's done in a lab environment and not by the end users. It helps identify all possible issues and problems in the system before it goes for Beta testing. 

Beta Testing is performed by actual users or potential customers in their own environment. It is the second phase of testing in which a sampling of the intended audience tries the product out before it is officially released to the general public. This is the final test before shipping the product. Problems that were not discovered during Alpha testing may be identified here.

These types of tests are done to make sure that the system is working as expected and will be accepted by the end users. They are types of User Acceptance Testing (UAT) and are very important in software development processes.

Get Free Access Now