0% found this document useful (0 votes)
34 views10 pages

SE MCQ Part-III

The document consists of multiple-choice questions (MCQs) focused on software maintenance, covering topics such as types of maintenance, metrics for maintainability, and configuration management. It includes questions about the purpose and techniques of maintenance, as well as tools and principles that enhance maintainability. The answers to the questions are provided, emphasizing the importance of documentation, testing, and understanding legacy systems in software maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views10 pages

SE MCQ Part-III

The document consists of multiple-choice questions (MCQs) focused on software maintenance, covering topics such as types of maintenance, metrics for maintainability, and configuration management. It includes questions about the purpose and techniques of maintenance, as well as tools and principles that enhance maintainability. The answers to the questions are provided, emphasizing the importance of documentation, testing, and understanding legacy systems in software maintenance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Software Engineering

MCQ Part - III

Software Maintenance
1. What is software maintenance?
A. Adding new features after delivery
B. Removing unused code
C. Modifying software after delivery to correct faults or improve performance
D. Writing test cases
Answer: C

2. Which of the following is NOT a reason for software maintenance?


A. Bug fixing B. Adding new features
C. Software design D. Adapting to environment changes
Answer: C

3. What type of maintenance is performed to correct faults?


A. Adaptive B. Perfective
C. Preventive D. Corrective
Answer: D

4. Adaptive maintenance is mainly concerned with:


A. Fixing bugs
B. Changing the software to run on new hardware or OS
C. Improving system performance
D. Code cleanup
Answer: B

5. Perfective maintenance is carried out to:


A. Correct errors B. Change user interface
C. Improve performance or enhance features D. Handle security breaches
Answer: C

6. Preventive maintenance is intended to:


A. Prevent users from using old versions B. Prevent future problems
C. Prevent data loss D. Prevent unauthorized access
Answer: B

7. Designing for maintainability includes:


A. Using complex algorithms B. Writing compact, unreadable code
C. Modular design and documentation D. Hiding logic from users
Answer: C

8. Which of the following contributes to high maintainability?


A. Spaghetti code B. Clear documentation
C. Hard-coded values D. Global variables
Answer: B

9. Which type of maintenance is done to meet new user requirements?


A. Corrective B. Adaptive
C. Perfective D. Predictive
Answer: C
10. What is not typically a part of software maintenance?
A. Testing B. Debugging
C. Compilation D. Coding
Answer: C

11. Which metric is used to measure maintainability?


A. Cyclomatic complexity B. Test coverage
C. MTTR (Mean Time To Repair) D. CPU usage
Answer: C

12. Which tool helps in analyzing software for maintainability?


A. Photoshop B. UML modeling tools
C. Static code analyzers D. Antivirus
Answer: C

13. Which of the following is not a technique for software maintenance?


A. Refactoring B. Reverse engineering
C. Version control D. Link checking
Answer: D

14. Reverse engineering in software maintenance is used to:


A. Make software faster B. Obfuscate code
C. Understand and document legacy software D. Encrypt data
Answer: C

15. What is the purpose of impact analysis in maintenance?


A. Increase cost B. Identify potential bugs
C. Understand effects of changes D. Delete unused files
Answer: C

16. Software aging refers to:


A. Obsolete programming languages
B. Deterioration of software over time due to updates
C. Software installed on old hardware
D. Software that supports elderly care
Answer: B

17. Software re-engineering involves:


A. Rewriting all modules
B. Using AI in software
C. Analyzing and modifying software to improve maintainability
D. Hardware upgrade
Answer: C

18. What does MTBF stand for?


A. Mean Time Before Fix B. Mean Time Between Failures
C. Mean Time Best Fit D. Maintainable Time Before Failure
Answer: B

19. One benefit of designing software with modularity is:


A. Increased complexity B. Easier maintenance
C. Slower performance D. Larger file size
Answer: B
20. Which of the following can be considered a maintenance technique?
A. Agile modeling B. Regression testing
C. Code bloat D. Minification
Answer: B

21. Which term describes making changes without modifying behavior?


A. Refactoring B. Rewriting
C. Debugging D. Porting
Answer: A

22. Regression testing is important in maintenance because:


A. It speeds up execution B. It finds new features
C. It ensures previous functionality still works D. It trains new developers
Answer: C

23. What is not a challenge in software maintenance?


A. Lack of documentation B. Code understanding
C. User feedback D. High coupling
Answer: C

24. Maintainability is enhanced by:


A. Deep nesting B. Single-responsibility principle
C. Code duplication D. Lack of comments
Answer: B

25. Perfective maintenance improves:


A. Performance and maintainability B. Syntax errors
C. Compiler efficiency D. Data input
Answer: A

26. Which technique is commonly used to improve existing code without changing its behavior?
A. Porting B. Refactoring
C. Recompiling D. Debugging
Answer: B

27. Which activity is NOT typically involved in software maintenance?


A. Coding new modules B. Fixing defects
C. Monitoring software usage D. Generating profit reports
Answer: D

28. Which of the following is a benefit of preventive maintenance?


A. Reduces documentation effort B. Prevents performance degradation
C. Increases code redundancy D. Eliminates the need for updates
Answer: B

29. The effort required to locate and fix an error in software is defined as:
A. Efficiency B. Fault Tolerance
C. Maintainability D. Portability
Answer: C
30. Which activity ensures software continues to meet user needs after deployment?
A. Testing B. Maintenance
C. Deployment D. Requirements analysis
Answer: B
31. Which maintenance technique improves understanding of legacy systems?
A. Code duplication B. Reverse engineering
C. Compilation D. Deployment
Answer: B

32. What does software re-engineering focus on?


A. Obfuscating code B. Downgrading features
C. Improving code quality and maintainability D. Making software open-source
Answer: C

33. What is a common risk of not maintaining software?


A. Better user satisfaction B. Higher efficiency
C. Security vulnerabilities D. Cost savings
Answer: C

34. Which of the following is considered a type of software maintenance?


A. Emergency B. Restorative
C. Adaptive D. Preliminary
Answer: C

35. The process of evaluating the effect of changes before implementing them is:
A. Regression testing B. Configuration audit
C. Impact analysis D. Software verification
Answer: C

36. Which of the following is a tool used in software maintenance?


A. Microsoft Paint B. Jenkins
C. Notepad D. Disk Defragmenter
Answer: B

37. A maintenance release typically includes:


A. Entire new software B. Hardware drivers
C. Fixes for bugs and minor improvements D. Video codecs
Answer: C

38. What is the key challenge in maintaining legacy systems?


A. Excessive documentation B. Outdated hardware and lack of documentation
C. Too many developers D. Strict legal requirements
Answer: B

39. The maintainability index is typically calculated based on:


A. Team performance B. Code readability
C. Code complexity metrics D. Execution speed
Answer: C

40. What does "code smells" refer to in software maintenance?


A. Coding perfumes
B. Poor programming practices that indicate deeper problems
C. Good coding habits
D. End-of-line comments
Answer: B

41. What is a common goal of software maintenance?


A. Decrease user load B. Decrease product cost
C. Ensure software remains useful and efficient D. Increase team size
Answer: C

42. Which of the following is used to automatically test software after changes?
A. Manual testing B. Static analysis
C. Unit testing frameworks D. Code coverage tools
Answer: C

43. Which type of maintenance is performed in response to user complaints?


A. Preventive B. Adaptive
C. Perfective D. Corrective
Answer: D

44. Code refactoring improves:


A. Performance only B. Maintainability and structure
C. User interface D. Execution speed
Answer: B

45. What role do test suites play in maintenance?


A. Reduce code size B. Minimize design errors
C. Ensure existing features work after modifications D. Convert code to another language
Answer: C

46. What kind of maintenance is required when migrating software to cloud infrastructure?
A. Corrective B. Adaptive
C. Perfective D. Redundant
Answer: B

47. Maintainability can be measured using:


A. Number of screens B. Cyclomatic complexity
C. Disk space used D. Network speed
Answer: B

48. Which of these principles enhances maintainability?


A. Code repetition B. Coupling between modules
C. Cohesion within modules D. Large monolithic functions
Answer: C

49. What is a primary purpose of documentation in software maintenance?


A. Increase complexity B. Hide functionality
C. Facilitate understanding and updates D. Encrypt source code
Answer: C

50. Re-engineering and reverse engineering are parts of:


A. Maintenance planning B. Design phase
C. Software reengineering process D. Compilation process
Answer: C

51. Which maintenance type is focused on enhancing system performance?


A. Adaptive B. Corrective
C. Perfective D. Predictive
Answer: C

52. The main goal of software configuration management (SCM) is:


A. Reducing bugs B. Improving UI design
C. Controlling and tracking changes D. Managing customer feedback
Answer: C

53. What is a configuration item in SCM?


A. Source code B. Test documents
C. Design models D. All of the above
Answer: D

54. A configuration baseline is:


A. The starting point of documentation
B. A formally reviewed version of a configuration item
C. The final software product
D. The end of version control
Answer: B

55. Which of the following is a version control tool?


A. Eclipse B. Git
C. PowerPoint D. Excel
Answer: B

56. Which activity ensures changes in software are introduced in a controlled manner?
A. Deployment B. Debugging
C. Configuration control D. Porting
Answer: C

57. In SCM, a change request is processed through:


A. CI/CD B. Version rollback
C. Change Control Board (CCB) D. Bug bounty programs
Answer: C

58. What is a version in SCM?


A copy of software with performance metrics B. A distinct state of software with updates
C. A compressed file D. A patch
Answer: B

59. Which of the following is not a typical SCM activity?


A. Configuration identification B. Configuration auditing
C. Code refactoring D. Version control
Answer: C

60. Which of the following tools supports configuration management?


A. MS Word B. SVN (Subversion)
C. Paint D. WhatsApp
Answer: B

61. Configuration audit ensures:


A. Team productivity B. Cost estimation
C. Compliance with documented configuration D. Frequent updates
Answer: C

62. Which statement is true about Git?


A. It stores only documentation B. It is used for real-time communication
C. It is a distributed version control system D. It cannot be used on Linux
Answer: C
63. The process of labeling a specific version of code for release is called:
A. Branching B. Merging
C. Tagging D. Rebasing
Answer: C

64. Which SCM tool is integrated with GitHub?


A. CVS B. TFS
C. Git D. ClearCase
Answer: C

65. Which of the following is NOT a feature of configuration management?


A. Change control B. Risk assessment
C. Status accounting D. Configuration auditing
Answer: B

66. Which one manages and records all changes in software components?
A. Compiler B. Configuration management system
C. OS D. Debugger
Answer: B

67. Which document outlines how software configuration will be managed?


A. Configuration Management Plan B. Test Plan
C. Design Document D. User Manual
Answer: A

68. A case tool that supports software maintenance should ideally provide:
A. Email service B. Version control and impact analysis
C. Video rendering D. Social media posting
Answer: B

69. Which activity is NOT part of configuration management?


A. Change management B. Software deployment
C. Version control D. Configuration identification
Answer: B

70. What is "branching" in version control?


A. Making a backup B. Creating a new line of development
C. Adding new users D. Recompiling code
Answer: B

71. Which SCM tool uses repositories and clones?


A. SVN B. TFS
C. Git D. CVS
Answer: C

72. What ensures all changes are properly reviewed before implementation?
A. Debug log B. Audit trail
C. Change Control Board (CCB) D. CI/CD Pipeline
Answer: C

73. In SCM, what is merging?


A. Deleting files B. Combining two development branches
C. Creating new baselines D. Encrypting source code
Answer: B
74. Which tool can be used for both source control and collaboration?
A. GitHub B. MS Paint
C. FileZilla D. Notepad++
Answer: A

75. What is the primary role of a case tool in configuration management?


A. Software monetization B. Automatic version tracking
C. Data visualization D. Antivirus management
Answer: B

76. What does SCM help prevent?


A. Market fluctuation B. Unauthorized changes to code
C. Hardware malfunctions D. Team meetings
Answer: B

77. What is the first step in configuration management?


A. Configuration auditing B. Change control
C. Configuration identification D. Version rollback
Answer: C

78. What is the result of a successful configuration audit?


A. Project cancellation B. Cost increase
C. Verified consistency with configuration records D. Change in team lead
Answer: C

79. Why is a baseline important in SCM?


A. To make coding easier
B. To mark a stable reference for future development
C. To monitor user behavior
D. To compress data
Answer: B

80. What does CI in CI/CD stand for?


A. Configuration Integration B. Code Investigation
C. Continuous Integration D. Component Inspection
Answer: C

81. Continuous Integration encourages:


A. Manual code reviews
B. Frequent code commits to a shared repository
C. Skipping tests
D. Reducing code size
Answer: B

82. What is continuous deployment focused on?


A. Marketing plans B. Manual testing
C. Automatically releasing code to production D. Training users
Answer: C

83. GitHub is mainly used for:


A. Video editing B. File compression
C. Hosting and collaborating on Git repositories D. Database design
Answer: C
84. A successful software maintenance strategy includes:
A. Ignoring user feedback B. Documenting all changes
C. Removing old features only D. Avoiding testing
Answer: B

85. Impact analysis helps with:


A. Cost estimation only B. Understanding effects of proposed changes
C. Network setup D. Team allocation
Answer: B

86. What is the role of automated testing in maintenance?


A. Reduce user involvement B. Improve UI design
C. Ensure software works after changes D. Encrypt software
Answer: C

87. Which process ensures unauthorized changes are not made?


A. CI/CD B. Configuration control
C. Refactoring D. Code formatting
Answer: B

88. Which SCM activity involves evaluating the accuracy and completeness of records?
A. Configuration identification B. Configuration audit
C. Change control D. Regression testing
Answer: B

89. The effectiveness of software maintenance depends highly on:


A. Hardware brand B. Developer’s age
C. Quality of initial design and documentation D. Team size
Answer: C
90. Which of the following is most impacted by poor maintenance?
A. Compilation time B. System performance and user satisfaction
C. Marketing team D. Database indexing
Answer: B

91. Which of these is an SCM repository hosting service?


A. Trello B. Dropbox
C. Bitbucket D. WinZip
Answer: C

92. Rollback in version control means:


A. Restarting the server B. Reverting to a previous version
C. Making a backup D. Running test cases
Answer: B

93. Case tools help in:


A. Playing videos B. Automating maintenance tasks
C. Managing social media D. Adding noise to signals
Answer: B

94. Software maintenance becomes easier when:


A. Source code is encrypted
B. The team keeps rotating
C. There is adequate commenting and documentation
D. Dead code is preserved
Answer: C
95. Which is true of version control systems?
A. They limit software testing B. They track changes over time
C. They reduce disk size D. They compile code
Answer: B

96. What is the difference between version and revision in SCM?


A. No difference
B. Version refers to significant change; revision is minor
C. Revision is newer than version
D. Version is for hardware
Answer: B

97. What should accompany every code change in SCM?


A. A new project plan B. A bug report
C. A change log or comment D. A marketing campaign
Answer: C

98. Which feature allows multiple developers to work without conflict?


A. Encryption B. Code duplication
C. Branching D. Documentation
Answer: C

99. What is the benefit of using a cloud-based repository (like GitHub)?


A. Requires no internet B. Collaboration from anywhere
C. Manual sync D. Requires high-end hardware
Answer: B

100. Configuration management ensures that:


A. Code is optimized B. Changes are tracked and controlled
C. Code is compiled faster D. Data is encrypted
Answer: B

You might also like