Software Engineering MCQ Quiz - Objective Question with Answer for Software Engineering - Download Free PDF
Last updated on Aug 23, 2022
Latest Software Engineering MCQ Objective Questions
Software Engineering MCQ Question 1:
The first step to the system study project is to -
Answer (Detailed Solution Below)
Software Engineering MCQ Question 1 Detailed Solution
The correct answer is option 1.
Concept:
The first step in a system study project is to announce the project, then further the information requirements can be described. But firstly the organization must be sure about what they want to start or create. The announcement also includes the pathway to reach the final stage of the project. where each stage to create a project is described. The information gathering is the first stage after the announcement.
The description of information needs is also a major role after announcements of the project and it is described as:
- It entails researching a technique or business in order to establish its objectives and purposes and then developing systems and procedures to fulfill them in an effective manner. Use cases are a popular system analysis modeling approach for discovering and expressing a system's functional needs.
- The creation of a new information system entails a number of distinct remodeling linked operations. Planning, analysis, design, implementation, and maintenance/support are typical activities or phases. In other words, SDLC is a conceptual model that assists project management in the creation of information systems.
- A system is a broad term for a collection of elements, stages, or components that are linked together to produce a more complicated whole.
Hence the correct answer is to Announce the study project.
Software Engineering MCQ Question 2:
The test levels are performed in which of the following order?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 2 Detailed Solution
The correct option is (3)
It is based on the nature of the project
Concept:-
Software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.
Different companies have different designations for people who test the software on the basis of their experience and knowledge such as software testers, Software Quality assurance engineers, QA Analysts, etc.
Key Points
- Levels of testing are used to organize software testing and make it simple to locate all potential test cases at a given level.
- It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in the context of the given requirements.
- The testing patterns are also decided on the kind of projects that are developed.
Additional Information
Unit testing:- In order to make sure that the program is suitable for usage by the developers, each component or unit is checked for defects independently during unit testing.
Integration testing:- Software is tested as part of a process called integration testing, which examines the interaction between two or more modules.
System testing:- An entire integrated system is subjected to system testing, a type of software testing, to see whether it complies with the necessary requirements.
Acceptance testing:- Acceptance testing is a testing method used to ascertain whether or not the software system has complied with the necessary requirements.
Software Engineering MCQ Question 3:
Which testing focuses on heavily testing of one particular module?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 3 Detailed Solution
The correct option is (4)
Gorilla testing
Concept:-
This kind of software testing methodology places a lot of emphasis on thoroughly evaluating one specific module. By having various testing teams evaluate the same capability, quality assurance teams examine one or a few functionalities fully or exhaustively to discover any deviations.
Key Points
- Gorilla testing is a method of software testing in which a program module is routinely examined to ensure that it is working correctly and is free of flaws.
- A module can be assessed in exactly the same manner 100 times. Gorilla testing is so frequently referred to as "Frustrating Testing."
Additional InformationFuzz testing:- An automated software testing technique called fuzzing introduces erroneous, abnormal, or unexpected inputs into a system in order to detect flaws and vulnerabilities in the software.
Breadth Testing:- It is a test suite that confirms a product's complete functionality but does not thoroughly evaluate all of the features.
Inter-system testing:- Inter-system testing is the process of evaluating the integration points and functionality between various systems that share a common data source.
Software Engineering MCQ Question 4:
In decision table left-lower quadrant is called -
Answer (Detailed Solution Below)
Software Engineering MCQ Question 4 Detailed Solution
The correct answer is option 1.
Concept:
Decision tables are a means of summarizing a complicated logical connection in a clear and comprehensible manner.
Components of a Decision Table:
Condition Stub:
It is placed in the top left quadrant, which contains a list of all the conditions to be verified.
Action Stub:
It is in the lower left quadrant that specifies all of the actions that must be taken to satisfy, such a requirement.
Condition Entry:
It is located in the upper right quadrant and answers queries presented in the condition stub quadrant.
Action Entry:
It is located in the lower right quadrant and displays the appropriate action based on the responses to the conditions in the condition entering the quadrant.
Hence the correct answer is Action stub.
Software Engineering MCQ Question 5:
Which one of the following is not a software process model?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 5 Detailed Solution
Correct answer: Option 2
Explanation:
- A software process model is a blueprint of the flow of processes that should be followed when developing a software. This model defines each task, the input and output of each task and the sequence in which the tasks should be carried out.
- The linear sequential model, prototype model and spiral model are examples of a software process model. Each model has a different approach to the flow of processes for developing a software.
- The COCOMO model, on the other hand, is a cost estimation model. It identifies the amount of labour required and the schedule to be followed.
Important Points:
- The COCOMO model, short for COnstructive COst MOdel, is used to determine the monetary cost of a software project. The cost is directly related to the manpower required (effort) and how quickly it is required (schedule).
- Either the schedule influences the effort or the effort influences the schedule. The project manager decides which of the two factors are more important and lets it be the deciding factor.
Top Software Engineering MCQ Objective Questions
MS Office, Photoshop and Animagic are examples of:
Answer (Detailed Solution Below)
Software Engineering MCQ Question 6 Detailed Solution
Download Solution PDFThe 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 is/are the phases of system development life cycle?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 7 Detailed Solution
Download Solution PDFConcept:
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
What is the defect rate for Six sigma?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 8 Detailed Solution
Download Solution PDFConcept:
- Six Sigma is a statistical term used to measure the number of defects that processes create.
- The term implies high-quality performance because a process performing at a Six Sigma level allows only 3.4 defects per one million opportunities.
Different sigma levels of quality would lead to the following number of defects.
- Three Sigma quality – This level of performance produces a defect-free product 93.32% of the time. 770 applications would be processed incorrectly and would require rework every day.
- Four Sigma quality – This level of performance yields a defect-free product 99.349% of the time. With four sigma quality, 73 applications would need to be corrected every day.
- Five Sigma quality – Five Sigma performance produces defect-free products and services 99.977% of the time. Every week the bank would need to correct 13 application errors.
- Six Sigma quality – Six Sigma performance produces a defect-free product 99.99966% of the time; allowing only 3.4 errors per one million opportunities. 10 applications would need to be corrected during the entire year.
Important Points:
Four sigma and six sigma levels of performance both have an error free rate over 99% of the time. However, the large volume of applications in this example makes all of the difference. With numbers this big, it turned out that the four-sigma process made 18,710 more errors than the six sigma process.
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 L1 for which cost of developing the software with both languages must be same ?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 9 Detailed Solution
Download Solution PDFThe 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
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 hoursAnswer (Detailed Solution Below)
Software Engineering MCQ Question 10 Detailed Solution
Download Solution PDFExplanation:
- 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:
Regression testing is primarily related to
Answer (Detailed Solution Below)
Software Engineering MCQ Question 11 Detailed Solution
Download Solution PDFExplanation:
- 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
Which of the following represents the life-cycle of software development ?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 12 Detailed Solution
Download Solution PDFConcept:
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.
A multimedia project is said to be _________ and user-interactive when users are given navigational control.
Answer (Detailed Solution Below)
Software Engineering MCQ Question 13 Detailed Solution
Download Solution PDFConcept:
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.
A software requirements specification (SRS) document should avoid discussing which one of the following?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 14 Detailed Solution
Download Solution PDFSoftware 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 ?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 15 Detailed Solution
Download Solution PDFThe 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 |
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 L1. 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?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 16 Detailed Solution
Download Solution PDFData
LOC = lines of code
Let L1 = x and L2 = 2x
Calculation:
Total cost of the project:
\(\frac{x}{10000} \times 1000000 + 5\times 100000 = \frac{2x}{10000}\times750000 + 5 \times 50000\)
100x + 500000 = 150x + 250000
∴ 50x = 500000 – 250000
∴ x = \(\frac{250000}{50} = 5000\)
∴ L1 = x = 5000
In a class definition with 10 methods, to make the class maximally cohesive, number of direct and indirect connections required among the methods are
Answer (Detailed Solution Below)
Software Engineering MCQ Question 17 Detailed Solution
Download Solution PDFConcept -
High cohesion says that a class should only do what it is supposed to do, and does it fully. It should not be overloaded with functions that it is not supposed to do, and whatever directly related to it should not appear in the code of some other class either.
Classes that contain strongly related functionality are described as having strong cohesion, and the heuristic goal is to make cohesion as strong as possible.
Explanation -
- To make the class maximally cohesive, every method should be related to every other method.
- Hence, if we assume every method to be a node of a graph, and edges of this graph be the connections between these methods,
- Then maximum cohesiveness can be achieved by making a complete graph.
- Hence, number of direct connections is n(n -1)/2 = 10 * 9 /2 = 45
Note that, maximum cohesiveness is achieved with it having no indirect connections. A connection of the type A - B - C will be an indirect connection between A and C.
For a software project, the spiral model was employed. When will the spiral stop ?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 18 Detailed Solution
Download Solution PDFAnswer: Option 1
Concept:
Spiral Model:
The spiral model, initially proposed by Boehm, is an evolutionary software process model that couples the iterative feature of prototyping with the controlled and systematic aspects of the linear sequential model.
Determining Objective: Each cycle in the spiral starts with the identification of purpose for that cycle, the various alternatives that are possible for achieving the targets, and the constraints that exist.
Risk Assessment and reduction: The next phase in the cycle is to calculate these various alternatives based on the goals and constraints. The focus of evaluation in this stage is located on the risk perception for the project.
Development and validation: The next phase is to develop strategies that resolve uncertainties and risks. This process may include activities such as benchmarking, simulation, and prototyping.
Planning: Finally, the next step is planned. The project is reviewed, and a choice made whether to continue with a further period of the spiral. If it is determined to keep, plans are drawn up for the next step of the project.
Explanation:
The spiral of software development remains operative until the software is retired. Hence Option 1 is the correct answer.
Which of the following is NOT a characteristic of an SRS document?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 19 Detailed Solution
Download Solution PDFConcept:
Characteristics of SRS Document
- Correctness: User review is used to provide the accuracy of requirements stated in the SRS. SRS is said to be perfect if it covers all the needs that are truly expected from the system.
- Completeness: The SRS is complete if, and only if, all essential requirements, whether relating to functionality, performance, design, constraints, attributes, or external interfaces.
- Consistency: The SRS is consistent if, and only if, no subset of individual requirements described in its conflict
- Unambiguousness: SRS is unambiguous when every fixed requirement has only one interpretation. This suggests that each element is uniquely interpreted. In case there is a method used with multiple definitions, the requirements report should determine the implications in the SRS so that it is clear and simple to understand.
- Ranking for importance and stability: The SRS is ranked for importance and stability if each requirement in it has an identifier to indicate either the significance or stability of that particular requirement.
- Modifiability: SRS should be made as modifiable as likely and should be capable of quickly obtain changes to the system to some extent. Modifications should be perfectly indexed and cross-referenced.
- Verifiability: SRS is correct when the specified requirements can be verified with a cost-effective system to check whether the final software meets those requirements. The requirements are verified with the help of reviews.
- Traceability: The SRS is traceable if the origin of each of the requirements is clear and if it facilitates the referencing of each condition in future development or enhancement documentation.
Hence Option 4 is correct
In context of requirement analysis in software engineering, which of the following is not a type of 'non functional requirements'?
Answer (Detailed Solution Below)
Software Engineering MCQ Question 20 Detailed Solution
Download Solution PDFNON-FUNCTIONAL REQUIREMENT (NFR)
It specifies the quality attribute of a software system. They judge the software system based on Responsiveness, Usability, Security, Portability, and other non-functional standards that are critical to the success of the software system
Product requirements
Requirements specify that the delivered product must behave in a particular way, e.g. execution speed, reliability, etc.
Organizational requirements
Requirements which are a consequence of organizational policies and procedures, e.g. process standards used, implementation requirements, etc.
External requirement
Requirements which arise from factors which are external to the system and its development process, e.g. interoperability requirements, a legislative requirement
A ____________ is an interaction diagram that emphasizes the time ordering of messages sent between objects.
Answer (Detailed Solution Below)
Software Engineering MCQ Question 21 Detailed Solution
Download Solution PDFSequence Diagram is an interaction diagram that emphasizes the time ordering of messages sent between objects.
Important Point
Sequence Diagrams
the interaction that takes place in a collaboration that either realizes a use case or high-level interactions between the user of the system and the system, between the system and other systems or between subsystems (sometimes known as system sequence diagrams)
Purpose of Sequence Diagram
- Model high-level interaction between active objects in a system
- Model the interaction between object instances within a collaboration that realizes a use case
- Model the interaction between objects within a collaboration that realizes an operation
- Either model generic interactions or specific instances of interaction
Consider a software program that is artificially seeded with 100 faults. While testing this program, 159 faults are detected, out of which 75 faults are from those artificially seeded faults. Assuming that both real and seeded faults are of same nature and have same distribution, the estimated number of undetected real faults is ______.
Answer (Detailed Solution Below)
Software Engineering MCQ Question 22 Detailed Solution
Download Solution PDFThe correct answer is option 1.
Key Points
- Total number of faults found = 159
- Real faults detected among all detected faults = 159 - 75 = 84
- Since probability distribution is the same, the total number of real faults is (100/75)*84 = 112
- Undetected real faults = 112- 84 = 28
Alternate Method
- 75% of defects are observed because of 75 of 100 artificially seeded defects. Given that the total faults detected = 159
- Real faults detected among all detected faults = 159 – 75= 84
- Since probability distribution is the same, the total number of real faults is (100/75)*84 = 112
Therefore undetected real faults = 112-84 = 28.
Hence the correct answer is 28.
Match the following:
(1) |
Waterfall model |
(a) |
Specifications can be |
(2) |
Evolutionary model |
(b) |
Re-usability in |
(3) |
Component-based software engineering |
(c) |
Explicit recognition of |
(4) |
Spiral development |
(d) |
Inflexible partitioning of the project into stages |
Answer (Detailed Solution Below)
Software Engineering MCQ Question 23 Detailed Solution
Download Solution PDFThe correct answer is option 2
Key Points
Waterfall model --> Inflexible partitioning of the project into stages
Evolutionary model --> Specifications can be developed incrementally
Component-based software engineering --> Re-usability in development
Spiral development --> Explicit recognition of risk
In the Model-View-Controlled (MVC) architecture, the model defines the _____.
Answer (Detailed Solution Below)
Software Engineering MCQ Question 24 Detailed Solution
Download Solution PDFModel–view–controller (MVC) is a software design pattern commonly used for developing user interfaces which divides the related program logic into three interconnected elements
1. Model
2. View
3. Controller
Model
- Model is the central component of the architecture.
- It is the application's dynamic data structure, independent of the user interface.
- It directly manages the data, logic and rules of the application.
View
- Any representation of information such as a chart, diagram or table.
- Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.
Controller
Accepts input and converts it to commands for the model or view.
In addition to dividing the application into these components, the model–view–controller design defines the interactions between them.
Key Points Each architecture component is built to handle specific development aspect of an application. MVC separates the business logic and presentation layer from each other. It was traditionally used for desktop graphical user interfaces (GUIs).
The lower degree of cohesion is kind of
Answer (Detailed Solution Below)
Software Engineering MCQ Question 25 Detailed Solution
Download Solution PDFCohesion 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
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