MauryaHub PYQ Practice

Software Engineering · End Term · May 2026 · AN

Software Engineering · End Term · May 2026 AN

← Course papers · Start practice / exam

Questions and published explanations below are available without starting a test. Some questions may not have a published solution yet.

28 / 28 published solutions

Question 2 MCQ · 3.0 marks

An educational technology company plans to introduce an AI tutor. Before implementation, a team creates wireframes, interactive mock-ups, and usability prototypes. Teachers evaluate these prototypes and suggest improvements. Who is primarily responsible for these activities?
6406537407650.
Product Manager
6406537407651.
Designer
6406537407652.
Software Engineer
6406537407653.
Engineering Manager

Published solution

**1. Identify the role responsible for wireframes, mock-ups, and usability prototypes:** Creating user interface wireframes, interactive mock-ups, and usability prototypes to validate user experience before coding is the primary responsibility of the **Designer** (UI/UX Designer). **Answer: B — Designer.** A: **Incorrect:** Product Managers define product vision, roadmap, and business requirements. B: **Correct:** UI/UX Designers create wireframes, interactive mock-ups, and usability prototypes. C: **Incorrect:** Software Engineers implement and test the production code. D: **Incorrect:** Engineering Managers oversee the engineering team and technical delivery.

Report a correction for Q2

Question 3 MCQ · 3.0 marks

Which deployment environment directly serves real customers?
6406537407662.
Development
6406537407663.
Testing
6406537407664.
Production
6406537407665.
Staging

Published solution

**1. Distinguish deployment environments:** - **Development:** Used by developers while writing code. - **Testing / QA:** Used by testers to run automated and manual test suites. - **Staging:** Pre-production mirror used for final rehearsal before release. - **Production:** The live environment that **directly serves real end-users/customers**. **Answer: C — Production.** A: **Incorrect:** Development is used internally by engineers for coding. B: **Incorrect:** Testing is used internally by QA for verification. C: **Correct:** Production is the live environment serving real customers. D: **Incorrect:** Staging is a pre-release replica environment, not the live customer environment.

Report a correction for Q3

Question 4 MCQ · 3.0 marks

A company needs complete control over the server hardware, operating system, storage configuration, and networking because it runs highly customized software. Which hosting option is most suitable?
6406537407670.
Bare Metal Server
6406537407671.
Platform as a Service
6406537407672.
Infrastructure as a Service
6406537407673.
Shared Hosting

Published solution

**1. Compare hosting models by level of hardware control:** When an organization requires **complete control over physical server hardware, operating system kernel, storage configuration, and networking** without hypervisor virtualization overhead or multi-tenancy, a dedicated **Bare Metal Server** is the most suitable option. **Answer: A — Bare Metal Server.** A: **Correct:** Bare Metal Servers provide direct, unvirtualized access to physical server hardware, OS, storage, and networking. B: **Incorrect:** PaaS abstracts away both hardware and the operating system. C: **Incorrect:** IaaS provides virtualized machines where the cloud provider still controls the underlying physical hardware and hypervisor. D: **Incorrect:** Shared hosting shares a single server and OS across many customers with minimal control.

Report a correction for Q4

Question 5 MCQ · 3.0 marks

A software team has completed testing each individual function independently. The next step is to combine these functions and verify whether they interact correctly. Which level of testing is being performed?
6406537407674.
Unit Testing
6406537407675.
Integration Testing
6406537407676.
System Testing
6406537407677.
Acceptance Testing

Published solution

**1. Recall the levels of software testing:** 1. **Unit Testing:** Tests individual functions/classes in isolation. 2. **Integration Testing:** Combines tested units/functions and verifies that they **interact and exchange data correctly**. 3. **System Testing:** Tests the complete integrated system end-to-end. 4. **Acceptance Testing:** Validates the system against user/customer business requirements. **Answer: B — Integration Testing.** A: **Incorrect:** Unit testing tests individual functions in isolation, which has already been completed. B: **Correct:** Integration testing verifies the interfaces and interactions between combined functions/modules. C: **Incorrect:** System testing evaluates the entire end-to-end system after integration. D: **Incorrect:** Acceptance testing is performed to get final customer sign-off.

Report a correction for Q5

Question 6 MCQ · 3.0 marks

A software company is developing a hospital management system. During code review, the quality assurance team observes that certain functions contain several nested if, for, and while statements. These functions are difficult to understand, require more test cases, and are more likely to contain defects. The team wants to use a software metric whose value increases with the number of decision points in a function. Which metric is most appropriate?
6406537407706.
Halstead Metrics
6406537407707.
Raw Metrics
6406537407708.
Cyclomatic Complexity
6406537407709.
Branch Coverage

Published solution

**1. Match the software metric to decision points:** **McCabe's Cyclomatic Complexity** \( V(G) = P + 1 \) (where \( P \) is the number of predicate/decision points such as `if`, `for`, `while`) directly measures the number of linearly independent paths through a function and increases with every decision point. **Answer: C — Cyclomatic Complexity.** A: **Incorrect:** Halstead metrics count operators and operands rather than control-flow decision points. B: **Incorrect:** Raw metrics (like Lines of Code, LOC) measure size rather than branching complexity. C: **Correct:** Cyclomatic complexity equals `1 + number of decision points` and directly quantifies control-flow complexity. D: **Incorrect:** Branch coverage is a test adequacy criterion, not a static code complexity metric.

Report a correction for Q6

Question 7 MCQ · 3.0 marks

Which UML diagram primarily represents the interaction among objects over time?
6406537407722.
Class Diagram
6406537407723.
Sequence Diagram
6406537407724.
State Diagram
6406537407725.
Activity Diagram

Published solution

**1. Distinguish UML diagram types:** - **Sequence Diagram:** A behavioral interaction diagram that shows **how objects interact with each other via messages ordered over time** (along vertical lifelines). - **Class Diagram:** Shows static classes, attributes, and relationships. - **State Diagram:** Shows states and transitions of a single object. - **Activity Diagram:** Shows workflow/business process steps. **Answer: B — Sequence Diagram.** A: **Incorrect:** Class diagrams model static structure, not time-ordered object interactions. B: **Correct:** Sequence diagrams depict message exchanges between object lifelines over time. C: **Incorrect:** State diagrams model the lifecycle states of a single class/object. D: **Incorrect:** Activity diagrams model step-by-step workflows rather than object-to-object message timelines.

Report a correction for Q7

Question 8 MCQ · 3.0 marks

An online shopping website stores a customer's delivery address and preferred payment method so that future purchases require fewer interactions. Which usability goal is primarily improved?
6406537407742.
Safety
6406537407743.
Memorability
6406537407744.
Efficiency
6406537407745.
Effectiveness

Published solution

**1. Identify the usability goal:** Pre-filling a returning customer's saved delivery address and payment method reduces the number of clicks and keystrokes required to complete a purchase, which directly improves **Efficiency** (how quickly and with how little effort experienced users can perform tasks). **Answer: C — Efficiency.** A: **Incorrect:** Safety protects users from making dangerous errors. B: **Incorrect:** Memorability is how easily a user remembers how to use the interface after a period away. C: **Correct:** Reducing the number of interactions/steps to complete a task directly improves Efficiency. D: **Incorrect:** Effectiveness is whether users can achieve their goal accurately at all.

Report a correction for Q8

Question 9 MCQ · 3.0 marks

Every screen of an application uses the same font, color scheme, and placement of the Save button. Which heuristic is BEST illustrated?
6406537407746.
Consistency
6406537407747.
User control and freedom
6406537407748.
Recognition rather than recall
6406537407749.
Showing status

Published solution

**1. Match to Nielsen's usability heuristics:** Using the same font, color scheme, and button placement across every screen exemplifies **Consistency (Consistency and standards)**. **Answer: A — Consistency.** A: **Correct:** Maintaining uniform visual styling and button placement across screens is Consistency. B: **Incorrect:** User control and freedom refers to providing Undo, Redo, and Cancel options. C: **Incorrect:** Recognition rather than recall refers to making options visible so users don't have to memorize commands. D: **Incorrect:** Showing status (visibility of system status) refers to progress bars and feedback indicators.

Report a correction for Q9

Question 10 MCQ · 4.0 marks

A software company is developing an online banking application. During the weekly project review, the project manager asks: ● How many defects are still open? ● Which developer is currently assigned to each defect? ● Which defects have the highest priority? ● How long has each defect remained unresolved? Which tool is most suitable for obtaining this information?
6406537407654.
IDE
6406537407655.
Version Control System
6406537407656.
Deployment Tool
6406537407657.
Issue Tracking Tool

Published solution

**1. Identify the software engineering tool:** An **Issue Tracking Tool** (or Bug/Defect Tracker, such as Jira, Bugzilla, or GitHub Issues) records open defects, assignee developers, priority/severity levels, and defect age/status. **Answer: D — Issue Tracking Tool.** A: **Incorrect:** An IDE (Integrated Development Environment) is used for writing and debugging code. B: **Incorrect:** A Version Control System (like Git) tracks source code commits and branches. C: **Incorrect:** A Deployment Tool automates releasing builds to servers. D: **Correct:** An Issue Tracking Tool tracks defect counts, assignees, priorities, and resolution times.

Report a correction for Q10

Question 11 MCQ · 4.0 marks

A banking application is currently running in Production Environment A. The development team deploys the new version to Production Environment B without interrupting the existing service. After successful validation, all user traffic is redirected to Environment B. Which deployment strategy is being used?
6406537407666.
Canary Deployment
6406537407667.
Blue-Green Deployment
6406537407668.
Versioned Deployment
6406537407669.
None of these

Published solution

**1. Identify the deployment strategy:** Maintaining two identical production environments (**Blue / Environment A** serving live traffic and **Green / Environment B** hosting the new version), validating Environment B, and then switching all user traffic over from A to B is **Blue-Green Deployment**. **Answer: B — Blue-Green Deployment.** A: **Incorrect:** Canary deployment gradually routes a small percentage (e.g., 5%) of traffic to the new version first. B: **Correct:** Running two parallel production environments and switching router traffic from A to B after validation is Blue-Green Deployment. C: **Incorrect:** Versioned deployment maintains multiple API/app versions concurrently for different clients. D: **Incorrect:** Option B is the exact deployment pattern.

Report a correction for Q11

Question 12 MCQ · 4.0 marks

A software team waits until all modules have been implemented before integrating them together in a single step. Which integration strategy is being used?
6406537407686.
Top-Down Integration
6406537407687.
Bottom-Up Integration
6406537407688.
Big Bang Integration
6406537407689.
Sandwich Integration

Published solution

**1. Identify the integration testing strategy:** Waiting until all modules are completed and combining all of them together at once in a single step is called **Big Bang Integration**. **Answer: C — Big Bang Integration.** A: **Incorrect:** Top-down integration integrates incrementally from the top control module downward using stubs. B: **Incorrect:** Bottom-up integration integrates incrementally from low-level utility modules upward using drivers. C: **Correct:** Combining all modules simultaneously after all are coded is Big Bang Integration. D: **Incorrect:** Sandwich integration combines incremental top-down and bottom-up integration.

Report a correction for Q12

Question 13 MCQ · 4.0 marks

A software team wants to achieve the following objectives: 1. Verify that every functional requirement is implemented correctly. 2. Ensure that every branch of the source code has been executed at least once. Which combination of testing techniques is most appropriate?
6406537407690.
Black-box Testing for (1) and White-box Testing for (2)
6406537407691.
White-box Testing for (1) and Black-box Testing for (2)
6406537407692.
Black-box Testing for both (1) and (2)
6406537407693.
White-box Testing for both (1) and (2)

Published solution

**1. Match each objective to Black-box vs. White-box testing:** 1. Verifying that every **functional requirement** works from the external specification (without looking at internal code) is **Black-box Testing**. 2. Ensuring that every **branch of the source code** is executed requires inspecting the internal control flow, which is **White-box Testing**. **Answer: A — Black-box Testing for (1) and White-box Testing for (2).** A: **Correct:** Functional requirement verification is Black-box testing, and code branch coverage is White-box testing. B: **Incorrect:** Reverses the definitions of Black-box and White-box testing. C: **Incorrect:** Branch coverage cannot be measured by pure Black-box testing. D: **Incorrect:** Functional requirements validation against specifications is Black-box testing.

Report a correction for Q13

Question 14 MCQ · 4.0 marks

A software company develops an online marketplace that sells both physical products (books, electronics) and digital products (e-books, software licenses). All products are required to implement the following interface.
Source diagram or notation
When implementing the EBook class, the developers realize that the methods packageOrder() and deliver() are never used. To satisfy the interface, they leave these methods empty. Which SOLID principle is most directly violated by this design?
6406537407694.
Single Responsibility Principle
6406537407695.
Open-Closed Principle
6406537407696.
Interface Segregation Principle
6406537407697.
Dependency Inversion Principle

Published solution

**1. Recall the Interface Segregation Principle (ISP):** The **Interface Segregation Principle** states that *clients should not be forced to depend upon interfaces (or implement methods) that they do not use*. Forcing `EBook` to implement physical shipping methods (`packageOrder()` and `deliver()`) as empty dummy methods directly violates ISP. **Answer: C — Interface Segregation Principle.** A: **Incorrect:** SRP concerns a class having a single reason to change, whereas the issue here is a fat interface forcing unused methods on implementers. B: **Incorrect:** OCP concerns extending behavior without modifying existing code. C: **Correct:** Forcing `EBook` to implement unused `packageOrder()` and `deliver()` methods from a bloated interface violates the Interface Segregation Principle. D: **Incorrect:** DIP concerns depending on abstractions rather than concrete classes.

Report a correction for Q14

Question 15 MCQ · 4.0 marks

A movie-ticket booking application currently supports payments through Credit Card, UPI, and Net Banking. The booking module creates payment objects directly as shown below.
Source diagram or notation
The company plans to introduce Apple Pay, Google Pay, and additional payment methods in future releases. During code reviews, the architects observe that every new payment method requires changes to the booking module, increasing maintenance effort and the possibility of introducing defects. Which design pattern would best improve extensibility by separating object creation from the booking module?
6406537407698.
Builder
6406537407699.
Observer
6406537407700.
Factory
6406537407701.
Facade

Published solution

**1. Identify the creational design pattern:** Encapsulating the `if/else` object instantiation logic (`new CreditCardPayment()`, `new UPIPayment()`, etc.) inside a dedicated creator component so the booking module works through a common `Payment` interface without directly instantiating concrete payment classes is the **Factory** (Factory Method / Simple Factory) pattern. **Answer: C — Factory.** A: **Incorrect:** Builder is used for step-by-step construction of a single complex object with many optional parameters. B: **Incorrect:** Observer is a behavioral pattern for one-to-many event notification. C: **Correct:** The Factory pattern delegates and centralizes object creation based on payment type, decoupling the booking module from concrete payment classes. D: **Incorrect:** Facade is a structural pattern that provides a simplified interface to a complex subsystem.

Report a correction for Q15

Question 16 MCQ · 4.0 marks

Consider the following sequence.
Source diagram or notation
Which statement is correct?
6406537407702.
The remote repository has already been updated.
6406537407703.
Only the local repository contains the new commit.
6406537407704.
The file is still in the staging area.
6406537407705.
The commit was rejected because
Source diagram or notation
was missing.

Published solution

**1. Trace the Git commands (`git add` and `git commit` without `git push`):** - `git add app.py` stages the file in the local index (staging area). - `git commit -m "..."` records the staged snapshot into the **local repository** commit history. - Because **`git push` has NOT been run**, the remote repository has not been updated yet; **only the local repository contains the new commit**. **Answer: B — Only the local repository contains the new commit.** A: **Incorrect:** Updating the remote repository requires running `git push`. B: **Correct:** `git commit` saves the commit locally; without `git push`, it exists only in the local repository. C: **Incorrect:** `git commit` has already committed the staged changes into the local repository. D: **Incorrect:** `git commit` succeeds locally without `git push`.

Report a correction for Q16

Question 17 MCQ · 4.0 marks

A software team has two output files: ● one generated from a correct execution, ● another generated from an incorrect execution. They use a tool to compare the two files line by line to identify where the outputs begin to differ. Which debugging technique is being applied?
6406537407710.
Logging
6406537407711.
Dump and Diff
6406537407712.
Profiling
6406537407713.
Stepping in debugger

Published solution

**1. Identify the debugging technique:** Saving (dumping) program state/output from a working run and a failing run into files and using a comparison tool (`diff`) to pinpoint where they diverge is called **Dump and Diff**. **Answer: B — Dump and Diff.** A: **Incorrect:** Logging prints runtime trace messages during a single execution rather than diffing good vs. bad output dumps. B: **Correct:** Comparing output dumps from a passing run and a failing run line-by-line is Dump and Diff. C: **Incorrect:** Profiling measures CPU time and memory usage to find performance bottlenecks. D: **Incorrect:** Stepping in a debugger executes instructions interactively one line at a time.

Report a correction for Q17

Question 18 MCQ · 4.0 marks

A module receives sensor readings, filters out noisy values, computes the average, and stores the computed result in the database. The output of each step becomes the input of the next. Which type of cohesion is exhibited?
6406537407714.
Communicational cohesion
6406537407715.
Sequential cohesion
6406537407716.
Coincidental Cohesion
6406537407717.
Procedural Cohesion

Published solution

**1. Recall types of module cohesion:** When the activities inside a module are organized as a pipeline such that **the output data of one step serves directly as the input data to the next step** (receive readings \( \to \) filter noise \( \to \) compute average \( \to \) store result), the module exhibits **Sequential cohesion**. **Answer: B — Sequential cohesion.** A: **Incorrect:** Communicational cohesion occurs when multiple independent steps operate on the same input/output data record without forming a pipeline. B: **Correct:** When the output of each step is the input to the next step, it is Sequential cohesion. C: **Incorrect:** Coincidental cohesion is when unrelated tasks are grouped arbitrarily. D: **Incorrect:** Procedural cohesion is when steps follow a control sequence without passing data from one to the next.

Report a correction for Q18

Question 19 MCQ · 4.0 marks

In the Agile Scrum framework, the Product Backlog is primarily derived from
6406537407726.
Source code
6406537407727.
User stories and requirements
6406537407728.
Test reports
6406537407729.
UML diagrams

Published solution

**1. Recall the Product Backlog in Agile Scrum:** The **Product Backlog** is an ordered list of everything that is known to be needed in the product, primarily derived from **user stories and requirements** gathered from stakeholders. **Answer: B — User stories and requirements.** A: **Incorrect:** Source code is produced during sprints to implement backlog items. B: **Correct:** The Product Backlog consists of prioritized user stories, features, and requirements. C: **Incorrect:** Test reports are generated during verification. D: **Incorrect:** UML diagrams are design artifacts, not the source of the Product Backlog.

Report a correction for Q19

Question 20 MCQ · 4.0 marks

A project manager assesses the following risks for a software project.
Source diagram or notation
If the project manager prioritizes risks based on their risk scores, which of the following risks should receive the **lowest priority**?
6406537407730.
R1
6406537407731.
R2
6406537407732.
R3
6406537407733.
R4

Published solution

**1. Compute the Risk Score (\( \text{Risk Exposure} = \text{Probability} \times \text{Impact} \)) for each risk:** From the risk table: - **R1:** \( 0.40 \times 4 = 1.60 \) - **R2:** \( 0.25 \times 5 = 1.25 \) - **R3:** \( 0.50 \times 3 = 1.50 \) - **R4:** \( 0.30 \times 2 = 0.60 \) **2. Identify the lowest-priority risk:** **R4** has the smallest risk score (\( 0.60 \)) and therefore receives the **lowest priority**. **Answer: D — R4.** A: **Incorrect:** R1 has the highest risk score (\( 0.40 \times 4 = 1.60 \)), so it has the highest priority. B: **Incorrect:** R2 has risk score \( 0.25 \times 5 = 1.25 > 0.60 \). C: **Incorrect:** R3 has risk score \( 0.50 \times 3 = 1.50 > 0.60 \). D: **Correct:** R4 has the lowest risk exposure (\( 0.30 \times 2 = 0.60 \)), giving it the lowest priority.

Report a correction for Q20

Question 21 MCQ · 4.0 marks

A software analyst is developing a billing system for a supermarket. Instead of asking cashiers how they perform billing, the analyst spends two days watching them process customers, recording the sequence of activities and noting the problems they encounter. Which requirement gathering technique is primarily being used?
6406537407750.
Questionnaire
6406537407751.
Documentation
6406537407752.
Naturalistic Observation
6406537407753.
Structured Interview

Published solution

**1. Identify the requirement elicitation technique:** Watching users (supermarket cashiers) perform their actual work in their real working environment without interfering is **Naturalistic Observation** (ethnographic/field observation). **Answer: C — Naturalistic Observation.** A: **Incorrect:** No written survey/questionnaire was distributed. B: **Incorrect:** The analyst observed live work rather than reading existing manuals. C: **Correct:** Passively observing users in their natural workplace environment is Naturalistic Observation. D: **Incorrect:** The analyst explicitly observed cashiers rather than interviewing them with questions.

Report a correction for Q21

Question 22 MCQ · 4.0 marks

A user story states: "The checkout page should load quickly." The team revises it to: "The checkout page should load within 2 seconds for 95% of user requests." Which SMART characteristic has been improved?
6406537407754.
Specific
6406537407755.
Measurable
6406537407756.
Relevant
6406537407757.
Achievable

Published solution

**1. Compare the original and revised requirement against SMART criteria:** - Original: *'The checkout page should load quickly.'* (vague, unquantified) - Revised: *'The checkout page should load **within 2 seconds for 95% of user requests**.'* Replacing the subjective word *'quickly'* with a concrete quantitative threshold (*within 2 seconds for 95% of requests*) makes the requirement objectively **Measurable**. **Answer: B — Measurable.** A: **Incorrect:** Both statements specify the checkout page loading; the key change is adding a quantifiable metric. B: **Correct:** Adding 'within 2 seconds for 95% of user requests' provides a verifiable quantitative metric, making it Measurable. C: **Incorrect:** Relevance to business goals was not the property changed. D: **Incorrect:** Adding a numerical metric primarily addresses Measurability.

Report a correction for Q22

Question 23 MCQ · 4.0 marks

A team has finalized the requirements for an online payment system. They are now deciding how different modules such as Payment Gateway, User Authentication, and Order Management will interact with each other and are preparing architecture diagrams. Which SDLC phase is the team currently in?
6406537407758.
Requirements Specification
6406537407759.
Design
6406537407760.
Development
6406537407761.
Maintenance

Published solution

**1. Identify the SDLC phase:** After requirements are finalized, defining module decompositions (`Payment Gateway`, `User Authentication`, `Order Management`), their interfaces/interactions, and preparing **architecture diagrams** takes place in the **Design** phase. **Answer: B — Design.** A: **Incorrect:** Requirements Specification has already been finalized. B: **Correct:** Defining module interactions and system architecture diagrams is the Design phase. C: **Incorrect:** Development (coding) follows architectural and detailed design. D: **Incorrect:** Maintenance occurs after deployment.

Report a correction for Q23

Question 24 MSQ · 3.0 marks

A company needs to send promotional emails to 5 million customers. Which reasons justify using an asynchronous task queue?
6406537407658.
Users need not wait until every email is sent.
6406537407659.
Multiple workers can process jobs simultaneously.
6406537407660.
Email sending becomes part of the HTTP response.
6406537407661.
Worker pool size can be increased during heavy load.

Published solution

**1. Evaluate why an asynchronous task queue is used for bulk email sending:** - **Option A:** By enqueueing email jobs asynchronously, the web server can respond immediately without making users wait for 5 million emails to be sent. **True.** - **Option B:** Background worker processes can pull jobs from the queue in parallel to process emails simultaneously. **True.** - **Option C:** False! Asynchronous queues *decouple* email sending from the HTTP request/response cycle. - **Option D:** The number of background workers can be scaled up dynamically during peak campaigns. **True.** **Answer: A, B, and D.** A: **Correct:** Offloading long-running tasks to a background queue keeps user-facing responses fast. B: **Correct:** Multiple worker processes can consume tasks from the queue concurrently. C: **Incorrect:** Asynchronous queues remove email sending from the synchronous HTTP response path. D: **Correct:** Worker pools can be horizontally scaled up or down based on queue backlog.

Report a correction for Q24

Question 25 MSQ · 3.0 marks

Consider the following code base in Python to answer the given subquestions.
Source diagram or notation
Identify the sets of valid test cases for Branch Coverage.
6406537407678.
{(-100, False), (6000, True), (2000, False)}
6406537407679.
{(6000, True), (2000, False)}
6406537407680.
{(12000, False), (6000, False), (6000, True)}
6406537407681.
{(12000, False), (2000, False)}

Published solution

**1. Analyze the branches in `calculate_discount(amount, is_member)`:** From the Python function: ```python if amount <= 0 or amount > 10000: return "Invalid" if amount > 5000 and is_member: return amount * 0.8 return amount * 0.9 ``` To achieve 100% **Branch Coverage**, we must exercise Both True and False outcomes of the 1st `if` AND both True and False outcomes of the 2nd `if`: 1. `amount <= 0 or amount > 10000` is **True** (e.g., `(-100, False)` or `(12000, False)`). 2. `amount <= 0 or amount > 10000` is **False**, and `amount > 5000 and is_member` is **True** (e.g., `(6000, True)`). 3. `amount <= 0 or amount > 10000` is **False**, and `amount > 5000 and is_member` is **False** (e.g., `(2000, False)` or `(6000, False)`). Both **Option A (`{(-100, False), (6000, True), (2000, False)}`)** and **Option C (`{(12000, False), (6000, False), (6000, True)}`)** cover all three paths (and all four branches). **Answer: A and C.** A: **Correct:** Covers the 1st `if` True (`-100`), 2nd `if` True (`6000, True`), and 2nd `if` False (`2000, False`). B: **Incorrect:** Never makes the 1st `if` (`amount <= 0 or amount > 10000`) True. C: **Correct:** Covers the 1st `if` True (`12000`), 2nd `if` False (`6000, False`), and 2nd `if` True (`6000, True`). D: **Incorrect:** Never makes the 2nd `if` (`amount > 5000 and is_member`) True.

Report a correction for Q25

Question 26 MSQ · 3.0 marks

Consider the following code base in Python to answer the given subquestions.
Source diagram or notation
Identify the sets of valid test cases for Multiple Condition Coverage.
6406537407682.
{(6000, True), (6000, False), (2000, False)}
6406537407683.
{(-100, False), (6000, True), (2000, False)}
6406537407684.
{(-100, False), (12000, False), (6000, True), (6000, False), (2000, False)}
6406537407685.
{(12000, False), (6000, True)}

Published solution

**1. Analyze Multiple Condition Coverage for `calculate_discount(amount, is_member)`:** To cover all feasible combinations of atomic conditions in: - Decision 1 (`amount <= 0` or `amount > 10000`): requires `(T, F)` via `(-100, False)`, `(F, T)` via `(12000, False)`, and `(F, F)` via `0 < amount <= 10000`. - Decision 2 (`amount > 5000` and `is_member`): requires `(T, T)` via `(6000, True)`, `(T, F)` via `(6000, False)`, and `(F, F)` via `(2000, False)`. **Option C (`{(-100, False), (12000, False), (6000, True), (6000, False), (2000, False)}`)** includes all 5 test cases needed to exercise every feasible atomic condition combination. **Answer: C.** A: **Incorrect:** Does not test either `amount <= 0` or `amount > 10000` being True. B: **Incorrect:** Only has 3 test cases, missing `amount > 10000` (`12000`) and `(6000, False)`. C: **Correct:** Includes all 5 test cases required to cover all feasible condition combinations of both compound predicates. D: **Incorrect:** Misses `amount <= 0`, `(6000, False)`, and `(2000, False)`.

Report a correction for Q26

Question 27 MSQ · 4.0 marks

A university is designing a course registration system. The requirements are: ● Students can enroll in multiple courses. ● A course can have multiple students. ● UndergraduateStudent and PostgraduateStudent share common attributes such as roll number and name. ● Both student types are specialized versions of Student. Which of the following relationships should appear in the UML class diagram?
6406537407718.
Association between Student and Course
6406537407719.
Generalization (Inheritance) between Student and UndergraduateStudent
6406537407720.
Composition between Student and Course
6406537407721.
Generalization (Inheritance) between **Student** and **PostgraduateStudent**

Published solution

**1. Map the domain requirements to UML Class Diagram relationships:** - *'Students can enroll in multiple courses' and 'A course can have multiple students':* This is a many-to-many **Association between `Student` and `Course`** (**Option A is true**; it is NOT composition (Option C) because courses and students have independent lifecycles). - *'`UndergraduateStudent` and `PostgraduateStudent` are specialized versions of `Student` sharing common attributes':* This is an 'is-a' **Generalization (Inheritance)** relationship between `Student` and `UndergraduateStudent` (**Option B is true**) and between `Student` and `PostgraduateStudent` (**Option D is true**). **Answer: A, B, and D.** A: **Correct:** Enrollment between `Student` and `Course` is a many-to-many Association. B: **Correct:** `UndergraduateStudent` is a specialized subclass of `Student` (Generalization/Inheritance). C: **Incorrect:** Composition implies strong whole-part ownership where destroying one destroys the other, which does not apply to Students and Courses. D: **Correct:** `PostgraduateStudent` is a specialized subclass of `Student` (Generalization/Inheritance).

Report a correction for Q27

Question 28 MCQ · 4.0 marks

A software company is developing the control software for an autonomous railway signalling system. The software must satisfy stringent safety requirements, operate under strict hardware constraints, and support real-time communication with multiple external devices. Any failure of the software may lead to severe operational consequences. The estimated software size is 40 KLOC. The constants for the three COCOMO project categories are given below.
Source diagram or notation
Based on the project description answer the given subquestions.
What is the initial effort estimate?
6406537407734.
186.8 PM
6406537407735.
114.6 PM
6406537407736.
247.5 PM
6406537407737.
301.2 PM

Published solution

**1. Identify the COCOMO project mode:** The project is control software for an **autonomous railway signalling system** with stringent safety requirements, strict hardware constraints, and real-time communication. This is a classic **Embedded** mode project (\( a = 3.6,\ b = 1.20 \)). **2. Calculate the initial (nominal) effort \( E_{\text{initial}} = a \times (\text{KLOC})^b \):** For \( \text{KLOC} = 40 \): \[ E_{\text{initial}} = 3.6 \times (40)^{1.20} \approx 3.6 \times 83.651 = 301.14 \approx 301.2 \text{ PM} \] **Answer: D — 301.2 PM.** A: **Incorrect:** `186.8 PM` uses the Semi-detached mode constants (\( 3.0 \times 40^{1.12} \)). B: **Incorrect:** `114.6 PM` uses the Organic mode constants (\( 2.4 \times 40^{1.05} \)). C: **Incorrect:** Does not match \( 3.6 \times 40^{1.20} \). D: **Correct:** For an Embedded project of 40 KLOC, \( E = 3.6 \times 40^{1.20} \approx 301.2 \text{ PM} \).

Report a correction for Q28

Question 29 MCQ · 3.0 marks

A software company is developing the control software for an autonomous railway signalling system. The software must satisfy stringent safety requirements, operate under strict hardware constraints, and support real-time communication with multiple external devices. Any failure of the software may lead to severe operational consequences. The estimated software size is 40 KLOC. The constants for the three COCOMO project categories are given below.
Source diagram or notation
Based on the project description answer the given subquestions.
The project manager determines the following cost-driver multipliers.
Source diagram or notation
What is the final effort estimate?
6406537407738.
301.8 PM
6406537407739.
358.9 PM
6406537407740.
379.5 PM
6406537407741.
512.4 PM

Published solution

**1. Compute the Effort Adjustment Factor (EAF):** Multiplying the four given cost-driver multipliers (\( 1.40,\ 1.15,\ 0.86,\ 0.91 \)): \[ \text{EAF} = 1.40 \times 1.15 \times 0.86 \times 0.91 = 1.61 \times 0.7826 = 1.259986 \] **2. Multiply the initial effort by the EAF:** \[ E_{\text{final}} = E_{\text{initial}} \times \text{EAF} = 301.2 \times 1.259986 \approx 379.5 \text{ PM} \] **Answer: C — 379.5 PM.** A: **Incorrect:** Does not apply the net EAF multiplier `1.26`. B: **Incorrect:** Miscalculates the product of the four cost drivers. C: **Correct:** \( 301.2 \times (1.40 \times 1.15 \times 0.86 \times 0.91) \approx 379.5 \text{ PM} \). D: **Incorrect:** Overestimates the effort adjustment factor.

Report a correction for Q29