CS577B HOMEWORK ASSIGNMENT #2
Due April 8
Show all your work
1. (20 points) Use the defect amplification model discussed in class on 3/25 for this problem. Assume a development lifecycle contains the following phases: 1) requirements, 2)design, 3) code/unit test, and 5) integration and test. Assume the following defect amplification factors: 1.5 from requirements and design, 1.3 from design to code/unit test. One half of all errors entering design and code/unit test are amplified per these factors.
(a) How many defects are in the final product if 150 defects are introduced in requirements, 120 in design, and 50 in code and unit test? Defects are only detected 30% in unit test and 50% in integration and test. Show ingoing and outgoing defect levels in all phases.
(b) Repeat the analysis for the case of performing reviews. Formal reviews are used with the following defect detection efficiencies (yields): requirements - 60%, design - 60%, code and unit test - 75% (the latter includes unit testing yield), integration and test - 50% (same as the first case).
(c) How would your answer differ in part (b) if the code/unit test defect elimination activities were done sequentially? Assume that 15% of defects are caught in unit testing, then 60% of the remaining defects are found during reviews.
(d) What is the difference in defect fixing costs between the cases for (a) and (b) with the following average fixing costs: defects fixed in requirements take 10 hours, those fixed in design take 40 hours, those fixed in code/unit test take 70 hours, and those fixed during testing take 150 hours.
2. (20 points) Analyze the following defect data. Produce three Pareto column charts (or tables in descending order) showing 1) the distribution of defect origins, 2) an effort-weighted distribution of defect origins showing the normalized hours to fix defects, 3) effort-weighted distribution of defect types for the top two defect origins from chart #1. Make summary suggestions for the development process.
Defect # Origin Type
1 Documentation Standards
2 Code Data Handling
3 Documentation Interprocess Communication
4 Design S/W Interface
5 Code Computation
6 Code Data Handling
7 Specification User Interface
8 Design Interprocess Communication
9 Specification Functionality
10 Code Data Handling
11 Design User Interface
12 Code Data Handling
13 Design H/W Interface
14 Other Interprocess Communication
15 Code Computation
16 Other Interprocess Communication
17 Specification Functionality
18 Code Computation
19 Code Data Handling
20 Design Logic
21 Specification User Interface
22 Code Computation
23 Code Logic
Weighting factors - normalized cost to fix defect types if not found until testing.
Specification 18(e.g. it takes 18 times as much effort to fix a
specification defect in the test phase compared to
in the specification phase)
Design 7.3
Code 2.8
Documentation 1
Other 1
Operator 1
3. (15 points) The following defect data is from a completed project, and another one with the same generic component types is being planned with no reuse. Analyze the data, identify the highest risks and make suggestions for the new project.
| Component | Type | Rework hours |
| C | communication | 23 |
| B | communication | 34 |
| B | hardware interface | 13 |
| A | hardware interface | 39 |
| A | communication | 35 |
| A | logic | 18 |
| B | standards | 4 |
| A | logic | 18 |
| A | logic | 37 |
| D | user interface | 5 |
| C | logic | 22 |
| D | user interface | 12 |
| D | user interface | 9 |
| A | standards | 13 |
| C | computation | 15 |
| C | communication | 45 |
| D | logic | 16 |
4. (25 points) Perform a tradeoff analysis between three system architectural options based on the following criteria and weighting factors. The values for the three options are as follows:
| Criterion | Option 1 | Option 2 | Option 3 |
| cost | $.9 M | $1.4 M | $2.2 M |
| schedule | 18 weeks | 32 weeks | 54 weeks |
| user response time | 550 ms | 300 ms | 120 ms |
| COTS licensing fees | $28 K | $35 K | $1K |
| maintainability (1-5), 5 is best | 2 | 4 | 4 |
| throughput | 30 transactions per minute | 70 transactions per minute | 90 transactions per minute |
Weight the criteria per the following from 0 to 10: cost - 8, schedule - 9, user response time - 6, COTS licensing fees - 3, maintainability - 7, and throughput - 8.
Take into account whether the largest or smallest criterion value is the best choice. The following algorithm will provide a normalized and meaningful criterion measure.
For every criterion Ci perform the following steps to compute Ni,j, the normalized value of criterion Ci for alternative Aj, for j=1,2, ...k
1. Let Vi,p be the best-case value for alternative p. Note that Vi,p may be the largest (or the smallest) value of Vi,j for j=1,2,...,k
2. Set Vi,p to a fixed value. The value of 100 will be used for normalization. So, set Vi,p = 100. Note that in this case we always have Ni,p = 100.
3. For j=1,2,...k
if Vi,j <= Vi,p then compute Ni,j = Vi,j / Vi,p * 100 else compute Ni,j = Vi,p / Vi,j * 100
5. (20 points) Determine the most cost-effective combination of activities to use with a defect elimination budget of $40,000. Each chosen activity must be performed in all applicable phases where defects are eliminated, and assume no overlap between activities.
| Defects eliminated per phase | ||||
| Activity | Requirements | Design | Code | Cost to run |
| Inspections | 130 | 220 | 85 | $28,000 |
| Simulation | 27 | 40 | $4,000 | |
| Rqts. tools | 24 | $9,000 | ||
| Design tools | 5 | 78 | $7,500 | |
| Unit testing tools | 5 | 46 | $2,000 | |
| Code analysis tools | 35 | $4,000 | ||
| Savings/defect | $500 | $120 | $50 | |