Software Engineering · End Term · Jan 2026 · AN
Software Engineering · End Term · Jan 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.
25 / 25 published solutions
A developer wants to understand why a function was written in a particular way but the original
developer has left the company. The information is missing.
Which best practice was ignored?
Version control
Knowledge documentation
Code refactoring
Development tools
**1. Identify what is missing:** The question is not simply which code changed, but why a design decision was made.
**2. Preserve the rationale:** Knowledge documentation records design choices, assumptions and reasons so future maintainers can understand them when the original author is unavailable. Commit messages can help, but merely having version control does not guarantee that rationale was recorded.
**Answer: B.**
A: **Incorrect:** Version control preserves revisions, but does not by itself document design reasoning.
B: **Correct:** Documentation transfers the rationale beyond the original developer.
C: **Incorrect:** Refactoring changes code structure; it does not recover undocumented reasons.
D: **Incorrect:** Tools do not substitute for recording the relevant knowledge.
Question 3 MCQ · 4.0 marks
A software company wants to build a new Seller Portal. Before writing any code, a team studies
competitors, identifies what sellers need, and checks market demand.
Which role is primarily responsible for this activity?
Software Engineer
Marketing Team
Support Team
Engineering Manager
Published solution
**1. Classify the activity:** Competitor study, customer demand and market needs concern product-market research before implementation.
**2. Match the listed role:** Among the options, the Marketing Team is the primary fit. Product managers and analysts may also participate in real organizations, but they are not offered here. The engineers mainly turn the selected needs into a technical design and implementation.
**Answer: B.**
A: **Incorrect:** Engineering primarily designs and builds the technical solution.
B: **Correct:** Market and competitor research match the activity described.
C: **Incorrect:** Support primarily helps existing customers and handles issues.
D: **Incorrect:** An engineering manager coordinates engineering delivery rather than primarily owning market research.
Question 4 MCQ · 4.0 marks
A software team wants to run integration tests and system tests and automatically remove faulty
code and roll back if a test fails.
Which environment is primarily used for this?
Development
Testing
Staging
Production
Published solution
**1. Identify the immediate purpose:** The team wants to execute integration and system tests before accepting faulty code into a release.
**2. Use the testing environment:** A controlled testing environment is used to run these automated checks. Pipeline automation can reject or revert a failed build. Staging often supplies a production-like final rehearsal, but the described primary activity is testing, not serving live customers.
**Answer: B.**
A: **Incorrect:** Development is primarily for implementing and locally exercising changes.
B: **Correct:** This environment is dedicated to the integration/system validation described.
C: **Incorrect:** Staging emphasizes production-like pre-release validation; the general dedicated test environment is the intended answer.
D: **Incorrect:** Running this process on the live customer environment is not the primary testing setup described.
Question 5 MCQ · 4.0 marks
A company releases a new version of its website to only 5% of users first, monitors its behavior,
and later rolls it out to everyone.
Which strategy is this?
Blue-green deployment
Canary deployment
Version deployment
None of these
Published solution
**1. Notice the exposure percentage:** Only 5% of users initially receive the new release. The team observes real behavior before expanding access.
**2. Identify the rollout:** This is a canary deployment. A small initial audience limits the impact of defects and provides evidence before a wider rollout. Blue-green instead maintains two complete deployment environments and typically switches traffic between them.
**Answer: B.**
A: **Incorrect:** Blue-green is defined by parallel environments, not this gradual small-user rollout.
B: **Correct:** The small monitored initial rollout is the defining canary feature.
C: **Incorrect:** Version deployment is a generic phrase, not the specific strategy.
D: **Incorrect:** Canary is explicitly available and matches the scenario.
Question 6 MCQ · 4.0 marks
A startup rents a virtual machine with 2 CPU cores and 8 GB RAM from AWS and installs its own
web server and database.
This is an example of:
Bare-metal server
Platform as a Service
Infrastructure as a Service
Software as a Service
Published solution
**1. Identify the rented resource:** The startup obtains a virtual machine with specified CPU and RAM.
**2. Identify management responsibility:** It installs and manages its own web server and database on that VM. The provider supplies infrastructure rather than a fully managed application platform or finished software. This is Infrastructure as a Service.
**Answer: C.**
A: **Incorrect:** A virtual machine is not a dedicated bare-metal machine.
B: **Incorrect:** PaaS generally abstracts more of the server/runtime management.
C: **Correct:** The provider rents computing infrastructure while the customer manages installed software.
D: **Incorrect:** SaaS supplies an application to use rather than a VM to administer.
Question 7 MCQ · 4.0 marks
A website responds very slowly when thousands of users request the same product page. The
team stores the result of this query in memory so that future requests are served faster.
Which technique is being used?
Compression
Caching
Task queue
Load balancing
Published solution
**1. Find the repeated work:** Many requests need the same product-page query result. Recomputing or refetching it every time wastes resources.
**2. Reuse a saved result:** Keeping the result in fast memory lets later requests use a cached copy. This is caching. A practical cache also needs expiry or invalidation so product changes do not leave stale results indefinitely.
**Answer: B.**
A: **Incorrect:** Compression reduces representation size rather than reusing computed query results.
B: **Correct:** Caching stores a reusable result for faster future reads.
C: **Incorrect:** A task queue schedules work; it does not by itself reuse its result.
D: **Incorrect:** Load balancing distributes requests across servers rather than storing query results.
Question 8 MCQ · 4.0 marks
Which of the following best describes system testing?
Testing individual modules
Testing interfaces between modules
Testing code written by one developer
Testing the fully integrated software system
Published solution
**1. Identify the testing level:** Unit testing checks individual units, and integration testing checks interactions between combined components.
**2. Move to the complete system:** System testing evaluates the fully integrated software against system requirements, such as complete user workflows and expected overall behavior. Its scope is not determined by which developer wrote the code.
**Answer: D.**
A: **Incorrect:** Individual-module testing is unit testing.
B: **Incorrect:** Interface/intermodule behavior is the focus of integration testing.
C: **Incorrect:** Developer identity does not define a testing level.
D: **Correct:** System testing exercises the complete integrated system.
Question 9 MCQ · 4.0 marks
A banking application has five modules. Each module has already passed unit testing. The team
integrates all five modules at once and then starts testing the full system. When a failure occurs, it
is very difficult to find which module caused it.
Which integration testing approach was used?
Top-down
Bottom-up
Big-bang
Mixed
Published solution
**1. Observe integration timing:** The modules are all combined at once after separate unit tests. No incremental subsystem integration is described.
**2. Name the approach:** Big-bang integration combines everything together before testing the interactions. Because many interfaces become active simultaneously, a failure can be difficult to isolate to a particular module or interface.
**Answer: C.**
A: **Incorrect:** Top-down integrates progressively from higher-level modules.
B: **Incorrect:** Bottom-up starts with lower-level modules and combines them progressively.
C: **Correct:** Combining all modules in one step is big-bang integration.
D: **Incorrect:** A mixed approach would combine deliberate top-down and bottom-up integration.
Question 10 MCQ · 4.0 marks
Consider the Python function below.
What is the cyclomatic complexity of function
?
2
3
4
5
Published solution
**1. Count decisions:** The function tests x>0 and, inside that branch, x modulo 2==0. These are two binary decisions.
**2. Use the decision formula:** For this single connected routine, cyclomatic complexity equals number of decision points+1. Therefore V=2+1=3. Else clauses are alternative branches of existing decisions, not new decisions themselves.
**3. Identify independent paths:** The paths produce A for positive even x, B for positive odd x, and C for nonpositive x. Inputs 2,1,0 illustrate the three paths.
**Answer: B.**
A: **Incorrect:** This counts only the two decision nodes and misses the baseline path.
B: **Correct:** Two decisions plus one gives complexity 3.
C: **Incorrect:** Else does not introduce an additional independent condition.
D: **Incorrect:** There are not four decision points in the shown function.
Question 11 MCQ · 4.0 marks
Consider the Python function below.
Which inputs belong to the same equivalence class?
{2, 4, 6}
{2, 3, 4}
{1, 2, 3}
{0, 1}
Published solution
**1. Identify behavior classes:** check(n) returns 'Even' when n modulo 2 is zero and 'Odd' otherwise. The relevant equivalence classes are even integers and odd integers.
**2. Test each group:** 2,4,6 all take the Even branch. Every other proposed set mixes at least one even with one odd input, so its members do not all have the same branch behavior.
**Answer: A.**
A: **Correct:** All three inputs are even and follow the same behavior.
B: **Incorrect:** 3 is odd while 2 and 4 are even.
C: **Incorrect:** 1 and 3 are odd while 2 is even.
D: **Incorrect:** 0 is even and 1 is odd.
Question 12 MCQ · 4.0 marks
A development team builds a simplified working version of a system with limited functionality to
help customers understand what they actually need. This version is discarded later.
Which model does this describe?
Waterfall model
Prototype model
Spiral model
Build-and-fix model
Published solution
**1. Identify the purpose:** The simplified working version helps users discover and clarify their needs before the final system is built.
**2. Use the disposal detail:** Because this preliminary version is discarded, it is a throwaway prototype. Its main value is requirement discovery, not becoming the finished production implementation.
**Answer: B.**
A: **Incorrect:** Waterfall is a sequential lifecycle, not specifically a disposable requirement-discovery version.
B: **Correct:** A throwaway prototype is built to learn and then discarded.
C: **Incorrect:** Spiral is a risk-driven iterative lifecycle rather than the specific prototype described.
D: **Incorrect:** Build-and-fix lacks the deliberate requirement-learning purpose stated here.
Question 13 MCQ · 4.0 marks
A seller requests the ability to
but does not specify whether this includes
shipped, returned, or in-transit orders.
This requirement is best described as:
Ambiguous
Inconsistent
Incomplete
Invalid
Published solution
**1. Identify the missing scope:** 'Track orders' does not say which order states are included, such as shipped, returned or in-transit orders.
**2. Distinguish defects:** The problem specifically highlights omitted coverage details, making the requirement incomplete. Ambiguity means multiple interpretations; inconsistency means contradictory requirements. In real reviews incompleteness can also create ambiguity, but incomplete is the best match to the omission emphasized here.
**Answer: C.**
A: **Incorrect:** Ambiguity may result, but the stated defect is missing coverage information.
B: **Incorrect:** No two mutually conflicting requirements are supplied.
C: **Correct:** The list of covered order states is missing.
D: **Incorrect:** Nothing establishes that order tracking itself is invalid.
Question 14 MCQ · 4.0 marks
Different sales managers from various industries discuss their expectations from a seller portal.
Some emphasize daily sales, while others prefer monthly summaries.
Which technique best helps identify consensus and conflicts?
Interviews
Questionnaires
Focus groups
Documentation analysis
Published solution
**1. Identify the need:** Stakeholders have differing priorities, so the team needs a shared discussion that reveals both agreement and conflict.
**2. Use a facilitated group:** Focus groups allow participants to respond to one another, compare needs and expose differences such as daily versus monthly summaries. Individual interviews and questionnaires gather views but do not themselves provide that direct group interaction.
**Answer: C.**
A: **Incorrect:** Interviews primarily collect individual views rather than this shared discussion.
B: **Incorrect:** Questionnaires collect structured responses without live negotiation.
C: **Correct:** A facilitated discussion among stakeholders exposes consensus and conflicting preferences.
D: **Incorrect:** Documents show existing recorded information rather than facilitating the described conversation.
Question 15 MCQ · 4.0 marks
A development team realizes that a user story cannot be completed within a single 2-week sprint.
They divide it into smaller stories.
Which SMART characteristic does this decision address?
Specific
Measurable
Relevant
Achievable
Published solution
**1. Identify the obstacle:** The story is too large to finish within the available sprint capacity.
**2. Make the work feasible:** Splitting it into smaller deliverable stories addresses Achievable: each piece should be realistic within the team's time and resources. Sprint length also supplies a time boundary, but among the listed SMART terms the feasibility problem is Achievable.
**Answer: D.**
A: **Incorrect:** Specific concerns clarity of the objective, not primarily its feasibility.
B: **Incorrect:** Measurable concerns how success is assessed.
C: **Incorrect:** Relevant concerns alignment with broader goals.
D: **Correct:** The split makes the work realistically completable in the sprint.
Question 16 MCQ · 4.0 marks
A word processor places the “Save” and “Close” buttons far apart to reduce accidental file closure.
Which usability goal does this design decision address?
Learnability
Memorability
Safety
Efficiency
Published solution
**1. Identify the risk:** Close can end the editing session and may risk loss of work. Placing it next to Save makes an accidental destructive click more likely.
**2. Reduce user error:** Separating the controls is a safety measure. It prevents or reduces harmful mistakes rather than mainly teaching the interface, helping memory or reducing the number of actions.
**Answer: C.**
A: **Incorrect:** Learnability concerns how easily a new user learns the system.
B: **Incorrect:** Memorability concerns returning users remembering it.
C: **Correct:** The change reduces the chance of an accidental harmful action.
D: **Incorrect:** The primary aim is error prevention, even if the mouse movement becomes longer.
Question 17 MCQ · 4.0 marks
A file manager allows users to move files by dragging icons instead of typing commands.
This primarily supports which design heuristic?
Freedom to explore
Consistency
Recognition over recall
Showing system status
Published solution
**1. Compare the interaction demands:** A command interface requires remembering a command's name and syntax. Dragging visible file icons lets users identify objects already on screen.
**2. Name the heuristic:** Recognition over recall minimizes memory demands by making choices and actions perceptible. The interface relies on recognizing the file and destination rather than recalling a typed command.
**Answer: C.**
A: **Incorrect:** Exploration is not the main distinction between these two interaction styles.
B: **Incorrect:** Consistency is about uniform patterns rather than the specific memory demand.
C: **Correct:** Visible objects support recognition instead of recalling command syntax.
D: **Incorrect:** The scenario does not primarily concern feedback about system activity.
Question 18 MCQ · 4.0 marks
A project manager asks senior developers who have worked on similar systems to provide cost
and effort estimates based on their experience.
Which estimation technique is being used?
Heuristic estimation
COCOMO model
Expert judgment
Delphi technique
Published solution
**1. Identify the evidence source:** The estimates come from senior developers' experience with similar systems.
**2. Distinguish formal methods:** Expert judgment uses experienced practitioners' informed assessments. COCOMO uses a specified parametric model. Delphi is a structured multi-round process, typically involving independent or anonymous estimates and convergence; those additional steps are not stated here.
**Answer: C.**
A: **Incorrect:** Heuristic is broad; the explicit use of experienced people matches expert judgment more specifically.
B: **Incorrect:** No COCOMO size-based formula or model is described.
C: **Correct:** Experienced developers are asked to provide their informed assessments.
D: **Incorrect:** No structured anonymous rounds or Delphi convergence process is mentioned.
Question 19 MCQ · 4.0 marks
At the end of a sprint, the team demonstrates completed features to stakeholders.
This activity is called:
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum
Published solution
**1. Identify the audience and activity:** The team shows completed product features to stakeholders at the end of a sprint.
**2. Name the event:** A Sprint Review inspects the completed increment and gathers feedback about product progress and next steps. A retrospective instead examines how the team worked and how to improve its process.
**Answer: B.**
A: **Incorrect:** Sprint Planning prepares the upcoming sprint rather than demonstrating its result.
B: **Correct:** The Review is the stakeholder inspection and feedback event.
C: **Incorrect:** The Retrospective focuses on the team's process and improvement.
D: **Incorrect:** The Daily Scrum is the short daily coordination event.
Question 20 MCQ · 4.0 marks
Before creating a schedule, a team identifies all major project activities and divides them into
smaller, assignable tasks.
Which project scheduling activity is being performed?
Determining the critical path
Creating an activity network
Allocating resources
Developing a work breakdown structure
Published solution
**1. Identify decomposition:** The team starts with major project activities and divides them into smaller assignable pieces.
**2. Name the planning artifact:** A work breakdown structure organizes project scope hierarchically into manageable work packages. Dependency sequencing, resource allocation and critical-path calculation can then use the defined work; they are different planning steps.
**Answer: D.**
A: **Incorrect:** Critical-path analysis needs activity durations and dependencies, not just decomposition.
B: **Incorrect:** An activity network expresses dependencies among defined activities.
C: **Incorrect:** Resource allocation assigns people or equipment to tasks.
D: **Correct:** Breaking project scope into smaller work packages creates the WBS.
Question 21 MCQ · 4.0 marks
A Seller object calls the
method of an Inventory object.
What type of relationship does this represent?
Inheritance
Dependency
Association
Aggregation
Published solution
**1. Identify the intended interaction:** Seller uses an Inventory object by calling viewInventory(). In the course-level object-model description, that link between interacting objects is treated as an association. It is not inheritance or a whole-part ownership relation.
**2. Keep the UML distinction clear:** A method call alone strictly establishes usage/dependency, not necessarily a persistent structural association. Association is the source's intended answer if Seller is linked to Inventory as assumed; the stem omits whether such a stored structural link exists.
**Answer: C.**
A: **Incorrect:** Calling another object's method does not make Seller a subclass of Inventory.
B: **Incorrect:** A call does imply usage dependency in precise UML; the source instead intends the broader interacting-object association interpretation noted above.
C: **Correct:** This is the source's intended linked-object relationship, under its association assumption.
D: **Incorrect:** There is no whole-part collection relationship described.
Question 22 MCQ · 4.0 marks
A company is building a custom laptop ordering system.
Every laptop must have:
• Processor
• RAM
Additionally, customers may optionally choose:
• Graphics card
• Storage type
• Operating system
• Extended warranty
• Pre-installed software
Originally, the development team tried to handle all combinations by creating many versions of
the laptop constructor for different combinations of options, which quickly became
unmanageable.
They then redesigned the system so that:
• The customer first chooses the mandatory features
• Then selects any number of optional features in any order
Which design pattern best fits this redesign?
Factory Pattern
Builder Pattern
Adapter Pattern
Facade Pattern
Published solution
**1. Identify constructor overload growth:** Many optional settings create too many combinations of constructors.
**2. Build step by step:** Builder lets the caller supply mandatory choices and then configure optional features through separate steps before constructing the final object. This avoids one constructor overload for every combination and can validate required properties at the end.
**3. Match the scenario:** Processor and RAM are required; graphics, storage, OS, warranty and software are independently chosen options. This is a natural builder use case.
**Answer: B.**
A: **Incorrect:** A factory selects/creates objects, but does not primarily address this stepwise configuration problem.
B: **Correct:** Builder supports controlled incremental construction with many optional features.
C: **Incorrect:** Adapter reconciles incompatible interfaces.
D: **Incorrect:** Facade presents a simpler interface to an existing subsystem.
Question 23 MCQ · 4.0 marks
Originally, the Seller class directly uses:
Later, the company wants to support Google Pay, UPI, and Paytm. Each time a new payment type
is added, Seller must be modified.
Which SOLID principle is violated?
Interface Segregation
Dependency Inversion
Liskov Substitution
Single Responsibility
Published solution
**1. Find the concrete dependency:** Seller directly constructs BankAccount and calls its pay method. This ties a high-level selling workflow to a particular payment implementation.
**2. Introduce an abstraction:** Seller should depend on a Payment interface, with BankAccount, UPI and other methods implementing it. An implementation can then be supplied without hard-coding it into Seller.
**3. Name the principle:** Dependency Inversion says high- and low-level modules should depend on abstractions. The need to modify Seller for each provider is a symptom of that missing abstraction; it also motivates open/closed design.
**Answer: B.**
A: **Incorrect:** The issue is not clients being forced to implement an excessively broad interface.
B: **Correct:** Seller depends directly on a concrete payment class instead of a payment abstraction.
C: **Incorrect:** No invalid subtype substitution behavior is described.
D: **Incorrect:** The specific highlighted violation is the direction and concreteness of dependencies.
Question 24 MCQ · 4.0 marks
A developer finishes work on branch
and wants to include it in the main project.
Which command achieves this?
Published solution
**1. Select the destination branch:** To include feature1 in main, first check out main, for example with git switch main.
**2. Merge the feature branch:** Running git merge feature1 while on main integrates that branch's changes into the current main branch, subject to resolving any conflicts. It may fast-forward or create a merge commit depending on history.
**3. Distinguish commands:** Checking out feature1 only changes the working branch; it does not integrate it into main. The listed merge command is the intended integration operation.
**Answer: C.**
A: **Incorrect:** Pull combines remote fetching and integration and does not use this local branch as the intended normal argument.
B: **Incorrect:** Checkout changes branches rather than merging changes into main.
C: **Correct:** Merge feature1 integrates the feature branch into the currently checked-out destination.
D: **Incorrect:** Rebase rewrites a line of commits onto another base and is not the stated straightforward merge operation.
Question 25 MCQ · 4.0 marks
A
module calls a function
in the
module.
• If
, the
module displays account details
• If
, it updates account information
What type of coupling is illustrated here?
Data coupling
Control coupling
Common coupling
Content coupling
Published solution
**1. Inspect the parameter's meaning:** flag=0 tells Account to display information, while flag=1 tells it to update information.
**2. Classify the dependency:** User is not merely passing business data such as an account number; it sends a control value deciding which internal action Account performs. That is control coupling. Separate display and update methods can make the interface clearer by removing the mode switch.
**Answer: B.**
A: **Incorrect:** The parameter specifically directs behavior, which is more than ordinary data coupling.
B: **Correct:** The flag controls which operation the called module executes.
C: **Incorrect:** Common coupling would involve shared global data.
D: **Incorrect:** Content coupling would require accessing another module's internals directly.
Question 26 MSQ · 4.0 marks
During requirement analysis of a digital wallet system, the development team identifies multiple
types of clients.
Which of the following can validly be considered clients of the system?
(Select all that apply)
End users performing transactions
Internal inventory management service
Payment gateway interacting via APIs
Developers who write the code
Published solution
**1. Define a system client:** A client is an external person or component that uses the system's services across the boundary chosen for the analysis. It need not be a human.
**2. Apply the definition:** End users initiate wallet transactions. An inventory service or payment gateway can also be a client when it invokes or exchanges services with the wallet through an interface.
**3. Separate development from use:** Writing the implementation makes someone a developer, not automatically a runtime client. A developer can separately be a client when actually using the service, but that is not established merely by writing code.
**Answer: A, B, C.**
A: **Correct:** People performing transactions directly use the wallet services.
B: **Correct:** A separate service can consume the wallet interface and be a client relative to that boundary.
C: **Correct:** API interaction can make a payment gateway a system client in the scenario.
D: **Incorrect:** Writing code alone is not the client role being analyzed.