Explain the foundational chain of dependencies in Software Quality Engineering that links code execution to the ultimate goal of user satisfaction, as detailed in Module 02, Section A of the handouts. Then, write a Python function 'evaluate_satisfaction_chain' that simulates this chain by checking if code execution, behavioral requirements, features, and system behavior are fully compliant, returning whether the ultimate goal of user satisfaction is achieved.
Ch 02: Cost of Software Quality
In-depth analysis of software quality economics, direct and indirect costs of missing quality requirements, cost-analysis methodologies, impact analysis, and risk-analysis frameworks for defect reduction.
207 Questions207 MCQs0 Short Questions0 Long Questions
SEMESTER PASS
CS611 - Software Quality Engineering Examination Practice
Timed practice exam simulation for CS611 - Software Quality Engineering.
Showing 131 โ 140 of 207 Questions
Page 14 of 21
Explain the core mathematical equation of the Risk Analysis Approach as detailed in Module 02, Section J of the course handouts. Then, write a Python function 'calculate_risk_exposure' that takes a list of risks (each as a dictionary containing 'probability' as a float between 0.0 and 1.0 and 'potential_loss_usd' as a float), computes the Risk Exposure (RE) for each risk, and returns the total cumulative risk exposure, along with a warning flag if any individual risk exposure exceeds a given alert threshold.
Explain how the Risk Exposure (RE) metric is calculated under the Risk Analysis Approach as described in Module 02, Section J of the course handouts. Then, write a Python function 'calculate_risk_exposure' that calculates RE (RE = p * L) and returns whether the risk should be categorized as 'Low' (RE < 5000), 'Medium' (5000 <= RE = 20000).
Using the Yahoo data breach case study described in Module 02, Section E, explain how late-reported database breaches impact corporate acquisitions. Then, write a Python function 'calculate_acquisition_price_drop' that takes an initial negotiated price, a list of security breaches (each containing the number of affected accounts and a boolean flag indicating if the breach was reported late), and returns the adjusted acquisition price, the total price drop, and whether a late-reporting penalty was applied.
Explain the four criticality levels defined by the IEEE Standard for Software Verification and Validation as documented in Module 02 of the course handouts. Then, write a Python function 'classify_system_criticality' that evaluates system parameters (usage_frequency: 'continuous_24_7', 'continuous_interrupted', 'fixed_interruptions', or 'time_to_time'; environmental_damage: 'irreversible', 'reversible', 'property_only', or 'none'; human_risk: 'loss_of_life', 'serious_injury', 'minor_injury', or 'none') and returns the appropriate criticality level ('Level A', 'Level B', 'Level C', or 'Level D').
Explain the concept of 'Missing Quality Requirements' and how allocating budget to non-functional attributes like database security compares with cosmetic user interface (UI) changes, as discussed in Module 02, Section D of the course handouts. Then, write a Python function 'check_missing_quality_requirements' that takes a boolean representing if a database firewall is present, and a quality score for UI design (from 0 to 100). The function should determine if a critical security risk exists (missing firewall) and return a diagnostic report indicating whether quality is compromised.
Explain the concept of the Function-Quality-Cost (FQC) tradeoff in a closed-budget project, outlining how functionality and quality behave as 'natural enemies.' Then, write a Python function 'calculate_fqc_split' that takes a fixed total budget, the number of features, the level of investment per feature (A), and the standard quality budget baseline. The function should allocate budget to functionality, determine the residual budget left for quality, calculate the resulting quality index, and return an alert if the quality index falls below a standard safe threshold of 80.0.
Differentiate between the direct and indirect costs of missing software quality as defined by Eppler and Helfert, highlighting their visibility, timing, and examples from the handouts. Then, write a Python function 'classify_and_aggregate_sqa_costs' that takes a list of occurred failure impacts (each having a 'description', a 'category' which is either 'direct' or 'indirect', and 'cost_usd'), separates them, computes their totals, and flags whether the invisible indirect costs exceed the visible direct costs.
Explain how Eppler and Helfert classify the costs of missing quality, particularly detailing the nature of 'Direct Cost' and providing examples as stated in Module 02 of the course handouts. Then, write a Python function 'analyze_direct_costs' that takes a list of occurred incidents. Each incident is a dictionary containing its 'cost_type' (either 'financial_loss', 'physical_injury', 'reputation_loss', or 'trust_erosion') and 'magnitude' (a float value representing USD or severity scale). The function should filter and sum up ONLY the direct costs (financial loss and physical injury are direct, while reputation and trust are indirect) and return a summary of total direct losses, the count of direct incidents, and whether a critical high-loss warning is triggered (if direct losses exceed $10,000 USD).
Under the Quality vs. Pre-defined Budget scenario (Module 02, Section C), explain how the quality budget is mathematically squeezed when a project's features are increased. Then, write a Python function 'simulate_budget_squeeze' that takes a total fixed budget, a number of features, and the development cost per feature, and returns the allocated development budget, the remaining quality budget, the quality percentage of the project, and whether a quality starvation warning is triggered (when the quality budget drops below 15% of the total budget).