Download PSP1 Process Script, Codes and Instructions-Software Quality-Handout and more Exercises Software Development Methodologies in PDF only on Docsity!
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 Measurement 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
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 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.
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
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 measurement 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.
- 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 measurement 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
Example PSP1 Project Plan Summary
Student Date Program Program # Instructor Language
Summary Plan Actual To Date Size/Hour
Program Size Plan Actual To Date Base (B) (Measured) (Measured) Deleted (D) (Estimated) (Counted) Modified (M) (Estimated) (Counted) Added (A) (A+M − M) (T − B + D − R) Reused (R) (Estimated) (Counted) Added and Modified (A+M) (Projected) (A + M) Total Size (T) (A+M + B − M − D + R) (Measured) Total New Reusable
Estimated Proxy Size (E)
Time in Phase (min.) Plan Actual To Date To Date % Planning Design Code Compile Test Postmortem Total
Defects Injected Actual To Date To Date % Planning Design Code Compile Test Total Development
Defects Removed Actual To Date To Date % Planning Design Code Compile Test Total Development After Development
PROBE Estimating Script
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 side 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.
(continued)
PROBE Script (continued)
Step Activities Description 5 Time Estimating 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
Test Report Template Instructions
Purpose - To maintain a record of the tests run and the results obtained
- To be sufficiently complete so that you can later re-run the same tests and get the same results
- To facilitate regression testing of modified or reused programs General - Expand this table or use multiple copies as needed.
- Report all the tests that were successfully run.
- Be as brief and concise as possible.
Header -^ Enter your name and the date.
- Enter the program name and number.
- Enter the instructor’s name and the programming language you are using. Test Name/Number Uniquely identify each test for each program.
- the same tests with different data
- the same data with different tests Test Objective Briefly describe the objective of the test. Test Description Describe each test’s data and procedures in sufficient detail to facilitate its later use as a regression test. Test Conditions - List any special configuration, timing, fix, or other conditions of the test.
- When multiple tests are run with different parameters or under varying conditions, separately list each. Expected Results List the results that the test should produce if it runs properly. Actual Results List the results that were actually produced.
Size Estimating Template
Student Date Program Program # Instructor Language Size Measure
Estimated Base Parts Base Deleted Modified Added
Total B^ D^ M^ BA
Actual Base Parts Base Deleted Modified Added
Total
Estimated Actual Parts Additions Type Items Rel. Size Size Size Items**
Total PA
Estimated Actual Reused Parts Size Size
Total R
(continued)
Size Estimating Template Instructions
Purpose Use this form with the PROBE method to make size estimates. General - A part could be a module, component, product, or system.
- Where parts have a substructure of methods, procedures, functions, or similar elements, these lowest-level elements are called items.
- Size values are assumed to be in the unit specified in size measure.
- Avoid confusing base size with reuse size.
- Reuse parts must be used without modification.
- Use base size if additions, modifications, or deletions are planned.
- If a part is estimated but not produced, enter its actual values as zero.
- If a part is produced that was not estimated, enter it using zero for its planned values.
Header -^ Enter your name and the date.
- Enter the program name and number.
- Enter the instructor’s name and the programming language you are using.
- Enter the size measure you are using. Base Parts If this is a modification or enhancement of an existing product
- measure and enter the base size (more than one product may be entered as base)
- estimate and enter the size of the deleted, modified, and added size to the base program After development, measure and enter the actual size of the base program and any deletions, modifications, or additions. Parts Additions If you plan to add newly developed parts
- enter the part name, type, number of items (or methods), and relative size
- for each part, get the size per item from the appropriate relative size table, multiply this value by the number of items, and enter in estimated size
- put an asterisk next to the estimated size of any new-reusable additions After development, measure and enter
- the actual size of each new part or new part items
- the number of items for each new part Reused Parts If you plan to include reused parts, enter the
- name of each unmodified reused part
- size of each unmodified reused part After development, enter the actual size of each unmodified reused part.
PROBE Calculation Worksheet Instructions
Purpose Use this form with the PROBE method to make size and resource estimate calculations. General The PROBE method can be used for many kinds of estimates. Where development time correlates with added and modified size
- use the Added and Modified Calculation Worksheet
- enter the resulting estimates in the Project Plan Summary
- enter the projected added and modified value (P) in the added and modified plan space in the Project Plan Summary If development time correlates with some other combination of size- accounting types
- define and use a new PROBE Calculation Worksheet
- enter the resulting estimates in the Project Plan Summary
- use the selected combination of size accounting types to calculated the projected size value (P)
- enter this P value in the Project Plan Summary for the appropriate plan size for the size-accounting types being used
PROBE Calculations: Size (Added and Modified)
- Added Size (A): Total the added base code (BA) and Parts Additions (PA) to get Added Size (A).
- Estimated Proxy Size (E): Total the added (A) and modified (M) sizes and enter as (E).
- PROBE Estimating Basis Used: Analyze the available historical data and select the appropriate PROBE estimating basis (A, B, C, or D).
- Correlation: If PROBE estimating basis A or B is selected, enter the correlation value (R^2 ) for both size and time.
- Regression Parameters: Follow the procedure in the PROBE script to calculate the size and time regression parameters (β 0 and β 1 ), and enter them in the indicated fields.
- Projected Added and Modified Size (P): Using the size regression parameters and estimated proxy size (E), calculate the projected added and modified size (P) as P = β (^0) Size + β 1 Size *E.
- Estimated Total Size (T): Calculate the estimated total size as T = P+B-D-M+R.
- Estimated Total New Reusable (NR): Total and enter the new reusable items marked with *. PROBE Calculations: Time (Added and Modified)
- PROBE Estimating Basis Used: Analyze the available historical data and select the appropriate PROBE estimating basis (A, B, C, or D).
- Estimated Total Development Time: Using the time regression parameters and estimated proxy size (E), calculate the estimated development time as Time = β (^0) Time + β 1 Time *E.
PROBE Calculations: Prediction Range
- Calculate and enter the prediction range for both the size and time estimates.
- Calculate the upper (UPI) and lower (LPI) prediction intervals for both the size and time estimates.
- Prediction Interval Percent: List the probability percent used to calculate the prediction intervals (70% or 90%). After Development (Added and Modified)
Enter the actual sizes for base (B), deleted (D), modified (M), and added base code (BA), parts additions (PA), and reused parts (R).