Program 2 Assignment Kit
Program 2 Assignment Kit
Program 2
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
PSP Fundamentals
Program 2
June 2012
PSP Fundamentals
Assignment Kit for Program 2
Overview
This assignment kit covers the following topics.
Topics
Section
Prerequisites
See Page
Prerequisites
Program 2 requirements
Program 2 hints
Assignment instructions
11
13
Reading
Chapters 3, 4, and 5
Assignments
Coding/Counting standard
Program 2
June 2012
Program 2 requirements
Program 2
requirements
Part Size
Total Size
86
8
92
212
Table 1
Program 2
June 2012
Program 2 hints
Do not try to write a sophisticated counting program.
Hints
For LOC counting, follow the counting strategy suggested in Chapter 3, page
48, Size Counters.
Also consider echoing out the input files with each line pre-pended with a
running part count, for example
1
2
3
this is line 1
this is line 2
this is a comment
this is the third line
You may hand-in the file with the line numbers for your source programs.
If the classes, functions, embedded code, or anything else in your programming
language is hard to identify and count, consider including special comments to
identify such things for your counting program. Remember to modify your
coding/counting standard to include these comments. You will also have to
include such comments in every program, including Program 1.
For database applications or other languages where the LOC measure may not
be appropriate, identify the items that you think could provide useful counts.
Be as complete as you can while keeping the counting approach simple. A
simple sum of the basic countable elements will likely provide as useful a size
measure as more sophisticated measures.
Program 2
June 2012
Assignment instructions
Before starting Program 2, review the top-level PSP1 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.
Assignment
instructions
Step
1
Activities
Planning
Development
Postmortem
Description
- 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.
- 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.
Complete the Project Plan Summary form with actual time, defect, and size
data.
Exit Criteria
Program 2
June 2012
Step
1
Activities
Program
Requirements
Size
Estimate
Resource
Estimate
Description
- Produce or obtain a requirements statement for the program.
- Ensure that the requirements statement is clear and unambiguous.
- Resolve any questions.
- 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.
- 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.)
Exit Criteria
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.
Continued on next page
Program 2
June 2012
General
Step
1
2
Activities
Conceptual Design
Parts Additions
Size Estimating
Procedure
4A
Size Estimating
Procedure 4A
To guide the size and time estimating process using the PROBE method
- Requirements statement
- Size Estimating template and instructions
- Size per item data for part types
- Time Recording log
- Historical size and time data
- 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.
Description
Review the requirements and produce a conceptual design.
Follow the Size Estimating Template instructions to estimate the parts
additions and the new reusable parts sizes.
- 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.
- 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.
- 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
Size Estimating
Procedure 4B
expected size of the new program), or 1 is not near 1.0 (between about
0.5 and 2.0), use 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
4C
Size Estimating
Procedure 4C
4D
Size Estimating
Procedure 4D
expected size of the new program), or 1 is not near 1.0 (between about
0.5 and 2.0), use 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).
If you have no historical data, use your judgment to estimate added and
modified size.
4B
(continued)
Continued on next page
Program 2
June 2012
Activities
Time Estimating
Procedure
5A
Time Estimating
Procedure 5A
5B
Time Estimating
Procedure 5B
5C
Time Estimating
Procedure 5C
5D
Time Estimating
Procedure 5D
Time and Size
Prediction Intervals
Exit Criteria
Description
- 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.
- 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.
- 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.
- 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).
If you have no historical data, use your judgment to estimate the
development time from the estimated added and modified size.
- 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.
- 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 2
June 2012
Development
phase
Step
1
Activities
Design
Code
Compile
Test
Description
- 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.
- 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.
- 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.
- 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
Verify that you have met all of the exit criteria for the development phase, and then
proceed to the postmortem phase.
Continued on next page
Program 2
June 2012
Postmortem
phase
Step
1
Activities
Defect Recording
Defect Data
Consistency
Size
Time
Description
- 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.
- 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.
- 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.
- Review the completed Time Recording log for errors or omissions.
- Using your best recollection, correct any missing or incomplete time
data.
Exit Criteria
Verify that you have met all of the exit criteria for the PSP1 postmortem phase, and then
review your assignment.
Continued on next page
Program 2
June 2012
10
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 youve completed your review, package the following data files into a zip
file and upload the zip file to the program 2 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 listings for programs 1 and 2.
Test results.
Test report doc file (Process Dashboard only).
PIP form doc file (Process Dashboard only).
Coding/Counting standard report.
Suggestions
Program 2
June 2012
11
Program
Accepted or Resubmit
Comments
Accepted
Resubmit
Legend
- O.K.
X - resubmit
Assignment Package
All files are included
Process data file { .mdb (sw) or .zip (pd) }
Source program listings for programs 1 and 2
Test results
Test report .doc file (pd only)
PIP form .doc file (pd only)
Coding/Counting standard report
Comments
Comments
Comments
Time Log
Time data are entered for all process steps.
Process steps are sequenced appropriately.
Time data are entered against the appropriate process
step.
Interrupt time is tracked appropriately.
Time data are complete and reasonable.
Times were recorded as the work was done.
Comments
pd - Process Dashboard
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.
PSP1 Grading Checklist
June 2012
13
Comments
PIP Form
The PIP form is completed.
The entries show insight and thought.
Comments
Consistency Checks
Comments
Defects removed are consistent with compile and test
phase time and program size.
Total compile defect fix times are close to and no
greater than compile time.
Total test defect fix times are close to and no greater
than test time.
Defect dates & phases are consistent with the time log.
Actual Added on planning summary close to and no
less than actual BA+PA on size estimating template.
General
Followed the defined process.
Complete, consistent, and accurate process data was
collected.
The student did his or her own work.
Historical data are used in planning the work.
June 2012
14
Comments