Question 1
Requirements gathering
Design
Development
Testing
Maintenance
The IIT Madras BS Software Engineering (Software Engineering) Quiz 2 paper sat on 3 Dec 2023, in the September 2023 term: 22 questions for 50 marks in 120 minutes. Every question is below with its answer. Take it as a timed mock test to be marked, or read it through first.
Requirements gathering
Design
Development
Testing
Maintenance
Correct answer
Requirements gathering
What is one of the main advantages of Agile development over the Waterfall model?
Strong emphasis on documentation
Ability to accommodate changing requirements
Faster development with no need for testing
Strict adherence to a fixed project plan
Correct answer
Ability to accommodate changing requirements
What is the primary goal of "regression testing" in software development?
To ensure the software complies with industry standards and regulations.
To identify and fix defects introduced during recent code changes without causing new issues.
To test the software's performance under extreme conditions.
To test the software against its initial requirements.
Correct answer
To identify and fix defects introduced during recent code changes without causing new issues.
In Behavior Driven Design (BDD), what are "user stories"?
A form of documentation used for project management
A list of tasks assigned to developers
A detailed description of how the code is structured
A way to express software requirements from an end-user perspective
Correct answer
A way to express software requirements from an end-user perspective
An organisation wants to develop a mobile app to receive orders for grocery items online and deliver them within an hour. Therefore, a team from the organisation has visited some famous grocery shops across the country to observe how customers place orders, how payments are made, and in what mode the items are delivered to the customers.
Identify the type of requirement collection technique used in the given scenario.
Questionnaires
Focus group
Documentations
Naturalistic observations
Correct answer
Naturalistic observations
When creating a Software Requirement Specification (SRS), what should be the primary focus regarding the clarity of requirements?
Write requirements in a technical language to ensure precision.
Use ambiguous language to allow for flexibility during development.
Ensure that requirements are clear, unambiguous, and understandable by both technical and non-technical stakeholders.
Only specify high-level requirements to provide flexibility to developers.
Correct answer
Ensure that requirements are clear, unambiguous, and understandable by both technical and non-technical stakeholders.
Usability goals in interaction design aim to enhance the overall user experience. Which of the following is NOT a common usability goal?
Efficiency
Consistency
Novelty
Learnability
Correct answer
Novelty
Prototyping is a crucial step in interaction design. Which prototyping technique is often used for simulating the look and feel of the final product, providing a close-to-real experience for users?
Low-fidelity paper prototyping
Wizard of Oz prototyping
High-fidelity interactive prototyping
Storyboard prototyping
Correct answer
High-fidelity interactive prototyping
In the context of software user interface design, how can "consistency" be described as a heuristic for feedback?
Ensuring that the user interface is visually appealing.
Maintaining uniformity in the way similar actions or elements are presented to users.
Offering real-time feedback to users during their interactions.
Allowing users to easily undo any action they take.
Correct answer
Maintaining uniformity in the way similar actions or elements are presented to users.
In software project estimation, what is the primary goal of using the "Delphi Technique"?
To encourage open and collaborative communication among team members.
To provide a quick and rough estimate of project costs.
To combine estimates from multiple experts to reach a consensus estimate.
To create a detailed work breakdown structure.
Correct answer
To combine estimates from multiple experts to reach a consensus estimate.
In the context of software project risk management, what does the term "mitigation" mean?
Transferring the risk to a third party, such as an insurance company.
Eliminating the risk entirely from the project.
Implementing actions to reduce the impact or probability of a risk occurring.
Ignoring the risk and hoping it won't affect the project.
Correct answer
Implementing actions to reduce the impact or probability of a risk occurring.
Which role in Agile is responsible for prioritizing and maintaining the product backlog, ensuring that the development team focuses on delivering the highest value features first?
Scrum Master
Product Owner
Stakeholder
Team Lead
Correct answer
Product Owner
In Agile project management, what is the purpose of a "daily stand-up" or "daily scrum" meeting?
To provide status updates to upper management.
To discuss long-term project planning.
To identify and address impediments to progress.
To review the final deliverables of the sprint.
Correct answer
To identify and address impediments to progress.
In the context of software design comprehension, what is the primary goal of VeriSIM?
To automatically generate code from design diagrams.
To assist developers in understanding and comprehending complex software designs.
To simulate user interactions with the software.
To identify and fix design flaws in existing software.
Correct answer
To assist developers in understanding and comprehending complex software designs.
Which Unified Modeling Language (UML) diagram is primarily used to depict the interactions between objects in a system?
Class diagram
Sequence diagram
State diagram
Use case diagram
Correct answer
Sequence diagram
In a UML "component diagram," what does a component represent?
A specific instance of a class.
A module, package, or subsystem that encapsulates related functionality.
A sequence of method calls.
A control flow within a system.
Correct answer
A module, package, or subsystem that encapsulates related functionality.
While debugging, a developer identifies the event responsible for causing an undesirable behavior and traces the data control flow forward until reaching the problematic state.
Which debugging approach/approaches did the developer employ from the following options?
Input manipulation
Reverse strategy
Forward strategy
Blackbox debugging
Correct answer
Forward strategy
Which type of software metrics assess code quality by considering parameters such as LOC, LLOC, SLOC, and others in the context of software development and maintenance?
Cyclomatic complexity
Raw metrics
Halstead’s metrics
Code smell
Correct answer
Raw metrics
Identify the statements that are true regarding debugging in software development:
Debugging is only necessary during the initial development phase.
Debugging involves identifying and fixing issues or defects in the code.
Debugging can be done without the use of debugging tools or breakpoints.
Code may run correctly during debugging but fail in production.
Correct answers
Debugging involves identifying and fixing issues or defects in the code.
Code may run correctly during debugging but fail in production.
The relationship between class Payment and class Order is association.
The relationship between class Payment and class UPIPayment is composition.
The relationship between class Order and class Item is inheritance.
The relationship between class Payment and class CardPayment is inheritance.
Correct answers
The relationship between class Payment and class Order is association.
The relationship between class Payment and class CardPayment is inheritance.
Select the design patterns that fall under the "Creational" category of design patterns:
Singleton
Factory Method
Adapter
Decorator
Observer
Correct answers
Singleton
Factory Method
Consider creating a class named Employee which has the following mandatory attributes: employee id, employee name, employee salary, and optional attributes TA and HRA.
Which design pattern(s) can significantly reduce the complexity of the code due to the use of telescopic constructors?
Factory design pattern
Builder design pattern
Adapter design pattern
Facade design pattern
Correct answer
Builder design pattern