Quick Revision

GK One-Line Question & Answer

15541+ short questions with short answers, covering every category and sub-category on the site — no long articles to scroll through. Good for a fast recap before an exam, or a few minutes of daily practice.

Software Engineering → Introduction to Software Engineering 31

What is 'software retirement' and what criteria should trigger a formal retirement decision?
Software retirement decommissions a system and migrates its functions — criteria: maintenance cost exceeds business value delivered, replacement system has achieved equivalent functionality, user migration is complete, and data archival/legal retention requirements are satisfied
click to copy
What is 'legacy modernisation' and what distinguishes 'rehosting', 'replatforming', and 'refactoring' strategies?
Rehosting ('lift and shift') moves to new infrastructure without code changes; replatforming makes minimal code changes to leverage cloud capabilities; refactoring restructures code for maintainability while preserving functionality — cost/risk increases in that order, as does modernisation value
click to copy
What is 'mean time to repair' (MTTR) versus 'mean time between failures' (MTBF) and which metric matters most for high-availability systems?
MTBF is the average time between failures (reliability measure); MTTR is the average time to restore service after failure (recovery measure) — for high-availability systems, minimising MTTR often provides more availability improvement than reducing MTBF, as modern systems accept failures as inevitable
click to copy
What is 'software re-engineering' and how does it differ from plain refactoring?
Re-engineering examines and alters an existing system to reconstruct it in a new form at a higher level of abstraction — it includes reverse engineering (understanding existing system), restructuring, and forward engineering, often transforming the system's architecture, not just code quality
click to copy
Which of the following best describes 'software entropy' and its long-term impact?
Gradual code quality degradation due to uncoordinated changes increasing complexity and maintenance cost
click to copy
What is the primary distinction between 'validation' and 'verification' in software engineering?
Verification checks the product is built correctly per specs; validation checks the right product is built for user needs
click to copy
Which factor does NOT directly influence the unadjusted function point count in Function Point Analysis?
Programming language used for implementation
click to copy
What does 'technical debt' specifically imply in the context of long-running software projects?
Accumulated suboptimal design decisions for short-term gain that must be refactored at greater future cost
click to copy
According to Lehman's Law of Continuing Change, what must happen to an E-type program?
It must be continually adapted or it becomes progressively less satisfactory in its real-world environment
click to copy
Which software quality attribute is most directly compromised by high coupling between modules?
Maintainability
click to copy
In 'No Silver Bullet', Fred Brooks distinguishes essential complexity from accidental complexity. What is essential complexity?
Complexity inherent to the problem being solved that cannot be designed away
click to copy
In COCOMO II, what do 'scale factors' primarily represent?
Factors affecting the exponential scaling of effort with project size such as team cohesion and process maturity
click to copy
Which of the following best exemplifies a 'wicked problem' in software engineering?
Designing a national healthcare system where requirements are contradictory and no clear solution exists
click to copy
Why can historical analogy cost estimation produce highly inaccurate results?
Subtle differences in team skill, domain complexity, technology, and organisational context between reference and new project are hard to quantify and often overlooked
click to copy
What fundamental problem did the 'software crisis' of the 1960s highlight?
Inability of informal ad-hoc methods to reliably deliver large software on time, within budget, and with acceptable quality
click to copy
Which process model is most appropriate when requirements are poorly understood and likely to change significantly?
Evolutionary/Iterative model
click to copy
What is the core criticism of using Lines of Code (LOC) as a software productivity metric?
LOC incentivises verbose redundant code, penalises elegant solutions, varies with language, and counts non-functional code
click to copy
In Rapid Application Development (RAD), which condition is MOST critical for successful application?
Active and continuous user involvement throughout the development cycle
click to copy
What distinguishes a 'process model' from a 'process' in software engineering?
A process model is theoretical; a process is the actual enactment of activities in a specific project context
click to copy
Which software development model explicitly incorporates risk analysis as a repeating activity in each iteration?
Spiral model
click to copy
In Unified Process (UP), what is the purpose of the 'Elaboration' phase?
To establish project scope, eliminate highest-risk elements, define architecture baseline, and refine requirements
click to copy
What is 'process tailoring' in software development, and why is it necessary?
Adapting a standard process model to fit the specific constraints, size, domain, and team characteristics of a particular project
click to copy
Which metric best captures the 'goodness' of a software process rather than just output quality?
Process capability metrics such as defect removal efficiency and rework percentage across multiple projects
click to copy
When switching from a plan-driven to an agile process mid-project, what is the most significant risk?
Loss of traceability, incomplete documentation, team confusion about roles, and contractual conflicts with fixed-scope agreements
click to copy
Why is discovering requirement errors during the testing phase fundamentally problematic in Waterfall?
Requirement errors in testing necessitate traversing back through design and implementation, causing exponential cost escalation due to Waterfall's sequential nature
click to copy
Which characteristic of Waterfall makes it well-suited for safety-critical systems like avionics software?
Its emphasis on comprehensive upfront documentation and phase-gate reviews aligns with regulatory certification requirements like DO-178C
click to copy
A project manager uses Waterfall for an e-commerce platform where UI preferences are unknown. What is the most critical flaw?
Waterfall requires complete stable requirements upfront; unknown UI preferences mean requirements will change after implementation, triggering costly rework
click to copy
What does Royce's original 1970 Waterfall paper actually recommend that many practitioners ignore?
The Waterfall should include a preliminary iteration before main development, and feedback loops between phases are necessary
click to copy
Which Waterfall phase is most commonly associated with the highest rework cost when defects escape it?
Requirements phase
click to copy
Why does Waterfall struggle with large multi-team projects despite its structured nature?
Integration of subsystems developed in parallel reveals interface mismatches that cannot be detected until the integration phase, causing cascading rework
click to copy
What fundamental assumption of Waterfall makes it unsuitable for most modern software projects?
Complete and stable requirements can be elicited and frozen before any design or implementation begins
click to copy

Software Engineering → Software Maintenance 2

What is the 'broken windows theory' applied to software maintenance and what evidence supports it?
The broken windows theory (Hunt and Thomas) suggests that visible neglect (bad code, commented-out code, inconsistent style) signals that the codebase has no standards, inviting further neglect — empirically, modules with high existing defect density attract disproportionately more new defects
click to copy
What is 'software maintenance cost model' and what factor does empirical research identify as the dominant driver?
Maintenance cost models predict long-term maintenance effort — empirical research (Boehm, Jones, Lehman) consistently identifies the system's structural complexity (cyclomatic complexity, coupling, cohesion) and the quality of design documentation as the dominant maintenance cost drivers
click to copy

Software Engineering → Waterfall Model 1

What is the 'document-driven' criticism of the Waterfall model?
Producing exhaustive documentation at each phase gate consumes significant effort and yields artefacts that become outdated and rarely consulted
click to copy

Software Engineering → Software Design 1

In Waterfall, what distinguishes 'System Design' from 'Software Design'?
System Design allocates requirements to hardware and software components and establishes overall architecture; Software Design details the internal structure of software modules
click to copy

Software Engineering → Software Testing 1

In a Waterfall project, what does Acceptance Testing primarily verify and who owns it?
That the delivered system meets contractual requirements and is fit for deployment; owned by the customer/client
click to copy

Software Engineering → Spiral Model 4

In Boehm's Spiral model, what determines when the spiral terminates and the product is released?
When accumulated risk is sufficiently low and the product satisfies stakeholder objectives
click to copy
What is the key difference between the Spiral model and Incremental development models?
Spiral makes risk analysis an explicit mandatory activity driving iteration decisions; Incremental focuses on delivering planned functionality without formalised risk assessment
click to copy
For which type of project is the Spiral model LEAST appropriate?
Small, well-understood projects with fixed budgets and tight deadlines where risk analysis overhead outweighs benefits
click to copy
In the Spiral model, what does the 'radial dimension' of the spiral represent?
Cumulative cost incurred for the project up to that point
click to copy