Which principle suggests that derived classes must be substitutable for their base classes?

  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism
The principle suggesting that derived classes must be substitutable for their base classes is "Polymorphism." It allows objects of derived classes to be used where objects of the base class are expected, enabling flexibility and extensibility in software design.

A ______ audit is performed to ensure that all contractual agreements have been fulfilled and the product meets the specified requirements.

  • Technical
  • Quality
  • Compliance
  • Code
A compliance audit is performed to ensure that all contractual agreements, legal requirements, and specified standards have been fulfilled. In the context of software engineering, this type of audit is crucial to confirm that the product adheres to all requirements and agreements.

The main objective of ______ maintenance is to foresee and solve problems and issues before they occur.

  • Corrective
  • Adaptive
  • Preventive
  • Perfective
Preventive maintenance focuses on anticipating and preventing issues before they occur. It involves tasks such as code reviews, proactive bug-fixing, and performance optimization to maintain the system's reliability.

When is regression testing typically performed within the software development process?

  • At the beginning of the development phase
  • After the software has been released to users
  • During the initial testing phase
  • After code changes are made, and before a new release or update
Regression testing is typically performed after code changes are made and before a new release or update of the software. It ensures that existing functionality remains intact after modifications.

Why is normalization used in database design?

  • To increase redundancy
  • To improve data integrity
  • To speed up data retrieval
  • To simplify query language
Normalization is used in database design to improve data integrity by reducing redundancy. Redundant data can lead to anomalies and inconsistencies in the database. Normalization involves breaking down the data into smaller, related tables to minimize redundancy.

In regression testing, ______ can be utilized to track the system's stability and functionality over successive iterations.

  • Bug tracking
  • Defect reports
  • Traceability matrices
  • Version control
In regression testing, version control systems can be utilized to track the system's stability and functionality over successive iterations. These systems help manage code changes, provide historical data, and enable the comparison of different versions to identify potential regression issues.

Imagine a scenario where a piece of software has been deployed, and users are encountering numerous unexpected errors. Discuss how corrective maintenance strategies might be implemented to resolve the issues.

  • Correct the errors as they occur
  • Plan and schedule periodic error corrections
  • Ignore the errors until a major release
  • Communicate with users and provide workarounds
Corrective maintenance strategies in this scenario involve addressing errors as they occur. This approach ensures that issues are promptly fixed to minimize user disruption and maintain the software's reliability. Delaying error corrections or ignoring them can lead to decreased user satisfaction and could exacerbate problems in the long run.

White box testing is also known as _____ testing due to its focus on internal structures.

  • Functional
  • Structural
  • Black box
  • System
White box testing is also known as "Structural" testing because it focuses on the internal structures of the software. It examines the code and internal logic to identify issues and defects.

Which quality attribute refers to how easy it is for the user to use the software?

  • Reliability
  • Usability
  • Scalability
  • Security
Usability is the quality attribute that refers to how easy it is for users to use the software. It encompasses factors like user-friendliness, accessibility, and the overall user experience. A software application with good usability is intuitive and efficient for its users.

How can the Customer Problems Metric be utilized to enhance user satisfaction and product quality in subsequent software releases?

  • It can't be used for enhancement
  • It's primarily for internal tracking
  • It helps identify areas for improvement
  • It's used to measure development speed
The Customer Problems Metric can be used to enhance user satisfaction and product quality in subsequent software releases by identifying areas where customers are experiencing issues or dissatisfaction. By addressing these specific problems and improving the software based on customer feedback, the development team can create a more user-friendly and higher-quality product, ultimately leading to greater user satisfaction.