NEW
Font size
WorksheetsSoftware Maintenance and Reuse Quiz
Total questions: 40
Worksheet time: 20mins
What is software maintenance?
Development of new software
Testing of software only
Modification of software after delivery
Installation of software
Software maintenance is required mainly because:
Hardware changes frequently
User requirements change over time
Programming languages become obsolete
Software is perfect at first release
Which phase of the software life cycle consumes the maximum cost?
Requirement analysis
Design
Implementation
Maintenance
Software maintenance helps to:
Increase development time
Reduce software usability
Improve performance and reliability
Remove documentation
Maintenance is needed to fix errors that were:
Found during requirement phase
Ignored intentionally
Discovered after software delivery
Removed during design
Software maintenance ensures that the system remains:
Static
Outdated
Useful and relevant
Unchanged
Which of the following is a major challenge in software maintenance?
Clear documentation
Well-structured code
Poorly written legacy code
Automated tools
Maintenance becomes difficult when:
Software is modular
Original developers leave the project
Code follows standards
Documentation is updated
Legacy systems are difficult to maintain mainly because they:
Use modern technologies
Are well documented
Lack proper documentation
Have simple architecture
Which factor increases maintenance cost the most?
High-quality design
Code reuse
Complex and unstructured code
Automated testing
Understanding old software code is challenging due to:
Familiar programming language
High-level abstraction
Lack of comments and documentation
Small system size
Frequent changes in user requirements mainly affect:
Hardware cost
Maintenance complexity
Software installation
Compilation speed
Which type of maintenance fixes errors discovered after delivery?
Adaptive
Perfective
Preventive
Corrective
Adaptive maintenance is performed to:
Improve performance
Fix bugs
Adapt software to new environments
Rewrite documentation
Perfective maintenance focuses on:
Removing errors
Enhancing features and performance
Preventing future faults
Changing hardware
Preventive maintenance aims to:
Correct current errors
Reduce future maintenance problems
Add new features
Adapt to new OS
Which maintenance type improves software maintainability?
Corrective
Adaptive
Preventive
Perfective
Adding a new report module to existing software is an example of:
Corrective maintenance
Adaptive maintenance
Perfective maintenance
Preventive maintenance
Fixing a calculation error in payroll software is:
Adaptive
Corrective
Perfective
Preventive
Updating software to run on a new operating system is:
Corrective maintenance
Preventive maintenance
Perfective maintenance
Adaptive maintenance
Software reuse refers to:
Writing code from scratch
Using software only once
Using existing software components again
Deleting unused code
The main objective of software reuse is to:
Increase development cost
Reduce development time and cost
Increase software complexity
Avoid testing
Which of the following can be reused?
Source code only
Documentation only
Software components, designs, and code
Hardware devices
Software reuse improves:
Error rate
Development speed
Software size
Compilation time
Reuse is most effective when components are:
Tightly coupled
Poorly documented
Modular and well documented
Written in obsolete languages
Reuse-based software engineering focuses on:
Building software from scratch
Modifying hardware
Assembling systems from reusable components
Ignoring existing systems
Which approach emphasizes reuse as a core activity?
Waterfall model
Reuse-based software engineering
Prototype model
Spiral model
Component-based development is related to:
Software testing
Software reuse
Hardware design
Project management
In reuse-based engineering, the first step is to:
Write new code
Test the software
Search for reusable components
Deploy the system
Reuse-based development reduces:
Code quality
Reliability
Development effort
User satisfaction
One major benefit of software reuse is:
Increased bugs
Reduced development time
Increased complexity
Reduced documentation
Reused components are often more reliable because they:
Are newly written
Have been tested earlier
Are smaller in size
Avoid maintenance
Software reuse helps organizations to:
Increase project failure
Reduce productivity
Improve consistency across systems
Avoid standardization
Reuse improves software quality mainly by:
Adding more code
Reducing testing
Using proven components
Avoiding design
Software reuse leads to:
Higher development cost
Lower reliability
Faster time-to-market
More errors
A major challenge of software reuse is:
Availability of components
Component integration
Excess documentation
Low cost
Reusable components may not fit perfectly due to:
Poor design
Different system requirements
Excessive testing
Good documentation
One difficulty in reuse is understanding components because of:
Clear interfaces
Poor documentation
Standard formats
Modular design
Reuse may increase initial cost due to:
Component development and adaptation
Reduced testing
Code deletion
Faster deployment
Successful software reuse requires:
Ignoring standards
Strong documentation and management support
Avoiding testing
Writing all code from scratch
