Unit I Software
Unit I Software
1. Which of the following best describes the primary driver for the evolution of
software engineering? a) Decreasing hardware costs b) Increasing complexity of
software systems c) Advancements in programming languages d) Demand for faster
software development
2. The "software crisis" in the early days of computing was mainly attributed to: a)
Lack of skilled programmers b) Inability to manage large and complex software projects
c) Rapid changes in hardware technology d) Poor understanding of user requirements
6. The Software Development Life Cycle (SDLC) is best described as: a) A specific
programming language b) A framework outlining the steps involved in developing
software c) A tool for managing software projects d) A set of coding standards
8. A major drawback of the Waterfall model is: a) Its simplicity and ease of
understanding b) Its inflexibility to accommodate changing requirements c) Its focus on
documentation d) Its suitability for small projects
9. The Prototyping model is most useful when: a) Requirements are well-defined and
stable b) User requirements are unclear or evolving c) Project timelines are very strict d)
The development team has limited experience
10. "Throwaway prototyping" primarily aims to: a) Develop a fully functional system
quickly b) Clarify user requirements and design aspects c) Reduce development costs
significantly d) Enable rapid deployment of software
11. Evolutionary models are characterized by: a) A linear and sequential approach b)
Iterative development and delivery of increments c) Heavy reliance on initial
requirements specification d) Minimal user involvement during development
12. The Spiral model incorporates risk analysis at which stage of the SDLC? a)
Requirements gathering b) Design c) Each phase of the cycle d) Testing phase
13. Which model is most suitable for projects with high risk and complex
requirements? a) Waterfall model b) Prototyping model c) Spiral model d) Evolutionary
model
Feasibility Study
16. The primary purpose of a feasibility study is to: a) Develop a detailed project plan b)
Determine if a project is viable and worth pursuing c) Gather detailed user requirements
d) Start the software coding process
17. Which of the following is NOT a common type of feasibility study? a) Technical
feasibility b) Economic feasibility c) Operational feasibility d) Marketing feasibility
18. Technical feasibility assesses: a) The cost-effectiveness of the project b) The availability
of necessary technology and expertise c) The alignment with organizational goals d) The
impact on existing operations
19. Economic feasibility is concerned with: a) Whether the project can be completed within
budget b) Whether the project will generate sufficient benefits c) Whether the project is
technically sound d) Whether the project is aligned with legal requirements
20. Operational feasibility examines: a) The technical risks associated with the project b)
The organizational and user impact of the project c) The financial viability of the project
d) The legal and ethical aspects of the project
22. Which feasibility study aspect considers the ethical implications of the software
project? a) Technical feasibility b) Economic feasibility c) Operational feasibility d)
Legal and ethical feasibility (though not explicitly listed, it's implied within
operational/other)
Answer: c) Operational feasibility (in a broader sense, including ethical implications)
23. The outcome of a feasibility study is typically a: a) Detailed project plan b) Feasibility
report recommending project continuation or termination c) Prototype of the software
system d) Set of user requirements
24. Feasibility studies are most crucial for: a) Small, low-risk projects b) Large, complex,
and high-risk projects c) Projects with well-defined requirements d) Projects using agile
methodologies
25. Which of the following is a key question addressed by a feasibility study? a) What
programming language should be used? b) Can the project be completed successfully? c)
Who will be the project manager? d) What testing techniques will be employed?
26. Functional requirements describe: a) How the system performs its functions b) What
the system should do c) The quality attributes of the system d) The system's architecture
and design
28. "The system shall respond to user requests within 2 seconds" is an example of a: a)
Functional requirement b) Non-functional requirement (Performance) c) User
requirement d) Design constraint
32. Usability requirements focus on: a) System efficiency and resource utilization b) User-
friendliness and ease of learning c) System robustness and fault tolerance d) Data
integrity and consistency
Answer: b) It helps manage scope and deliver the most valuable features first
Requirement Gathering
38. Interviews are a requirement gathering technique that is: a) Best suited for large
groups of stakeholders b) Effective for in-depth understanding of individual perspectives
c) Less time-consuming than questionnaires d) Primarily used for non-functional
requirements
39. Questionnaires are most useful for: a) Exploring complex and nuanced requirements b)
Gathering data from a large and geographically dispersed audience c) Validating already
gathered requirements d) Resolving conflicts among stakeholders
40. Workshops or JAD sessions involve: a) One-on-one interviews with key stakeholders
b) Structured group meetings to collaboratively define requirements c) Passive
observation of users in their work environment d) Automated analysis of existing systems
and documents
41. Prototyping as a requirement gathering technique helps to: a) Finalize the system
design early in the SDLC b) Visualize and clarify user interactions and system behavior
c) Reduce development time and costs d) Automate the requirement gathering process
42. Use cases are primarily used to capture: a) Non-functional requirements b) Functional
requirements in terms of user interactions c) Data requirements and database design d)
System architecture and component diagrams
43. Which requirement gathering technique involves observing users in their natural
work setting? a) Interviews b) Questionnaires c) Ethnographic studies d) Prototyping
44. "Requirements traceability" refers to the ability to: a) Track requirements changes
throughout the SDLC b) Trace requirements back to their origin and stakeholders c)
Ensure all requirements are implemented and tested d) All of the above
47. Data flow diagrams (DFDs) are used in requirement analysis to model: a) System
architecture and components b) The flow of data within a system c) User interactions
with the system d) Class relationships and object structures
48. Entity-Relationship Diagrams (ERDs) are used to model: a) System behavior and
state transitions b) Data structures and relationships in a database c) User interface
layouts and navigation flows d) Process workflows and activity sequences
49. Use case diagrams are primarily used to represent: a) Data flow within the system b)
Interactions between actors and the system c) System architecture and deployment views
d) Class hierarchies and object inheritance
51. Which of the following is NOT typically included in an SRS document? a) Functional
requirements b) Non-functional requirements c) System design details d) Use cases
Answer: c) System design details (Design details come later in the design phase)
52. The SRS serves as a contract between: a) Developers and testers b) Developers and
project managers c) Customers and developers d) Users and system administrators
53. Requirement validation ensures that: a) Requirements are implemented correctly in the
code b) Requirements are technically feasible c) Requirements are consistent, complete,
and correct with respect to user needs d) Requirements are prioritized and managed
effectively
Answer: c) Requirements are consistent, complete, and correct with respect to user needs
54. Prototyping can be used in requirement validation to: a) Generate code automatically
from requirements b) Demonstrate system behavior and get user feedback c) Perform
automated testing of requirements d) Manage changes to requirements effectively
56. DevOps is best described as: a) A software development methodology focused on rapid
prototyping b) A cultural and technical movement focused on collaboration between
development and operations c) A specific set of tools for automating software
deployment d) A type of software testing approach
57. The primary goal of DevOps is to: a) Reduce software development costs b) Shorten
the software development lifecycle and enable faster delivery c) Improve the quality of
software code d) Enhance system security
Answer: b) Shorten the software development lifecycle and enable faster delivery
59. The benefits of Continuous Integration include: a) Reduced development costs and
faster time to market b) Early detection of integration issues and reduced risk of major
integration problems c) Improved communication and collaboration between
development and operations d) All of the above
60. "Continuous Delivery" (CD) extends CI by: a) Automating the testing and release
process to make software deployment more frequent and reliable b) Focusing on
continuous user feedback and requirement refinement c) Continuously monitoring system
security and performance d) Integrating security practices into the development lifecycle
Answer: a) Automating the testing and release process to make software deployment
more frequent and reliable
61. The "pipeline" in CI/CD refers to: a) A linear sequence of development phases (like
Waterfall) b) An automated workflow that takes code changes from commit to production
c) A communication channel between development and operations teams d) A set of
coding standards and best practices
Answer: b) An automated workflow that takes code changes from commit to production
64. Automated testing is a critical component of CI/CD because it: a) Reduces the need
for manual testing altogether b) Provides rapid feedback on code quality and reduces the
risk of regressions c) Eliminates the need for requirement gathering d) Simplifies the
deployment process
Answer: b) Provides rapid feedback on code quality and reduces the risk of regressions
65. "Version control" systems (like Git) are essential for CI/CD to: a) Track code
changes, manage branches, and facilitate collaboration b) Automate the testing and
deployment process c) Monitor system performance and security d) Manage
infrastructure as code
66. In a scenario where requirements are rapidly changing and project timelines are
tight, which SDLC model would be LEAST appropriate? a) Prototyping model b)
Spiral model c) Waterfall model d) Evolutionary model
67. A project aims to develop a safety-critical system. Which SDLC model, with its
emphasis on risk analysis, would be MOST suitable? a) Waterfall model b)
Prototyping model c) Spiral model d) Agile model (not explicitly mentioned, but consider
in context)
68. Which of the following BEST describes the relationship between functional and
non-functional requirements? a) Functional requirements are more important than non-
functional requirements b) Non-functional requirements are constraints on how
functional requirements are implemented c) Functional and non-functional requirements
are independent of each other d) Non-functional requirements are derived from functional
requirements
70. To make the requirement "The system should be user-friendly" more effective, it
should be: a) Removed from the requirements specification b) Replaced with a more
technical requirement c) Elaborated with specific, measurable, achievable, relevant, and
time-bound (SMART) criteria d) Left to the discretion of the development team
Answer: c) The system shall process 90% of transactions within 1 second under peak
load.
74. In a JAD (Joint Application Development) session, the role of a facilitator is to: a)
Dominate the discussion and ensure decisions are made quickly b) Act as a technical
expert and provide solutions c) Guide the discussion, manage conflicts, and ensure all
stakeholders contribute d) Record meeting minutes and distribute them to participants
Answer: c) Guide the discussion, manage conflicts, and ensure all stakeholders
contribute
Answer: c) To manage project scope, budget, and timeline effectively by focusing on the
most critical features
Answer: a) Breaking down complex requirements into smaller, more manageable parts
78. Use case descriptions typically include: a) Data flow diagrams and ER diagrams b) Pre-
conditions, post-conditions, and main flow of events c) System architecture and
deployment diagrams d) Class diagrams and object models
79. What is the purpose of requirement traceability matrices? a) To track the progress of
development tasks b) To ensure that each requirement is linked to design, code, and test
artifacts c) To manage changes to requirements effectively d) To document user feedback
and change requests
Answer: b) To ensure that each requirement is linked to design, code, and test artifacts
82. Continuous Delivery aims to ensure that software is always in a deployable state,
meaning: a) The software is fully tested and bug-free b) The software can be released to
production with minimal manual intervention c) The software is feature-complete and
ready for user acceptance testing d) The software is documented and user manuals are
prepared
83. What is the primary benefit of "Infrastructure as Code"? a) Reduced hardware costs
b) Increased manual configuration of infrastructure c) Faster, more consistent, and
repeatable infrastructure provisioning d) Elimination of the need for infrastructure
maintenance
84. Automated testing in CI/CD pipelines typically includes: a) Only unit tests b) Only
integration tests c) Unit tests, integration tests, and system tests d) Primarily manual
exploratory testing
85. "Feedback loops" are crucial in DevOps because they: a) Slow down the development
process to ensure quality b) Enable rapid learning, continuous improvement, and faster
response to issues c) Increase the complexity of the development pipeline d) Reduce the
need for automation
Answer: b) Enable rapid learning, continuous improvement, and faster response to issues
86. Consider a project where user requirements are initially vague but expected to
stabilize over time. Which SDLC model or approach would be MOST adaptable to
this situation? a) Strict Waterfall model b) Prototyping followed by Waterfall c)
Evolutionary prototyping leading to a Spiral model d) Big Bang model (not explicitly
mentioned, but consider as a less structured approach)
87. A company is developing a new version of its flagship software product. They want
to minimize disruption to existing users and release new features incrementally.
Which SDLC model would be most suitable? a) Waterfall model b) Spiral model c)
Evolutionary model with incremental delivery d) Prototyping model with throwaway
prototypes
88. In a feasibility study, if the economic feasibility is positive, but the technical
feasibility is highly uncertain, what would be the MOST prudent course of action?
a) Proceed with the project immediately to capitalize on the economic benefits b)
Abandon the project due to technical risks c) Conduct further investigation and
prototyping to reduce technical uncertainty before making a final decision d) Outsource
the technically challenging aspects of the project
90. When eliciting requirements for a mobile application, which requirement gathering
technique would be MOST effective in understanding user interaction and
workflow in a real-world context? a) Questionnaires distributed online b) Structured
interviews with stakeholders in a conference room c) Ethnographic studies observing
users in their daily mobile usage scenarios d) Focus group discussions with potential
users
Answer: c) Ethnographic studies observing users in their daily mobile usage scenarios
Answer: b) It prevents costly rework, delays, and system defects in later stages
92. Which aspect of DevOps culture is MOST directly supported by the practice of
"Infrastructure as Code"? a) Collaboration b) Automation c) Continuous Feedback d)
Customer-centricity
Answer: b) Automation
93. Consider a scenario where a critical bug is found in the production environment. In
a DevOps culture with a mature CI/CD pipeline, what would be the TYPICAL
immediate response? a) Roll back to the previous stable version automatically through
the pipeline b) Manually patch the bug in the production environment directly c) Blame
the operations team for the deployment failure d) Schedule a major release to fix the bug
in the next development cycle
Answer: a) Roll back to the previous stable version automatically through the pipeline
94. Which of the following BEST describes the relationship between Continuous
Integration, Continuous Delivery, and DevOps? a) DevOps is a subset of CI/CD b)
CI/CD are practices that enable DevOps principles c) CI/CD and DevOps are competing
methodologies d) DevOps is a specific tool used in CI/CD pipelines
Scenario-Based MCQs
96. A startup wants to develop a mobile app with limited initial funding and rapidly
evolving user expectations. They need to get a working version to market quickly
and iterate based on user feedback. Which SDLC model would be MOST suitable
for them? a) Waterfall model b) Spiral model c) Agile/Evolutionary Prototyping model
d) Formal Specification model (not in syllabus, but consider extreme case)
98. A software development team is implementing CI/CD for a web application. They
are facing challenges with slow and unreliable automated tests, which are delaying
deployments. What should be their FIRST priority to improve their CI/CD
pipeline? a) Invest in more powerful servers to run tests faster b) Reduce the number of
automated tests to speed up the pipeline c) Focus on improving the speed, reliability, and
coverage of their automated tests d) Switch to manual testing to bypass the slow
automated tests
Answer: c) Focus on improving the speed, reliability, and coverage of their automated
tests