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

1. Announce the study project
2. Define system performance criteria
3. Describe information needs
4. Staff for the study project

Option 1 : Announce the study project

#### 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?

1. Unit, System, Integration, Acceptance
2. Unit, Integration, System, Acceptance
3. It is based on nature of the project
4. Unit, Integration, Acceptance, System

Option 3 : It is based on nature of the project

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

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?

1. Fuzz testing
2. Inter system testing
4. Gorilla testing

Option 4 : Gorilla testing

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

1. Action stub
2. Condition stub
3. Condition entry
4. Action entry

Option 1 : Action stub

#### 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?

1. Linear sequential model
2. COCOMO model
3. Prototype model
4. The spiral model

Option 2 : COCOMO model

#### Software Engineering MCQ Question 5 Detailed Solution

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

#### Software Engineering MCQ Question 6

MS Office, Photoshop and Animagic are examples of:

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

Option 2 : Application software

#### Software Engineering MCQ Question 6 Detailed Solution

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.

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

#### Software Engineering MCQ Question 7

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

Option 3 : All of the options

#### Software Engineering MCQ Question 7 Detailed Solution

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

#### Software Engineering MCQ Question 8

What is the defect rate for Six sigma?

1. 1.0 defect per million lines of code
2. 1.4 defect per million lines of code
3. 3.0 defect per million lines of code
4. 3.4 defect per million lines of code

Option 4 : 3.4 defect per million lines of code

#### Software Engineering MCQ Question 8 Detailed Solution

Concept:

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

1. 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.
2. 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.
3. 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.
4. 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.

#### Software Engineering MCQ Question 9

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

Option 3 : 3000

#### Software Engineering MCQ Question 9 Detailed Solution

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

#### Software Engineering MCQ Question 10

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%

Option 2 : 96%

#### Software Engineering MCQ Question 10 Detailed Solution

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.

#### Software Engineering MCQ Question 11

Regression testing is primarily related to

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

Option 1 : Functional testing

#### Software Engineering MCQ Question 11 Detailed Solution

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

#### Software Engineering MCQ Question 12

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

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

#### Software Engineering MCQ Question 12 Detailed Solution

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.

#### Software Engineering MCQ Question 13

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

Option 2 :  Non-linear

#### Software Engineering MCQ Question 13 Detailed Solution

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.

#### Software Engineering MCQ Question 14

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

Option 3 : Design specification

#### Software Engineering MCQ Question 14 Detailed Solution

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.

#### Software Engineering MCQ Question 15

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

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

Option 2 : Measurable

#### Software Engineering MCQ Question 15 Detailed Solution

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.

 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

#### Software Engineering MCQ Question 16

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?

1. 10,000
2. 5,000
3. 7,500
4. 75,000

Option 2 : 5,000

#### Software Engineering MCQ Question 16 Detailed Solution

Data

LOC = lines of code

Let L = 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$$

∴ L= x = 5000

#### Software Engineering MCQ Question 17

In a class definition with 10 methods, to make the class maximally cohesive, number of direct and indirect connections required among the methods are

1. 90, 0
2. 45, 0
3. 10, 10
4. 45, 45

Option 2 : 45, 0

#### Software Engineering MCQ Question 17 Detailed Solution

Concept -

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.

#### Software Engineering MCQ Question 18

For a software project, the spiral model was employed. When will the spiral stop ?

1. When the software product is retired
2. When the software product is released after Beta testing
3. When the risk analysis is completed
4. After completing five loops

Option 1 : When the software product is retired

#### Software Engineering MCQ Question 18 Detailed Solution

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.

#### Software Engineering MCQ Question 19

Which of the following is NOT a characteristic of an SRS document?

1. Verifiability
2. Correctness
3. Modifiability
4. Ambiguity

Option 4 : Ambiguity

#### Software Engineering MCQ Question 19 Detailed Solution

Concept:

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

#### Software Engineering MCQ Question 20

In context of requirement analysis in software engineering, which of the following is not a type of 'non functional requirements'?

1. Product Requirements
2. Organizational Requirements
3. External Requirements
4. Umbrella Requirements

Option 4 : Umbrella Requirements

#### Software Engineering MCQ Question 20 Detailed Solution

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

#### Software Engineering MCQ Question 21

A ____________ is an interaction diagram that emphasizes the time ordering of messages sent between objects.

1. Sequence diagram
2. Component diagram
3. Class diagram
4. Activity diagram

Option 1 : Sequence diagram

#### Software Engineering MCQ Question 21 Detailed Solution

Sequence 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

#### Software Engineering MCQ Question 22

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

1. 28
2. 175
3. 56
4. 84

Option 1 : 28

#### Software Engineering MCQ Question 22 Detailed Solution

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

#### Software Engineering MCQ Question 23

Match the following:

 (1) Waterfall model (a) Specifications can be  developed incrementally (2) Evolutionary model (b) Re-usability in  development (3) Component-based   software engineering (c) Explicit recognition of  risk (4) Spiral development (d) Inflexible partitioning of   the project into stages

1. (1) - (a), (2) - (b), (3) - (c), (4) - (d)
2. (1) - (d), (2) - (a), (3) - (b), (4) - (c)
3. (1) - (d), (2) - (b), (3) - (a), (4) - (c)
4. (1) - (c), (2) - (a), (3) - (b), (4) - (d)

Option 2 : (1) - (d), (2) - (a), (3) - (b), (4) - (c)

#### Software Engineering MCQ Question 23 Detailed Solution

The 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

#### Software Engineering MCQ Question 24

In the Model-View-Controlled (MVC) architecture, the model defines the _____.

1. Data-access layer
2. Presentation layer
4. Interface layer

#### Software Engineering MCQ Question 24 Detailed Solution

Model–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).

#### Software Engineering MCQ Question 25

The lower degree of cohesion is kind of

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

Option 2 : Coincidental Cohesion

#### Software Engineering MCQ Question 25 Detailed Solution

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

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