This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Using PSP2, write a program to • calculate the linear regression parameters 0 and
1 and correlation
coefficients r and 2r for a set of n pairs of data • given an estimated proxy size E, calculate an improved prediction P, where
EP 10
• 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 E = 386 LOC.
Thoroughly test the program. At a minimum, run the following four test cases. • Test 1: Calculate the regression parameters and correlation coefficients
between column 2 (estimated proxy size) and column 4 (actual added and modified size) in Table 1. Calculate the improved prediction P given an estimated proxy size of E = 386.
• Test 2: Calculate the regression parameters and correlation coefficients E between column 2 (estimated proxy size) and column 5 (actual development time) in Table 1. Calculate the improved prediction P given an estimated proxy size of E = 386.
• Test 3: Calculate the regression parameters and correlation coefficients between column 3 (plan added and modified size) and column 4 (actual added and modified size) in Table 1. Calculate the improved prediction P given an estimated proxy size of E = 386.
• Test 4: Calculate the regression parameters and correlation coefficients between column 3 (plan added and modified size) and column 5 (actual development time) in Table 1. Calculate the improved prediction P given an estimated proxy size of E = 386.
0 1 r 2r P 0 1 r 2r P 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
Overview Linear regression is a way of optimally fitting to a set of data. We will use a
straight line. The regression selects the slope and intercept so that the sum total of the distance squared, of each point to that line along the y axis, is smallest. The equation to that line is
xy 10
In Figure 1, the best fit regression line has parameters of 0 = -4.0389 and 1 =
Looking at Figure 1, how many hours do you think it would take to develop a program with an estimated proxy size of 500? Using PROBE method A for time, the estimate would be
50010 teTimeEstima , or 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 sizes are used as the x values. In PROBE method B, plan added and modified sizes 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 modified LOC are used as the y values. To predict time estimates, actual development times are used as the y values.
Overview The correlation calculation determines the relationship between two sets of
numerical data. The correlation r 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 the PSP
Correlation is used in the PSP to judge the quality of the linear relation in various historical process data that are used for planning, such as the relationships between estimated proxy size and actual time or plan added and modified size and actual time. For this purpose, we examine the value of the relation r squared, or 2r .
If 2r is the relationship is
.9 2r predictive; use it with high confidence
.7 2r < .9 strong and can be used for planning
.5 2r < .7 adequate for planning but use with caution 2r < .5 not reliable for planning purposes
Limitations of correlation
Correlation doesn’t imply cause and effect. 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.
The formulas for calculating the regression parameters 0 and 1 are
2
1
2
11
avg
n
ii
avgavg
n
iii
nxx
ynxyx
avgavg xy 10
The formulas for calculating the correlation coefficient r and 2r are
2
11
2
2
11
2
111
n
ii
n
ii
n
ii
n
ii
n
ii
n
ii
n
iii
yynxxn
yxyxn
r
rrr *2
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 • avgx is the average of the x values
Before starting Program 3, review the top-level PSP2 process script below to 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.
PSP2 Process Script
Purpose To guide the development of module-level programs Entry Criteria - Problem description
- PSP2 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. - Complete a Task Planning template. - Complete a Schedule Planning template. - Enter the plan data in the Project Plan Summary form. - Complete the Time Recording log.
2 Development - Design the program. - Review the design, and fix and log all defects found. - Implement the design. - Review the code, and fix and log all defects found. - 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 and Task and Schedule Planning templates - Completed Design Review and Code Review checklists - Completed Test Report template - Completed PIP forms - Completed Time and Defect Recording logs
Planning phase Plan Program 3 following the PSP2 planning phase and the PROBE estimating scripts.
PSP2 Planning Script Purpose To guide the PSP planning process Entry Criteria - Problem description
- PSP2 Project Plan Summary form - Size Estimating, Task Planning, and Schedule Planning templates - Historical size and time data (estimated and actual) - Time Recording log
Step Activities Description 1 Program
Requirements - Produce or obtain a requirements statement for the program. - Ensure that the requirements statement is clear and unambiguous. - Resolve any questions.
2 Size Estimate
- Produce a program conceptual design. - 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 Estimate
- Use the PROBE method to estimate the time required to develop this program.
- Using the To Date % from the most recently developed program as a guide, distribute the development time over the planned project phases. (Note: This step is completed by the SEI student workbook.)
4 Task and Schedule Planning
For projects lasting several days or more, complete the Task Planning and Schedule Planning templates.
5 Defect Estimate
- Based on your to-date data on defects per added and modified size unit, estimate the total defects to be found in this program.
- Based on your To Date % data, estimate the number of defects to be injected and removed by phase.
Exit Criteria - Documented requirements statement - Program conceptual design - Completed Size Estimating template - For projects lasting several days or more, completed Task and Schedule
Planning templates - Completed Project Plan Summary form with estimated program size,
development time, and defect data - Completed Time Recording log
Verify that you have met all of the exit criteria for the planning phase, and then
have an instructor review your plan. After your plan has been reviewed, proceed to the development phase.
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
Reused Parts - For the base program, estimate the size of the base, deleted, modified,
and added code. - Measure and/or estimate the size of the parts to be reused.
4 Size Estimating Procedure
- If you have sufficient estimated proxy size and actual added and modified 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
Procedure 4C If you have any data on plan added and modified size and actual added and
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
Procedure 4D If you have no historical data, use your judgment to estimate added and modified size.
Procedure - If you have sufficient estimated proxy size and actual development time
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
Procedure 5C - If you have data on estimated – added and modified size and actual
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 Procedure 5D
If you have no historical data, use your judgment to estimate the development time from the estimated added and modified size.
6 Time and Size Prediction Intervals
- If you used regression method A or B, calculate the 70% prediction 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
Develop the program following the PSP2 development phase script.
PSP2 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
- For projects lasting several days or more, completed Task Planning and Schedule Planning templates
- 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 Design Review
- Follow the Design Review script and checklist to review the design. - Fix all defects found. - Record defects in the Defect Recording log. - Record time in the Time Recording log.
3 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.
4 Code Review
- Follow the Code Review script and checklist to review the code. - Fix all defects found. - Record defects in the Defect Recording log. - Record time in the Time Recording log.
5 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.
6 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 Design Review and Code Review checklists - Completed Test Report template - Completed Time and Defect Recording logs
Verify that you have met all of the exit criteria for the development phase, and then proceed to the postmortem phase.
Review your designs following the PSP2 design review script.
PSP2 Design Review Script
Purpose To guide you in reviewing detailed designs Entry Criteria - Completed program design
- Design Review checklist - Design standard - Defect Type standard - Time and Defect Recording logs
General Where the design was previously verified, check that the analyses - covered all of the design - were updated for all design changes - are correct - are clear and complete
Step Activities Description 1 Preparation Examine the program and checklist and decide on a review strategy. 2 Review - Follow the Design Review checklist.
- Review the entire program for each checklist category; do not try to review for more than one category at a time!
- Check off each item as you complete it. - Complete a separate checklist for each product or product segment
reviewed. 3 Fix Check - Check each defect fix for correctness.
- Re-review all changes. - Record any fix defects as new defects and, where you know the defective
defect number, enter it in the fix defect space.
Exit Criteria - A fully reviewed detailed design - One or more Design Review checklists for every design reviewed - All identified defects fixed and all fixes checked - Completed Time and Defect Recording logs
- Review the entire program for each checklist category; do not try to review for more than one category at a time!
- Check off each item as it is completed. - For multiple procedures or programs, complete a separate checklist for
each. 2 Correct - Correct all defects.
- If the correction cannot be completed, abort the review and return to the prior process phase.
- To facilitate defect analysis, record all of the data specified in the Defect Recording log instructions for every defect.
3 Check - Check each defect fix for correctness. - Re-review all design changes. - Record any fix defects as new defects and, where you know the number of
the defect with the incorrect fix, enter it in the fix defect space.
Exit Criteria - A fully reviewed source program - One or more Code Review checklists for every program reviewed - All identified defects fixed - Completed Time and Defect Recording logs
Conduct the postmortem following the PSP2 postmortem script.
PSP2 Postmortem Script
Purpose To guide the PSP postmortem process Entry Criteria - Problem description and requirements statement
- Project Plan Summary form with program size, development time, and defect data
- For projects lasting several days or more, completed Task Planning and Schedule Planning templates
- Completed Test Report template - Completed Design Review and Code Review checklists - 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 Consistency
- Check that the data on every defect in the Defect Recording log are accurate and complete.
- Verify that the numbers of defects injected and removed per phase are reasonable and correct.
- Determine the process yield and verify that the value is 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, deleted, modified, base additions, reused, new reusable code, and added parts.
- Enter these data in the Size Estimating template. - Determine the total program size. - Enter this 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 Design Review and Code Review checklists - 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 PSP2 postmortem phase, and then review your assignment.
Use the attached grading checklist to check your assignment. Ensure that your assignment is correct before you submit it.
Your process data must be
complete accurate precise self-consistent
Submitting your assignment
When you’ve completed your review, package the following data files into a zip file and upload the zip file to the program 3 assignment page on the SEI Learning Portal.
Process data (mdb export file from SEI Student Workbook or zip data backup file from Process Dashboard).
Source program listing. Test results. Test Report doc file (Process Dashboard only). PIP form doc file (Process Dashboard only). Design review checklist. Code review checklist.
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 clarification. 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.
Legend - O.K. X - resubmit sw - SEI Student Workbook pd - Process Dashboard
Assignment Package Comments
All files are included Process data file { .mdb (sw) or .zip (pd) } Source program listing Test results Test report .doc file (pd only) PIP form .doc file (pd only) Design Review Checklist Code Review Checklist
Program and Test Results Comments
The program appears to be workable. All required tests have been run. The actual output is correct for each test. Source is compatible with coding standard.
Test Report Template Comments
The test report is complete
Planned and actual results are included for all required tests.
All information to repeat the tests is provided.
Time Log Comments
Times are entered for all process steps and the steps are in proper order
Interrupt time is tracked appropriately. Time data are complete and reasonable. Times were recorded as the work was done.
Defect Log Comments
Every defect has all required data. Every defect, injection phase precedes removal phase. Every defect has a fix time. Defects injected in compile and test have fix numbers. Defect descriptions describe what was changed. Defect types are consistent with description. Defect types are consistent with phase injected.