Software maintenance is the process of modifying and updating software after its initial delivery to fix bugs, improve performance, or adapt to new environments.
Click to reveal answer
beginner
Why does software maintenance often cost more than initial development?
Because software must be updated to fix unexpected bugs, adapt to changing user needs, and keep up with new hardware or software environments, which takes ongoing effort and resources.
Click to reveal answer
intermediate
Name three types of software maintenance.
Corrective (fixing bugs), Adaptive (adjusting to new environments), and Perfective (improving performance or features).
Click to reveal answer
intermediate
How does poor initial design affect maintenance costs?
Poor design can make software harder to understand and change, leading to more time and effort spent during maintenance, increasing costs.
Click to reveal answer
beginner
What role does user feedback play in software maintenance?
User feedback helps identify bugs and needed improvements, guiding maintenance work to keep software useful and relevant.
Click to reveal answer
Which of the following is NOT a reason why software maintenance costs are high?
AUsers request new features and improvements
BSoftware must adapt to new hardware and software environments
CInitial development is always perfect and needs no changes
DBugs are discovered after release
✗ Incorrect
Initial development is rarely perfect; maintenance is needed to fix issues and adapt software.
What type of maintenance involves fixing errors found after software release?
AAdaptive maintenance
BCorrective maintenance
CPerfective maintenance
DPreventive maintenance
✗ Incorrect
Corrective maintenance focuses on fixing bugs and errors.
How does changing user needs affect software maintenance?
AIt increases maintenance work to add or change features
BIt only affects initial development
CIt has no effect on maintenance
DIt reduces maintenance work
✗ Incorrect
Changing user needs require updates and improvements, increasing maintenance.
Which factor can make maintenance more expensive?
AClear and simple code
BAutomated testing
CGood documentation
DPoor initial design
✗ Incorrect
Poor design makes software harder to maintain, increasing costs.
Why is maintenance considered a continuous process?
ABecause software environments and user needs keep changing
BBecause software is deleted after use
CBecause software never needs updates
DBecause maintenance is done only once
✗ Incorrect
Software must be maintained continuously to stay useful as conditions change.
Explain why software maintenance usually consumes more cost than initial development.
Think about what happens after software is first delivered.
You got /4 concepts.
Describe the different types of software maintenance and their purposes.
Consider maintenance as fixing, adapting, and improving.
You got /3 concepts.
Practice
(1/5)
1. Why does software maintenance usually consume most of the total software cost?
easy
A. Because software needs continuous fixing, updating, and improving after release
B. Because initial development is always very cheap
C. Because software is rarely used after release
D. Because maintenance requires no planning or effort
Solution
Step 1: Understand what maintenance involves
Maintenance includes fixing bugs, updating features, and improving software after it is released.
Step 2: Recognize ongoing effort and cost
Since software is used over time, continuous work is needed, which costs more than initial development.
Final Answer:
Because software needs continuous fixing, updating, and improving after release -> Option A
Quick Check:
Maintenance = ongoing updates and fixes [OK]
Hint: Maintenance means ongoing work after release, so it costs more [OK]
Common Mistakes:
Thinking initial development is the most expensive
Assuming software is static after release
Ignoring updates and bug fixes
2. Which of the following best describes software maintenance?
easy
A. Writing the first version of the software
B. Testing software before release
C. Fixing bugs, updating features, and improving software after release
D. Designing the software architecture
Solution
Step 1: Identify maintenance activities
Maintenance involves activities after release like fixing bugs and updating features.
Step 2: Differentiate from development phases
Writing first version, designing, and testing happen before release, not during maintenance.
Final Answer:
Fixing bugs, updating features, and improving software after release -> Option C
Quick Check:
Maintenance = post-release fixes and updates [OK]
Hint: Maintenance happens after release, not before [OK]
Common Mistakes:
Confusing maintenance with initial development
Thinking testing is maintenance
Mixing design with maintenance
3. Consider this scenario: A software project spends 30% of its budget on initial development and 70% on maintenance. Why is this distribution common?
medium
A. Because software is discarded after initial release
B. Because initial development is usually very slow
C. Because maintenance is done only once
D. Because maintenance includes fixing unexpected bugs and adapting to new requirements
Solution
Step 1: Analyze maintenance tasks
Maintenance covers fixing bugs found after release and adapting software to changing needs.
Step 2: Understand budget allocation
Since maintenance is ongoing and unpredictable, it often requires more budget than initial development.
Final Answer:
Because maintenance includes fixing unexpected bugs and adapting to new requirements -> Option D