Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
32 views24 pages

Asgkit Prog3

The document provides instructions for Program 3 of the Personal Software Process, which requires students to: 1) Calculate linear regression parameters and correlation coefficients for estimating effort from historical data. 2) Enhance a linked list to store pairs of data values for regression analysis. 3) Conduct four tests calculating regression results and effort estimates using example data for 11 projects. Expected results are provided for comparison.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views24 pages

Asgkit Prog3

The document provides instructions for Program 3 of the Personal Software Process, which requires students to: 1) Calculate linear regression parameters and correlation coefficients for estimating effort from historical data. 2) Enhance a linked list to store pairs of data values for regression analysis. 3) Conduct four tests calculating regression results and effort estimates using example data for 11 projects. Expected results are provided for comparison.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Assignment Kit for

Program 3

________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________

Personal Software Process (PSP) for Engineers: Part I

The Software Engineering Institute (SEI)


is a federally funded research and development center
sponsored by the U.S. Department of Defense and
operated by Carnegie Mellon University.

This material is approved for public release.


Distribution limited by the Software Engineering Institute to attendees.

Program 3 January 2006 1 © 2006 by Carnegie Mellon University


Personal Software Process for Engineers: Part I
Assignment Kit for Program 3
Overview

Overview This assignment kit covers the following topics.

Section See Page


Prerequisites 2
Program 3 requirements 3
Regression overview 5
Correlation overview 6
Calculating regression and correlation 8
An example 9
Assignment instructions 11
Guidelines and evaluation criteria 18

Prerequisites Reading
•Chapters 5 and 6

Program 3 January 2006 2 © 2006 by Carnegie Mellon University


Program 3 requirements

Program 3 Using PSP1, write a program to


requirements β1
•calculate the linear regression parameters β 0 and and correlation
r 2
coef cients x , y and r for a set of n pairs of data,
•given an estimate, x k calculate an improved prediction, yk where
yk = β 0 + β1 xk
•enhance the linked list developed in program 1 to store the n data sets, where
each record holds two real numbers

Table 1 contains historical estimated and actual data for 10 programs. For
program 11, the developer has estimated a proxy size of 386 LOC.
Thoroughly test the program. At a minimum, run the following four test cases.
•Test 1: Calculate the regression parameters and correlation coef cients
between estimated proxy size and actual added and modi ed size in Table 1.
Calculate plan added and modi ed size given an estimated proxy size of x k =
386.
•Test 2: Calculate the regression parameters and regression coef cients
between estimated proxy size and actual development time in Table 1.
Calculate time estimate given an estimated proxy size of x k = 386.
•Test 3: Calculate the regression parameters and regression coef cients
between plan added and modi ed size and actual added and modi ed size in
Table 1. Calculate plan added and modi ed size given an estimated proxy
size of x k = 386.
•Test 4: Calculate the regression parameters and regression coef cients
between plan added and modi ed size and actual development time in Table
1. Calculate time estimate given an estimated proxy size of x k = 386.

Expected results are provided in Table 2.

Program Estimated Plan Added and Actual Added Actual


Number Proxy Size Modi ed size and Modi ed Size Development
Hours

1 130 163 186 15.0

2 650 765 699 69.9

3 99 141 132 6.5

4 150 166 272 22.4

5 128 137 291 28.4

Program 3 January 2006 3 © 2006 by Carnegie Mellon University


fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
6 302 355 331 65.9

7 95 136 199 19.4

8 945 1206 1890 198.7

9 368 433 788 38.8

10 961 1130 1601 138.2

Table 1

Continued on next page

Program 3 January 2006 4 © 2006 by Carnegie Mellon University


Program 3 requirements, Continued

Expected
results

Test Expected Values Actual Values


β0 β1 rx , y r2 yk β0 β1 rx , y r2 yk

Test 1 -22.55 1.7279 0.9545 0.9111 644.429


Test 2 -4.039 0.1681 0.9333 .8711 60.858
Test 3 -23.92 1.43097 .9631 .9276 528.4294
Test 4 -4.604 0.140164 .9480 .8988 49.4994

Table 2

Program 3 January 2006 5 © 2006 by Carnegie Mellon University


Regression

Overview Linear regression is a way of optimally tting a line to a set of data. The linear
regression line is the line where the distance from all points to that line is
minimized. The equation of a line can be written as
y = β 0 + β1 x

In Figure 1, the best t regression line has parameters of β 0 = -4.0389 and β1


= 0.1681.

ev
ct

m
al

el
A

D
u

o
p

Program 3 January 2006 6 © 2006 by Carnegie Mellon University


fi
fi
Figure 1

Continued on next page

Program 3 January 2006 7 © 2006 by Carnegie Mellon University


Regression, Continued

Using regression in Looking at Figure 1, how many hours do you think it would take to develop a
the PSP program with an estimated proxy size of 500?

Using PROBE method A for time, the estimate would be


TimeEstimate = β 0 + β1 (500 ) or an estimate of 80.011 hours.

The PSP PROBE method uses regression parameters to make better predictions
of size and time based on your historical data.

PROBE methods A and B differ only in the historical data (x values) used to
calculate the regression parameters. In PROBE method A, estimated proxy
size are used as the x values. In PROBE method B, plan added and modi ed
size are used as the x values.

PROBE methods for size and time differ only in the historical data (y values)
used to calculate the regression parameters. To predict improved size
estimates, actual added and modi ed LOC are used as the y values. To
predict time estimates, actual development times are used as the y values.

Historical Data Used x values y values


PROBE A Estimated Proxy Actual Added and
Size Modi ed Size
Size Estimating
PROBE B Plan Added and Actual Added and
Modi ed Size Modi ed Size
PROBE A Estimated Proxy Actual
Size Development Time
Time Estimating
PROBE B Plan Added and Actual
Modi ed Size Development Time

Program 3 January 2006 8 © 2006 by Carnegie Mellon University


fi
fi
fi
fi
fi
fi
Correlation

Overview The correlation calculation determines the relationship between two sets of
numerical data.

r
The correlation x , y can range from +1 to -1.
•Results near +1 imply a strong positive relationship; when x increases, so does
y.
•Results near -1 imply a strong negative relationship; when x increases, y
decreases.
•Results near 0 imply no relationship.

Using correlation in Correlation is used in the PSP to judge the quality of the linear relation in
the PSP various historical process data that are used for planning. For example, the
relationships between estimated proxy size and actual time or plan added and
modi ed size and actual time.

2
For this purpose, we examine the value of the relation rxy squared, or r .

2
If r is the relationship is
2 predictive; use it with high con dence
.9 ≤ r
2
.7 ≤ r < .9 strong and can be used for planning
2
.5 ≤ r < .7 adequate for planning but use with caution

r 2 < .5 not reliable for planning purposes

Limitations of Correlation doesn’t imply cause and effect.


correlation
A strong correlation may be coincidental.
From 1840 to 1960, no U.S. president elected in a
year ending in 0 survived his presidency.
Coincidence or Correlation?

Many coincidental correlations may be found in historical process data.

To use a correlation, you must understand the cause-and-effect relationship in the


process.

Program 3 January 2006 9 © 2006 by Carnegie Mellon University


fi
fi
Program 3 January 2006 10 © 2006 by Carnegie Mellon University
Calculating regression and correlation

Calculating β1
regression and The formulas for calculating the regression parameters β 0 and are
correlation n
⎛ ⎞
⎜ ∑ xi yi ⎟ − (nxavg yavg )
β1 = ⎝ i =1 n ⎠
⎛ ⎞
(
⎜ ∑ xi2 ⎟ − nxavg
2
)
⎝ i =1 ⎠

β 0 = yavg − β1 xavg

rx , y 2
The formulas for calculating the correlation coef cient and r are

⎛ n ⎞ ⎛ n ⎞⎛ n ⎞
n⎜ ∑ xi yi ⎟ − ⎜ ∑ xi ⎟⎜ ∑ yi ⎟
rx , y = ⎝ i =1 ⎠ ⎝ i =1 ⎠⎝ i =1 ⎠
⎡ ⎛ n 2 ⎞ ⎛ n ⎞2 ⎤ ⎡ ⎛ n 2 ⎞ ⎛ n ⎞2 ⎤
⎢n⎜ ∑ xi ⎟ − ⎜ ∑ xi ⎟ ⎥ ⎢n⎜ ∑ yi ⎟ − ⎜ ∑ yi ⎟ ⎥
⎢⎣ ⎝ i =1 ⎠ ⎝ i =1 ⎠ ⎥⎦ ⎢⎣ ⎝ i =1 ⎠ ⎝ i =1 ⎠ ⎥⎦

r2 = r *r

where
•Σ is the symbol for summation
•i is an index to the n numbers
•x and y are the two paired sets of data
•n is the number of items in each set x and y
x
• avg is the average of the x values
y
• avg is the average of the y values

Program 3 January 2006 11 © 2006 by Carnegie Mellon University


fi
An example

A regression example β1
In this example, we will calculate the regression parameters ( β 0 and
r 2
values) and correlation coef cients x , y and r of the data in the Table 3.

n x y
1 130 186
2 650 699
3 99 132
4 150 272
5 128 291
6 302 331
7 95 199
8 945 1890
9 368 788
10 961 1601

Table 3

⎛ n ⎞
⎜ ∑ xi yi ⎟ − (nxavg yavg )
β1 = ⎝ i =1 n ⎠
⎛ ⎞
(
⎜ ∑ xi2 ⎟ − nxavg
2
)
⎝ i =1 ⎠

1. In this example there are 10 items in each dataset and therefore we set n = 10.
2. We can now solve the summation items in the formulas.

n x y x2 x*y y2
1 130 186 16900 24180 34596

2 650 699 422500 454350 488601

3 99 132 9801 13068 17424

4 150 272 22500 40800 73984

5 128 291 16384 37248 84681

Program 3 January 2006 12 © 2006 by Carnegie Mellon University


fi
6 302 331 91204 99962 109561

7 95 199 9025 18905 39601

8 945 1890 893025 1786050 3572100

9 368 788 135424 289984 620944

10 961 1601 923521 1538561 2563201


10 10 10 10 10
Total 2 2
∑ xi = 3828 ∑ yi = 6389 ∑x
i =1
i = 2540284 ∑x y
i =1
i i = 4303108 ∑y
i =1
i = 7604693
i =1 i =1

3828 6389
xavg = = 382.8 yavg = = 638.9
10 10

Continued on next page

Program 3 January 2006 13 © 2006 by Carnegie Mellon University


A regression example, Continued

An example, cont. 3. We can then substitute the values into the formulas

β1 =
(4303108)− (10 * 382.8 * 638.9)
(2540284)− (10 * 382.82 )

1857399
β1 = = 1.727932
1074926

10(4303108)− (3828)(6389 )
rx , y =
[10(2540284)− (3828) ][10(7604693)− (6389) ]
2 2

18573988
rx , y =
[10749256][35227609]

18573988
rx , y =
19459460.1

rx , y = 0.9545

r 2 = 0.9111

4. We can then substitute the values in the β 0 formula


β 0 = yavg − β1 xavg

β 0 = 638.9 − 1.727932 * 382.8 = −22.5525

5. We now nd yk from the formula yk = β 0 + β1 xk

yk = −22.5525 + 1.727932 * 386 = 644.4294

Program 3 January 2006 14 © 2006 by Carnegie Mellon University


fi
Assignment instructions

Assignment Before starting program 3, review the top-level PSP1 process script below to
instructions ensure that you understand the “big picture” before you begin. Also, ensure that
you have all of the required inputs before you begin the planning phase.

PSP1 Process Script

Purpose To guide the development of module-level programs


Entry Criteria - Problem description
- PSP1 Project Plan Summary form
- Size Estimating template
- Historical size and time data (estimated and actual)
- Time and Defect Recording logs
- Defect Type, Coding, and Size Counting standards
- Stopwatch (optional)

Step Activities Description


1 Planning - Produce or obtain a requirements statement.
- Use the PROBE method to estimate the added and modified size of this
program.
- Complete the Size Estimating template.
- Use the PROBE method to estimate the required development time.
- Enter the plan data in the Project Plan Summary form.
- Complete the Time Recording log.
2 Development - Design the program.
- Implement the design.
- Compile the program, and fix and log all defects found.
- Test the program, and fix and log all defects found.
- Complete the Time Recording log.
3 Postmortem Complete the Project Plan Summary form with actual time, defect, and size
data.

Exit Criteria - A thoroughly tested program


- Completed Project Plan Summary form with estimated and actual data
- Completed Size Estimating template
- Completed Test Report template
- Completed PIP forms
- Completed Time and Defect Recording logs

Continued on next page

Program 3 January 2006 15 © 2006 by Carnegie Mellon University


Assignment instructions, Continued

Planning phase Plan program 3 following the PSP1 planning phase and the PROBE estimating
scripts.

PSP1 Planning Script

Purpose To guide the PSP planning process


Entry Criteria - Problem description
- PSP1 Project Plan Summary form
- Size Estimating template
- Historical size and time data (estimated and actual)
- Time Recording log

Step Activities Description


1 Program - Produce or obtain a requirements statement for the program.
Requirements - Ensure that the requirements statement is clear and unambiguous.
- Resolve any questions.
2 Size - Produce a program conceptual design.
Estimate - Use the PROBE method to estimate the added and modified size of this
program.
- Complete the Size Estimating template and Project Plan Summary form.
3 Resource - Use the PROBE method to estimate the time required to develop this
Estimate program.
- Using the To Date % from the most recently developed program as a
guide, distribute the development time over the planned project phases.

Exit Criteria - Documented requirements statement


- Program conceptual design
- Completed Size Estimating template
- Completed Project Plan Summary form with estimated program size and
development time data
- Completed Time Recording log

Verify that you have met all of the exit criteria for the planning phase, then
have an instructor review your plan. After your plan has been reviewed,
proceed to the development phase.

Continued on next page

Program 3 January 2006 16 © 2006 by Carnegie Mellon University


Assignment instructions, Continued

Program 3 January 2006 17 © 2006 by Carnegie Mellon University


Use the PROBE method to create size and resource estimates.

Purpose To guide the size and time estimating process using the PROBE method
Entry Criteria - Requirements statement
- Size Estimating template and instructions
- Size per item data for part types
- Time Recording log
- Historical size and time data
General - This script assumes that you are using added and modified size data as the
size-accounting types for making size and time estimates.
- If you choose some other size-accounting types, replace every “added and
modified” in this script with the size-accounting types of your choice.

Step Activities Description


1 Conceptual Design Review the requirements and produce a conceptual design.
2 Parts Additions Follow the Size Estimating Template instructions to estimate the parts
additions and the new reusable parts sizes.
3 Base Parts and - For the base program, estimate the size of the base, deleted, modified, and
Reused Parts added code.
- Measure and/or estimate the size of the parts to be reused.
4 Size Estimating - If you have sufficient estimated proxy size and actual added and modified
Procedure size data (three or more points that correlate), use procedure 4A.
- If you do not have sufficient estimated data but have sufficient plan added
and modified and actual added and modified size data (three or more
points that correlate), use procedure 4B.
- If you have insufficient data or they do not correlate, use procedure 4C.
- If you have no historical data, use procedure 4D.
4A Size Estimating β
Procedure 4A - Using the linear-regression method, calculate the 0 and β 1 parameters
from the estimated proxy size and actual added and modified size data.

- If the absolute value of


β 0 is not near 0 (less than about 25% of the

expected size of the new program), or β 1 is not near 1.0 (between about
0.5 and 2.0), use procedure 4B.
4B Size Estimating β
Procedure 4B - Using the linear-regression method, calculate the 0 and β 1 parameters
from the plan added and modified size and actual added and modified size
data.

- If the absolute value of


β 0 is not near 0 (less than about 25% of the

expected size of the new program), or


β 1 is not near 1.0 (between about
0.5 and 2.0), use procedure 4C.
4C Size Estimating If you have any data on plan added and modified size and actual added and
Procedure 4C β
modified size, set 0 = 0 and β 1 = (actual total added and modified size to
date/plan total added and modified size to date).
4D Size Estimating If you have no historical data, use your judgment to estimate added and
Procedure 4D modified size.
(continued)

Program 3 January 2006 18 © 2006 by Carnegie Mellon University


Continued on next page

Program 3 January 2006 19 © 2006 by Carnegie Mellon University


Assignment instructions, Continued
PROBE Estimating Script (Continued)

Step Activities Description


5 Time Estimating - If you have sufficient estimated proxy size and actual development time
Procedure data (three or more points that correlate), use procedure 5A.
- If you do not have sufficient estimated size data but have sufficient plan
added and modified size and actual development time data (three or more
points that correlate), use procedure 5B.
- If you have insufficient data or they do not correlate, use procedure 5C.
- If you have no historical data, use procedure 5D.
5A Time Estimating β
Procedure 5A - Using the linear-regression method, calculate the 0 and β 1 parameters
from the estimated proxy size and actual total development time data.

- If
β 0 is not near 0 (substantially smaller than the expected development
β
time for the new program), or 1 is not within 50% of 1/(historical
productivity), use procedure 5B.
5B Time Estimating β
Procedure 5B - Using the linear-regression method, calculate the 0 and β 1 regression
parameters from the plan added and modified size and actual total
development time data.

- If
β 0 is not near 0 (substantially smaller than the expected development
β
time for the new program), or 1 is not within 50% of 1/(historical
productivity), use procedure 5C.
5C Time Estimating - If you have data on estimated – added and modified size and actual
Procedure 5C β
development time, set 0 = 0 and β 1 = (actual total development time to
date/estimated – total added and modified size to date).
- If you have data on plan – added and modified size and actual
β β
development time, set 0 = 0 and 1 = (actual total development time to
date/plan total added and modified size to date).
β
- If you only have actual time and size data, set 0 = 0 and β 1 = (actual
total development time to date/actual total added and modified size to
date).
5D Time Estimating If you have no historical data, use your judgment to estimate the
Procedure 5D development time from the estimated added and modified size.
6 Time and Size - If you used regression method A or B, calculate the 70% prediction
Prediction Intervals intervals for the time and size estimates.
- If you did not use the regression method or do not know how to calculate
the prediction interval, calculate the minimum and maximum
development time estimate limits from your historical maximum and
minimum productivity for the programs written to date.

Exit Criteria - Completed estimated and actual entries for all pertinent size categories
- Completed PROBE Calculation Worksheet with size and time entries
- Plan and actual values entered on the Project Plan Summary

Continued on next page

Program 3 January 2006 20 © 2006 by Carnegie Mellon University


Assignment instructions, Continued

Development Develop the program following the PSP1 development phase script.
phase
PSP1 Development Script

Purpose To guide the development of small programs


Entry Criteria - Requirements statement
- Project Plan Summary form with estimated program size and
development time
- Time and Defect Recording logs
- Defect Type standard and Coding standard

Step Activities Description


1 Design - Review the requirements and produce a design to meet them.
- Record in the Defect Recording log any requirements defects found.
- Record time in the Time Recording log.
2 Code - Implement the design following the Coding standard.
- Record in the Defect Recording log any requirements or design defects
found.
- Record time in the Time Recording log.
3 Compile - Compile the program until there are no compile errors.
- Fix all defects found.
- Record defects in the Defect Recording log.
- Record time in the Time Recording log.
4 Test - Test until all tests run without error.
- Fix all defects found.
- Record defects in the Defect Recording log.
- Record time in the Time Recording log.
- Complete a Test Report template on the tests conducted and the results
obtained.

Exit Criteria - A thoroughly tested program that conforms to the Coding standard
- Completed Test Report template
- Completed Time and Defect Recording logs

Verify that you have met all of the exit criteria for the development phase, then
proceed to the postmortem phase.

Continued on next page

Program 3 January 2006 21 © 2006 by Carnegie Mellon University


Assignment instructions, Continued

Postmortem
phase Conduct the postmortem following the PSP1 postmortem script.

PSP1 Postmortem Script


Purpose To guide the PSP postmortem process
Entry Criteria - Problem description and requirements statement
- Project Plan Summary form with program size and development time data
- Completed Test Report template
- Completed Time and Defect Recording logs
- A tested and running program that conforms to the coding and size
counting standards

Step Activities Description


1 Defect Recording - Review the Project Plan Summary to verify that all of the defects found in
each phase were recorded.
- Using your best recollection, record any omitted defects.
2 Defect Data - Check that the data on every defect in the Defect Recording log are
Consistency accurate and complete.
- Verify that the numbers of defects injected and removed per phase are
reasonable and correct.
- Using your best recollection, correct any missing or incorrect defect data.
3 Size - Count the size of the completed program.
- Determine the size of the base, reused, deleted, modified, added, total,
added and modified, and new reusable code.
- Enter these data in the Project Plan Summary form.
4 Time - Review the completed Time Recording log for errors or omissions.
- Using your best recollection, correct any missing or incomplete time data.

Exit Criteria - A thoroughly tested program that conforms to the coding and size
counting standards
- Completed Test Report template
- Completed Project Plan Summary form
- Completed PIP forms describing process problems, improvement
suggestions, and lessons learned
- Completed Time and Defect Recording logs

Verify that you have met all of the exit criteria for the PSP1 postmortem phase, then
submit your assignment.

Continued on next page

Program 3 January 2006 22 © 2006 by Carnegie Mellon University


Assignment instructions, Continued

Submitting your When you’ve completed the postmortem phase, submit your assignment
assignment package, source code, and test results to the instructor.

The order for the assignment package is


• PSP1 Project Plan Summary form
• Test Report template
• PIP form
• Size Estimating template
• PROBE Calculation worksheet
• Time Recording log
• Defect Recording log
• source program listing
• test results

Program 3 January 2006 23 © 2006 by Carnegie Mellon University


Guidelines and evaluation criteria for program 3

Evaluation Your process report must be Your process data must be


criteria • complete • accurate
• legible • precise
• in the speci ed order • self-consistent

Suggestions Remember, you should complete this assignment today.

Keep your programs simple. You will learn as much from developing small
programs as from large ones.

If you are not sure about something, ask your instructor for clari cation.

Software is not a solo business, so you do not have to work alone.


- You must, however, produce your own estimates, designs, code, and
completed forms and reports.
- You may have others review your work, and you may change it as a result.
- You should note any help you receive from others in your process report.
Log the review time that you and your associates spend, and log the defects
found or any changes made.

Program 3 January 2006 24 © 2006 by Carnegie Mellon University


fi
fi

You might also like