When a defect is discovered during the test phase., what is the earliest phase in the software lifecycle that could need rework to resolve the defect?
Answer : C
When a defect is discovered during the test phase, the earliest phase in the software lifecycle that could need rework to resolve the defect is often the requirements phase because:
Root Cause Analysis: Many defects originate from misunderstandings or errors in the initial requirements. If the requirements are incorrect or incomplete, it will affect all subsequent phases.
Impact on Design and Implementation: Incorrect requirements lead to flawed design and implementation, necessitating rework in these phases as well.
Cost of Fixing Defects: The cost and effort to fix defects increase exponentially the later they are found in the development lifecycle. Addressing issues at the requirements stage is more cost-effective.
A sprint started with 354 requirements. As the sprint progressed, 14 requirements were introduced, 6 requirements were removed, and 28 requirements were changed. What was the requirements volatility for this sprint?
Answer : C
Requirements volatility is calculated as the percentage of change in the total number of requirements during a sprint. The formula to calculate volatility is:
Volatility=(Introduced+Removed+Changed)Initial100\text{Volatility} = \frac{(\text{Introduced} + \text{Removed} + \text{Changed})}{\text{Initial}} \times 100Volatility=Initial(Introduced+Removed+Changed)100
Using the given data:
Initial requirements = 354
Introduced = 14
Removed = 6
Changed = 28
Volatility=(14+6+28)35410013.5%\text{Volatility} = \frac{(14 + 6 + 28)}{354} \times 100 \approx 13.5\%Volatility=354(14+6+28)10013.5%
'Agile Estimating and Planning' by Mike Cohn, which explains the concept of requirements volatility in agile projects.
Which of the following review meetings are held to examine aggregated performance information?
Answer : B
Management review meetings are typically held to examine aggregated performance information. These meetings focus on the overall progress, performance metrics, and strategic alignment of projects or programs. The goal is to ensure that objectives are being met, resources are used effectively, and any issues are addressed at a higher organizational level.
IEEE Std 1028-2008, which specifies various types of reviews, including management reviews.
'Software Engineering: A Practitioner's Approach' by Roger S. Pressman, which discusses management reviews in the context of software project management.
The use of a rigorous mathematical proof to analyze the algorithm of a software component is a feature of
Answer : D
Formal methods involve the use of rigorous mathematical proofs to analyze and verify the correctness of algorithms within a software component. This approach provides a high level of assurance in the reliability and correctness of the software by mathematically proving properties of the algorithm or system. Unlike boundary value analysis, functional decomposition, or dynamic analysis, formal methods use mathematical models to verify system behaviors and correctness without executing the system.
'Formal Methods: State of the Art and Future Directions' by Jeannette M. Wing.
IEEE Std 1002-1987, which outlines the application of formal methods in software engineering.
Which of the following elements must be in place for a measure to be reliable?
Answer : C
For a measure to be reliable, it must be consistently interpreted and applied across different contexts and by different people.
Operational Definition: An operational definition specifies the exact procedures or criteria used to measure something, ensuring consistency and repeatability.
Consistency: With a clear operational definition, different people can use the measure in the same way, which is crucial for reliability.
Clarity: This definition eliminates ambiguity and ensures that everyone understands what is being measured and how.
Example: If measuring 'response time,' the operational definition might specify that it is the time between a user submitting a request and the system's initial response.
One of the requirements in a software quality plan is to measure the average time software performs without a problem in a production environment during regular business hours under usual workload. This is an example of which of the following quality* attributes?
Answer : D
Measuring the average time software performs without a problem in a production environment during regular business hours under usual workload is an example of the reliability attribute. Reliability is concerned with:
System Dependability: The probability that the software will function without failure under given conditions for a specified period.
Error-Free Operation: Ensuring continuous operation without interruptions.
Reliability is critical for user trust and satisfaction, ensuring that the software consistently meets performance expectations.
IEEE Standard for Software Reliability
Software Engineering: Theory and Practice by Shari Lawrence Pfleeger and Joanne M. Atlee
Concurrently developing software primarily requires more
Answer : A
Concurrently developing software, where multiple developers work on different parts of the codebase simultaneously, requires more rigid version control. This is because:
Managing Changes: Ensuring that changes made by one developer do not conflict with changes made by another.
Maintaining History: Keeping a detailed record of modifications to understand the evolution of the codebase and to revert changes if necessary.
Robust version control systems (VCS) like Git facilitate concurrent development by managing branches, merges, and conflict resolution effectively.
Software Configuration Management Patterns: Effective Teamwork, Practical Integration by Stephen P. Berczuk and Brad Appleton