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