______ maintenance involves making changes to a system to fix any errors found in the software.

  • Corrective
  • Adaptive
  • Perfective
  • Preventive
Corrective maintenance is about fixing errors or defects in the software. It addresses issues that may have been discovered during testing or reported by users and aims to restore the software's functionality.

Which software design principle suggests that a function should perform one and only one job?

  • Single Responsibility Principle (SRP)
  • Open/Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
The Single Responsibility Principle (SRP) states that a function or module should have one and only one reason to change, which means it should perform one specific job or responsibility. This helps in making the code more maintainable and understandable.

The _______ model of software evolution focuses on making the software adaptable without altering its core functions.

  • Waterfall
  • Spiral
  • Evolutionary
  • Agile
The Evolutionary model of software evolution focuses on making the software adaptable without altering its core functions. This approach often involves iterative development and incremental updates to enhance the software's functionality while maintaining its core features. It is a popular choice for software systems that need to evolve over time to meet changing requirements.

The Agile model emphasizes _____ development and testing, which allows for continuous revision and adaptation throughout the project.

  • Incremental
  • Linear
  • Sequential
  • Waterfall
The Agile model emphasizes incremental development and testing, which allows for continuous revision and adaptation throughout the project. Agile projects break down work into small increments, and each increment is developed, tested, and revised, promoting flexibility and adaptability.

In what ways can violating the Liskov Substitution Principle lead to issues in a polymorphic system?

  • It simplifies code
  • It enhances code reusability
  • It improves system performance
  • It may break the system
Violating the Liskov Substitution Principle (LSP) in a polymorphic system can lead to unexpected behavior and system issues. LSP states that subtypes must be substitutable for their base types without altering the desirable properties of the program. Violations can result in runtime errors or unexpected behavior, undermining the correctness and stability of the system.

During software maintenance, which task involves making modifications to improve performance?

  • Corrective maintenance
  • Adaptive maintenance
  • Perfective maintenance
  • Preventive maintenance
Perfective maintenance involves making modifications to improve performance, enhance usability, or add new features to the software. It focuses on enhancing the software's functionality and user experience.

What is the primary objective of software maintenance?

  • Correcting defects
  • Enhancing performance
  • Adding new features
  • Writing code from scratch
The primary objective of software maintenance is to correct defects in the software. This includes identifying and fixing bugs, errors, and issues that may have arisen after the software's initial release.

Quality Assurance in the Waterfall model is often considered _____ due to its linear and phase-dependent approach.

  • Agile
  • Flexible
  • Iterative
  • Rigid
Quality Assurance in the Waterfall model is often considered rigid due to its linear and phase-dependent approach. In Waterfall, each phase must be completed before moving to the next, making it inflexible for changes or adaptations after each phase begins.

What is the primary purpose of conducting stress testing on a software system?

  • Evaluate the user interface
  • Detect syntax errors
  • Assess system performance under extreme conditions
  • Ensure code modularity
The primary purpose of conducting stress testing is to assess how a software system performs under extreme conditions, such as high load or resource constraints. It helps identify system bottlenecks and performance issues.

The _____ prototype is used to explore specific areas of the system where there is a high level of technical risk.

  • Final
  • Horizontal
  • Throwaway
  • Vertical
The "Horizontal" prototype is employed to explore areas of the system with high technical risk. It focuses on integrating different system components to test their interactions. This type of prototype helps identify and address technical challenges.