220 likes | 379 Views
SE 501 Software Development Processes. Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University. Lecture for Week 7. Contents. The Personal Software Process PSP0.1 Introduction to Lab 2 and Assignment #5A. Bibliography.
E N D
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7
Contents • The Personal Software Process PSP0.1 • Introduction to Lab 2 and Assignment #5A SE 501 Dr. Basit Qureshi
Bibliography • Humphrey, Watts (1995). A disciple for Software Engineering. • The Personal Software Process. http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm SE 501 Dr. Basit Qureshi
The PSP0.1 SE 501 Dr. Basit Qureshi
PSP 0.1 • Continuation of PSP0 • What's new? • More detailed Project Plan Summary Form • Introducing SLOC counts and Coding Standard • What didn’t change • Time recording Log • Defect recording Log SE 501 Dr. Basit Qureshi
PSP 0.1 • Project Plan Summary • When planning the assignment, estimate the total of lines of code you will write • When planning the assignment, estimate the time you’ll spend on each phase, and the total time for the assignment • When on the postmortem phase, treat the time and defect fields just as in PSP0. • The numbers for lines of code require a bit more explanation…
Coding and Counting Standards • Coding and size counting standards are needed to write the PSP programs. • These standards are • tailored to your language and needs • designed to make size counting easier • The coding standard defines quality-oriented exit criteria for the code phase.
PSP Software Size Measures • In the PSP, software size measures are used to • relate the amount of product produced with effort expended to project total effort • calculate productivity • normalize defects • project the total defects • Software size is measured in LOC. • To accurately relate size to effort, the different types of LOC in your program are counted separately. Please refer to SLOC wiki at http://en.wikipedia.org/wiki/Source_lines_of_code
PSP0.1 Project Plan Summary • PSP0.1 adds the Program Size Summary for estimated and actual size data. • The types of size include • base [B] • deleted [D] • modified [M] • added [A] • reused [R] • added and modified [A+M] • new reusable
Program Size Type Relationships Base program New program Added & Modified
Estimating Size • During planning • If this is an enhancement, measure the size of the base program and enter this in the Base (B) space under Actual. • Estimate the added and modified size and enter this in the Total Added and Modified (A+M) space under Plan.
Estimating Development Time • During planning • Enter estimated development time • Planned time in phase is then calculated based on the percentage of time in phase for all completed projects
Recording Size -1 • During postmortem • Measure total program size and enter this in the Total Size (T) space under Actual. • Count the deleted size and enter this in the Deleted (D) space under Actual. • Count the modified size and enter this in the Modified (M) space under Actual.
Recording Size -2 • During postmortem • Count the reused size and enter this in the Reused (R) space under Actual. • Count or estimate the number of new and changed size that will be added to the reuse library and in the New Reusable space under Actual.
Size Accounting • For small products, size tracking can be done manually, but it requires care. • For larger products, size tracking requires an accounting system. • Size accounting provides an orderly and precise way of tracking size changes through multiple product versions.
Example of Size Accounting -1 What happened?
Messages to Remember • To effectively plan and manage your work, you must measure product size. • For different types of work, use different size measures. • For each measure, size must correlate with development time. • If the size measure does not correlate or is not automatically countable, it will not be very useful. • Every size measure should be precisely defined and automatically countable.
PSP0.1 • Lines of code: • Base – The lines upon which you’re building new stuff (doesn’t apply for Assignment 2) • Deleted – Lines deleted from the base • Modified – Lines modified from the base • Added – predictable… • Reused – Stuff you developed previously, that is not the base, but which you use to save some time • Total New and Changed – All added or modified lines • Total LOC – The final size of the program • Total New Reused – Stuff you developed for this program that you think is ready for reuse on other programs
PSP Lab 2 SE 501 Dr. Basit Qureshi
PSP Lab 2 • (Assignment 5A) Write a program to count the number of lines of code in a file, excluding blanks and comments • Deliverables: • Exactly the same as for the previous assignment, but the Project Plan Summary changes a bit… • Process: PSP0.1 • Copy of your completed assignment forms will be used in (Assignment 5B)
PSP Lab 2 • (Assignment 5B) Write a program to count the number of lines of code in a file, and in each of its procedures and functions,excluding blanks and comments • Deliverables: • Exactly the same as for the previous assignment, but the Project Plan Summary changes a bit… • Test • Include tests that count the lines of your three assignments. Include a table with the output from your three assignments. • Process: PSP0.1 • Do this in your time during break.