Explain the concept of Off-the-Shelf (OTS) software products (plugins), detailing their main purpose and how they are developed and tested as described in Module 01, Section E of the handouts. Then, write a Python function 'evaluate_ots_selection' that takes a list of candidate plugins (each represented by a dictionary with 'name', 'cost', 'compatibility_score', and 'is_tested_independently' boolean) and filters out those that do not meet a minimum compatibility score or were not tested independently, returning a recommended list sorted by cost.
Ch 01: Software Quality Engineering Discipline
Comprehensive study of quality engineering foundations, producer/consumer roles, ISO 9126 quality attributes, formal differentiation between errors, faults, and failures, and defect prevention versus defect containment strategies.
279 Questions279 MCQs0 Short Questions0 Long Questions
SEMESTER PASS
CS611 - Software Quality Engineering Examination Practice
Timed practice exam simulation for CS611 - Software Quality Engineering.
Showing 211 โ 220 of 279 Questions
Page 22 of 28
Conduct a rigorous software quality engineering analysis of the 'Maintainability' quality characteristic of the ISO-9126 framework, referencing Module 01, Section J of the course handouts. Address:
1) The formal definition of maintainability and its core objective in software lifecycle management.
2) How the four subcomponents (analyzability, changeability, testability, and stability) interact to determine the ease of identifying and repairing code defects.
3) Analytical reasoning of why maintainability is 'easier said than done' and the critical roles of design quality, documentation, and periodic reviews in establishing a maintainable system.
Finally, write a Python class 'SoftwareMaintainabilityAuditor' that registers software modules with cyclomatic complexity, documentation quality ratings, and test coverage metrics to calculate a comprehensive maintainability index and identify specific structural weaknesses.
Provide a comprehensive software quality engineering analysis of 'Faults' and 'Failures' within a program's execution life cycle, referencing Module 01, Sections R, S, T, and U of the course handouts. Address:
1. The formal definitions and operational differences between a Fault and a Failure.
2. Relate both terms to their human origins (Errors), explaining how the causal progression Error -> Fault -> Failure operates.
3. Analyze the addition-vs-subtraction program example from Sections S and U, detailing how a static code flaw (incorrect sign) propagates to manifest as an active operational failure in the output.
Finally, write a Python class 'SystemFailureSimulator' that registers a mathematical operation name, the correct mathematical formula, and a faulty implementation formula. It must execute simulation runs, verify outcomes, identify active faults, and classify failures.
Provide a comprehensive Software Quality Engineering analysis on the definition, causes, and consequences of developer errors, contrasting them with the ISO-9126 Portability characteristic, based on Module 01, Sections K, L, M of the course handouts. Your analysis must address:
1. How an 'Error' is defined and its dual classification into syntax and semantic/logical categories.
2. The common root causes of errors (requirements confusion, miscalculations, misinterpretations) and how the cost of fixing logical errors scales with the size of the codebase.
3. Contrast the system-level focus of 'Portability' (environmental adaptation) with the programmer-centric focus of 'Errors'.
4. Analyze the PHP code example of the single-equals assignment semantic error within an conditional block and why compilers cannot easily detect this.
Finally, write a Python class 'SQEErrorAnalyzer' that parses code statements to detect common logical bugs (such as single-equals assignments in if conditions), estimates technical debt scaling based on lines of code (LOC), and outputs a CMMI-compliant defect prevention report.
Provide a comprehensive Software Quality Engineering analysis on the ISO-9126 quality characteristic of 'Efficiency', referencing Module 01, Section I of the course handouts. Your analysis must address:
1. Define 'Efficiency' as a quality characteristic and explain how it differs from functionality and reliability.
2. Detail the system resources that SQA teams must monitor when evaluating efficiency.
3. Analyze the UI load-time scenario mentioned in the handouts, explaining how network latency (bad internet connection) and software weight (heavyweight UI) interact to affect efficiency.
4. Explain how an SQA engineer can establish quantitative performance benchmarks for resource utilization to predict potential bottlenecks before release.
Finally, write a Python class 'SystemEfficiencyProfiler' that logs performance test runs (capturing elapsed execution time, memory usage, network payload size, and disk space consumed), evaluates them against non-functional requirement thresholds, and generates an audit report highlighting any efficiency bottlenecks.
Conduct a comprehensive software quality engineering analysis of 'Defect Detection or Reduction' as detailed in Module 01, Section W of the course handouts. Address:
1. The definition and primary purpose of defect detection and reduction activities.
2. Humphrey's model of competing processes, explaining the dynamic relationship between defect injection and defect removal.
3. The engineering rationale for why defect prevention cannot be 100% effective, and why organizations must design effective removal techniques under budget and schedule constraints.
Finally, write a Python class 'DefectLifeCycleSimulator' that tracks defect metrics across multiple SDLC phases. It must register injected defects, apply dynamic removal efficiency factors for each phase (such as Code Reviews, Unit Testing, and SQA Testing), and output a complete quality audit report.
Provide a comprehensive software quality engineering analysis of the Roles and Responsibilities of stakeholders as detailed in Module 01, Sections B, C, and D of the course handouts. Discuss:
1. How the expectations of 'Consumers' (comprising both Users and Customers) differ from those of 'Producers' (developers, managers, and maintainers).
2. The distinct focus areas for each category (e.g., functional suitability, cost, and reliability for Consumers vs. contractual specifications, methodologies, and usability/modifiability for Producers).
Finally, write a Python class 'SQAStakeholderExpectationManager' that registers features with associated attributes (functionality, reliability, cost, spec_conformance, modifiability), and evaluates these features from three distinct viewpoints: User, Customer, and Producer, returning a detailed compliance status report for each role.
Provide a comprehensive software quality engineering analysis of selecting and validating Off-the-Shelf (OTS) products (plugins) under CMMI standards, referencing Module 01, Sections D and E of the course handouts. Discuss:
1. How the selection of OTS products aligns with the 'Producer's' core concerns (contractual specification conformance and modifiability).
2. The definition, main purpose, and independent development/testing nature of plug-and-play plugins.
3. Why 'one solution does not fit all' and the SQA steps necessary to perform a 'proper analysis' to prevent integration and interface failures.
Finally, write a Python class 'OTSSelectionEvaluator' that registers multiple OTS plugin options, evaluates their suitability across multiple SQA criteria (licensing cost, compatibility with existing programming languages, security clearance, functional coverage, and developer modifiability), and selects the optimal plugin for a given project scenario.
Provide a comprehensive software quality engineering analysis on the different definitions, expectations, and roles in Software Quality Engineering, based on Module 01, Sections A, B, C, and D of the course handouts. Your analysis must address:
1. Why defining software quality is challenging in modern interconnected systems and the holistic role of Software Quality Engineering across the SDLC.
2. The concept of 'no cherry-picking of standards' and its importance in maintaining systematic quality control.
3. The distinct quality expectations of 'Users' and 'Customers' (Consumers) versus 'Producers' (Developers, Managers, Maintenance/Service teams, and third parties).
Finally, write a Python class 'SQEStakeholderAuditor' that registers stakeholder roles and their verified criteria, performs a quality audit from each stakeholder's perspective, and outputs a detailed stakeholder alignment report.
Perform an in-depth Software Quality Engineering analysis on the ISO-9126 quality characteristic of 'Maintainability', referencing Module 01, Section J of the course handouts. Your analysis must address:
1. Define 'Maintainability' as a quality characteristic and contrast it with 'Efficiency' in terms of target stakeholders and life-cycle focus.
2. Detail the four subcomponents of Maintainability (Analyzability, Changeability, Testability, and Stability), explaining how weaknesses in each subcomponent impact the SQA process.
3. Discuss the statement 'this feature is easier said than done' by analyzing how software design quality, periodic code reviews, and comprehensive documentation influence maintainability.
Finally, write a Python class 'MaintainabilityAuditor' that registers software modules with their design metrics (complexity, documentation ratio, test coverage, and duplication percentage), calculates a composite Maintainability Index (0-100) for each, and generates a structured CMMI-compliant audit report flagging modules that require immediate refactoring.