Using PSP0 Process

advertisement
Assignment Kit for
Program 2
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
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 2
October 2006
1
 2006 by Carnegie Mellon University
Personal Software Process for Engineers: Part I
Assignment Kit for Program 2
Overview
Overview
This assignment kit covers the following topics.
Section
Prerequisites
See Page
Prerequisites
2
Program 2 requirements
3
Program 2 hints
4
Assignment instructions
5
Guidelines and evaluation criteria
10
Reading
• Chapters 3 and 4
Assignments
• size counting standard
• coding standard
Program 2
October 2006
2
 2006 by Carnegie Mellon University
Program 2 requirements
Program 2
requirements
Using PSP0.1, write a program to count (in LOC) the
• total program size
• total size of each of the program’s parts (classes, functions, or procedures)
• the number of items (or methods) in each part
Produce and print
• a single count for the entire program
• size and item counts for each part together with the part name
If LOC is not a suitable size measure for the language you use, see chapter 3
and the following “Hints” section for alternative ways to measure size. Then
write program 2 to use those measures.
Use the size counting standard and the coding standard defined in your report
assignments.
Thoroughly test the program. At a minimum, test the program by counting the
total program and part sizes in programs 1 and 2. Example output is illustrated
in Table 1. In Table 1, consider the word part to be whatever applies for your
language: class, function, procedure, and so forth.
Program
Number
1
Part Name
ABC
DEF
GHI
Number of
Items
3
2
4
Part Size
Total Size
86
8
92
212
2

Table 1
Program 2
October 2006
3
 2006 by Carnegie Mellon University
Program 2 hints
Hints
Do not try to write a sophisticated counting program.
For LOC counting, follow the counting strategy suggested in Chapter 3, page
48, Size Counters.
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 R1
counting standard and R2 coding standard to include these comments. You
will also have to include such comments in every program, including program
1.
For database application 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
October 2006
4
 2006 by Carnegie Mellon University
Assignment instructions
Before starting program 2, review the top-level PSP0.1 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
PSP0.1 Process Script
Purpose
Entry Criteria
To guide the development of module-level programs
- Problem description
- PSP0.1 Project Plan Summary form
- Time and Defect Recording logs
- Defect Type, Coding, and Size Counting standards
- Stopwatch (optional)
Step
1
Activities
Planning
2
Development
3
Postmortem
Description
- Produce or obtain a requirements statement.
- Estimate the added and modified size of this program.
- 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
-
A thoroughly tested program
Completed Project Plan Summary form with estimated and actual data
Completed PIP forms
Completed Time and Defect Recording logs
Continued on next page
Program 2
October 2006
5
 2006 by Carnegie Mellon University
Assignment instructions, Continued
Planning phase
Plan program 2 following the PSP0.1 planning phase script.
PSP0.1 Planning Script
Purpose
Entry Criteria
To guide the PSP planning process
- Problem description
- PSP0.1 Project Plan Summary form
- Time Recording log
Step
1
Activities
Program
Requirements
2
Size
Estimate
3
Resource
Estimate
Description
- Produce or obtain a requirements statement for the program.
- Ensure that the requirements statement is clear and unambiguous.
- Resolve any questions.
- Make your best estimate of the added and modified size of this
program.
- Enter the plan size data in the Project Plan Summary form.
- Make your best estimate of the time required to develop this program.
- Enter the plan time data in the Project Plan Summary form.
- 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.)
- Documented requirements statement
- Completed Project Plan Summary form with estimated program size and
development time data
- Completed Time Recording log
Exit Criteria
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 2
October 2006
6
 2006 by Carnegie Mellon University
Assignment instructions, Continued
Develop the program following the PSP0.1 development phase script.
Development
phase
PSP0.1 Development Script
Purpose
Entry Criteria
To guide the development of small programs
- 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
1
Activities
Design
2
Code
3
Compile
4
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.
Exit Criteria
- A thoroughly tested program that conforms to the Coding standard
- 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 2
October 2006
7
 2006 by Carnegie Mellon University
Assignment instructions, Continued
Postmortem
phase
Conduct the postmortem following the PSP0.1 postmortem script.
PSP0.1 Postmortem Script
Purpose
Entry Criteria
To guide the PSP postmortem process
- Problem description and requirements statement
- Project Plan Summary form with program size and development time data
- Completed Time and Defect Recording logs
- A tested and running program that conforms to the coding and size
counting standards
Step
1
Activities
Defect Recording
2
Defect Data
Consistency
3
Size
4
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, reused, total, and new
reusable code. (Note: The size of added and modified code is
calculated by the SEI student workbook.)
- Enter these 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
- A thoroughly tested program that conforms to the coding and size
counting standards
- 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 PSP0.1 postmortem phase, then
submit your assignment.
Continued on next page
Program 2
October 2006
8
 2006 by Carnegie Mellon University
Assignment instructions, Continued
Submitting your
assignment
When you’ve completed the postmortem phase, submit your assignment
package, source code, and test results to the instructor.
The order for the assignment package is
• PSP0.1 Project Plan Summary form
• PIP form
• Time Recording log
• Defect Recording log
• source program listing for programs 1 and 2
• test results
You should also hand in your report assignments at this time.
• size counting standard
• coding standard
Program 2
October 2006
9
 2006 by Carnegie Mellon University
Guidelines and evaluation criteria for program 2
Evaluation
Criteria
Your process report must be
• complete
• legible
• in the specified order
Suggestions
Remember, you should complete this assignment today.
Your process data must be
• accurate
• precise
• self-consistent
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.
Program 2
October 2006
10
 2006 by Carnegie Mellon University
Download