CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.

Slides:



Advertisements
Similar presentations
ENGLISH AS A SECOND LANGUAGE PRESCRIPTION SYSTEM.
Advertisements

Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.
The Personal Software Process (PSP) Lecture #1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Tutorial: Using PSP0 Personal Software Process for Engineers: Part I
CSc 2310 Principles of Programming (Java)
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 Pittsburgh, PA Lecture 6: Team Planning.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
Copyright © 1997 Carnegie Mellon University Introduction to the Personal Software Process - Lecture 1 1 Introduction to the Personal Software Process Lecture.
Personal Software Process
The Software Process Strategy The Software Process Strategy Part III.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
The Software Engineer’s Job. What Is Software Engineering  The job of the software engineer is to deliver high-quality software products at agreed cost.
Aplicaciones de Ingeniería de Software
CS351 © 2003 Ray S. Babcock PSP Personal Software Process ● This material based on the book: ● “Introduction to the Personal Software Process” by Watts.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #14 Software Engineering.
Chapter 15 Projecting Defects( 缺陷预测 ). 山东大学齐鲁软件学院 2 outline  Analyze and use your defect data to help improve both planning accuracy and product quality.
CLEANROOM SOFTWARE ENGINEERING.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
CS 350: Introduction to Software Engineering Slide Set 1 C. M. Overstreet Old Dominion University Fall 2005.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
Software Testing. What is Testing? The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation.
Lecture 4 Software Metrics
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
INFO 636 Software Engineering Process I Prof. Glenn Booker Weeks 1-2 – Introduction 1INFO636 Weeks 1-2.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 PSP-TSPi Faculty Workshop Pittsburgh, PA Lecture.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
The Personal Software Process Alan Kelon Oliveira de Moraes May 15, Recife.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
CSc 1302 Principles of Computer Science II
CSc 2310 Principles of Programming (Java)
Software Engineering Lab Session
A possible solution: Personal Software Process (PSP)
Janet has used PSP for the last 6 months
The role of Planning in the Software Development Process
DOD’S PHASED SYSTEM DEVELOPMENT PROCESS
Presentation transcript:

CSC 205 Programming II Lecture 1 PSP

The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality product doing the work for the expected costs completing the work on the agreed schedule Failure to fulfill these aspects will result in serious consequences business failures for s/w development organizations poor grades for students in a programming class

Software Development Activities and Artifacts Specificationsystem requirements specs (SRS) Designsystem design specs (SDS) Planningproject plan (including risk planning) Verification Codingsource code, conf files and executables Testingtest plans and reports Production Maintenancerefining and enhancements Evolution

The PSP0 Process Demonstrates the use of a defined process in writing small programs Incorporates basic measurement into a student’s software development process Requires minimal changes to a student’s personal practices

Measurement in a Defined Process Measured historical data is needed for effective planning. Measurement tells when and how process tasks are carried out. Measured data is used to evaluate and improve a process. The PSP uses three types of measures. effort size defects

Effort Measurement The PSP measures effort as time in minutes. appropriate for small programs easy to measure precisely Students keeps accurate records of time spent on each programming task. Interruption time is recorded and subtracted from time spent on development tasks.

Size Measurement Size data is used in estimating development time and the expected number of defects. There are a number of criteria for good size measures. has good correlation with effort has a precise definition can be counted automatically is suitable for planning is sensitive to language, design, and development method A lines of code (LOC) measure satisfies most of the criteria for good size measures. The PSP uses LOC for measuring size.

CMU 1994 Data Correlation Between Size and Effort

Defect Measurement A PSP defect is something that must be changed to correct an error made in a software artifact (design, code, etc.) classified according to a defect type standard For each defect, students record the defect type, a description of the defect, and the fix time. All changes related to a single error are counted as one defect. Fix time is recorded in the phase in which the defect is removed (e.g, compile or test).

PSP0 Process Finished product Development Planning Postmortem Design Code Compile Test Requirements Plan summary Process scripts Time and defect logs The PSP0 Process Flow

Tracking Your Time As the first step, you need to know what you currently do by tracking time spend on each of the following categories Attend class Read textbook Write code for lab and/or program assignments Prepare for quizzes and tests Use the time recording log for activities associated with this class The form can be found under our class folder on blackhawk

An Example Student Y first entered her name and the date she started to fill in the form. She also entered the instructors name and the course name or number. When she started to keep time records on September 9, she recorded date on the top line in the body of the form and made the first entry at the left Her first activity was to attend a CS1 class lecture at 9:00 AM. The class lasted until 9:50, on total of 50 minutes. The student then entered 9:00 in the Start column, 9:50 in the Stop column, and the 50 minutes duration in the Delta Time column. At right, she entered the name of the activity in the column labeled Activity. Finally, in the Comments column, she noted what she was doing. As Student Y continued through the day, she noted her other activities for the CS course in the time log.

Filling out the Form

Handling Interruptions The way interruptions are handled with the Time Recording Log is to note them In the column labeled interruption Time. As in our example, Student Y started her homework at 11:06 on the 10th and stopped at 12:19. During this period, she was interrupted twice, once for 6 minutes and once for 5. The net time she spent on her homework is thus 73 minutes less 11 minutes of interruption time, or a total of 62 minutes. Student Y not only noted these times in the Time Recording Log; she also briefly described the interruptions in the comments column.