Software Development Models MCQ Quiz - Objective Question with Answer for Software Development Models - Download Free PDF
Last updated on May 6, 2025
Latest Software Development Models MCQ Objective Questions
Software Development Models Question 1:
Which of the following software process model gives explicit recognition of risk ?
Answer (Detailed Solution Below)
Software Development Models Question 1 Detailed Solution
The spiral model is the most advanced. It includes four faces one of which is Risk.
Hence the correct answer is Spiral Model.
Additional Information
- A prototyping Model is a software development model in which a prototype is built, tested, and reworked until an acceptable prototype is achieved.
- An incremental Model is a process of software development where requirements are broken down into multiple standalone modules of the software development cycle.
- The waterfall model is a classical model used in system development life cycle to create a system with a linear and sequential approach.
Software Development Models Question 2:
Which of the following software development approach is not applicable to projects that demand continuous maintenance?
Answer (Detailed Solution Below)
Software Development Models Question 2 Detailed Solution
The correct answer is option 3.
Concept:
Waterfall Methodology:
One of the most widely used software development approaches is the Waterfall Methodology. This life cycle model is considered a traditional approach to software development by most firms. In a linear sequential flow, this model simplifies the software development process.
- We should always double-check that the previous step of the development cycle is complete before moving on to the next.
- This is a stiff linear model used in conventional software development.
- This method of development does not specify how to return to a prior phase to address changes in requirements.
Explanation:
The waterfall approach is unsuitable for projects that require ongoing maintenance. The biggest disadvantage of this strategy is that once an application has been tested, it is not advised to go back and make any modifications to the final program because this might cause a lot of issues.
Hence the correct answer is Waterfall development methodology.
Software Development Models Question 3:
Which one of the following is the correct estimation model based on software equation?
Answer (Detailed Solution Below)
Software Development Models Question 3 Detailed Solution
The correct answer is Option 2.
Key Points
- The correct estimation model based on software equation is:
- E = [LOC × B0.333/P]3 × (1/t4)
- This model is used to estimate the effort required for software development.
- LOC stands for Lines of Code, B is a constant, P stands for productivity, and t represents time.
- In this model, the effort is proportional to the cube of the size of the code divided by productivity and inversely proportional to the fourth power of time.
Additional Information
- Estimation models help project managers and developers to predict the time and cost required to complete a software project.
- They are crucial for planning and resource allocation.
- Different models may be used based on the type and complexity of the software project.
- Understanding and using the correct estimation model can significantly impact the success of a software project.
Software Development Models Question 4:
Which of the following CANNOT be called a software life cycle model?
Answer (Detailed Solution Below)
Software Development Models Question 4 Detailed Solution
Concept:
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes.
The Waterfall model is a breakdown of project activities into linear sequential phases, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks.
The Prototyping model is a systems development method in which a prototype is built, tested, and then reworked as necessary until an acceptable outcome is achieved from which the complete system or product can be developed.
Rapid Application Development (RAD) is a form of agile software development methodology that prioritizes rapid prototype releases and iterations. Unlike the Waterfall method, RAD emphasizes the use of software and user feedback over strict planning and requirements recording.
Hence Option 1 is correct
Software Development Models Question 5:
What is the main role of a system analyst?
Answer (Detailed Solution Below)
Software Development Models Question 5 Detailed Solution
The correct answer is Defining system requirements and ensuring the system meets user needs.
Key Points
- A system analyst primarily focuses on defining system requirements and ensuring that the system meets the needs of the users.
- This role involves analyzing business processes, gathering requirements from stakeholders, and designing systems that align with organizational goals.
- They act as a bridge between the technical team and the end-users, ensuring effective communication and understanding of requirements.
Additional Information
- Option 1: Coding the software - This task is primarily the responsibility of software developers, not system analysts. While analysts may have some coding knowledge, their main role is not to write code.
- Option 3: Testing the system for bugs - This is usually the responsibility of quality assurance (QA) testers. System analysts may be involved in the testing process to ensure requirements are met but do not primarily focus on bug testing.
- Option 4: Maintaining the system - This is typically the role of IT support or system administrators. System analysts may be involved in the initial setup and ensuring the system meets requirements but are not primarily responsible for ongoing maintenance.
Top Software Development Models MCQ Objective Questions
Which of the following represents the life-cycle of software development ?
Answer (Detailed Solution Below)
Software Development Models Question 6 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.
Which of the following is/are the phases of system development life cycle?
Answer (Detailed Solution Below)
Software Development Models 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
Which of the following is not a maturity level as per Capability Maturity Model ?
Answer (Detailed Solution Below)
Software Development Models Question 8 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 |
RAD software process model stands for
Answer (Detailed Solution Below)
Software Development Models Question 9 Detailed Solution
Download Solution PDFRAD - Rapid Application Development is an adaptive software development model based on prototyping and quick feedback with less emphasis on specific planning.
- In general, the RAD approach prioritizes development and building a prototype, rather than planning.
- With rapid application development, developers can quickly make multiple iterations and updates to the software without starting from scratch.
- It also helps in ensuring that the final outcome is more quality-focused and aligns with the end users’ requirements.
The lower degree of cohesion is kind of
Answer (Detailed Solution Below)
Software Development Models Question 10 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
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 Development Models Question 11 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
Which of the following is not one of the principles of agile software development method?
Answer (Detailed Solution Below)
Software Development Models Question 12 Detailed Solution
Download Solution PDFAgile software development has a major influence for a number of changes in how software developers plan and coordinate their work , how they communicate with customers and stakeholders , how software development is organized in small , medium sized and large companies from telecom and health sectors.
It basically focus on adapting to change and delivering products of high quality through simple work processes.
In agile software development model, a large product is broken into small incremental builds. These are then solved in various iterations. In agile method, every build is treated differently.
Principles of agile software development model:
- Customer involvement: During the development of a software, we are not aware of all of its requirements initially. So, customer involvement is required in this to tackle all the necessary requirements so that product is development in an efficient manner and time.
- Embrace change: It is responsive to any change in the development process
- Incremental delivery: as in agile method, product is broken into small parts and each part of that is solved iteration wise. So, it is an incremental delivery process of software development.
Some other principles are working software, interaction between individuals etc. But following the plan is not in the principles of agile software development method.
Which one of the following is not a software process model?
Answer (Detailed Solution Below)
Software Development Models Question 13 Detailed Solution
Download Solution PDFCorrect 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.
For a software project, the spiral model was employed. When will the spiral stop ?
Answer (Detailed Solution Below)
Software Development Models Question 14 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.
Match List I with List II
List I |
List II |
||
(Software Process Model) |
(Description) |
||
A. |
Waterfall Model |
I. |
Software can be developed incrementally |
B. |
Evolutionary Model |
II. |
Requirement compromises are inevitable |
C. |
Component‐based Software Engineering |
III. |
Explicit recognition of risk |
D. |
Spiral Development |
IV. |
Inflexible partitioning of the project into stages |
Choose the correct answer from the options given below :
Answer (Detailed Solution Below)
Software Development Models Question 15 Detailed Solution
Download Solution PDFThe correct answer is option 4.
Solution :
|
List I |
List II |
||
(Software Process Model) |
(Description) |
||
A. |
Waterfall Model |
IV. |
Inflexible partitioning of the project into stages |
B. |
Evolutionary Model |
I. |
Software can be developed incrementally |
C. |
Component‐based Software Engineering |
II. |
Requirement compromises are inevitable |
D. |
Spiral Development |
III. |
Explicit recognition of risk |
- The waterfall model is best suited if requirements are easily understandable & defined.
- The spiral model is similar to the incremental development for a system, with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Design, Construct, and Evaluation.