Aplicaciones de Ingeniería de Software

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
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.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
Topic X Personal software process (PSP)
Personal Software Process
The Software Process Strategy The Software Process Strategy Part III.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
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.
Personal Software Process Software Quality 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.
Personal Software Process KAIST SE Lab..
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Chapter 15 Projecting Defects( 缺陷预测 ). 山东大学齐鲁软件学院 2 outline  Analyze and use your defect data to help improve both planning accuracy and product quality.
N By: Md Rezaul Huda Reza n
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
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.
1 9/19/2015ã 2007, Spencer Rugaber Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Chapter 12 Defects. 山东大学计算机学院 2 In the chapter  Concept of Defects  Defects and software quality  What is Defect?  Defects versus Bugs  Defect types.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 6 : Software Metrics
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
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.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
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.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
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 #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.
Chapter 3: Software Project Management Metrics
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement 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.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
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.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
CAT Executive Review Team 3: Lions. Cycle 2 Key Lessons: Quality.
Personal Software Process Adam Graham Candidate for M.S. Computer Science Union College.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Disciplined Software Engineering Lecture #6
A possible solution: Personal Software Process (PSP)
Software Defect Reduction Top 10 List Barry Boehm, University of Southern California Victor R. Basili, University of Maryland IEEE Computer, January 2001.
Presentation transcript:

Aplicaciones de Ingeniería de Software Personal Software Process PSP

Personal Software Process The PSP is a defined and measured software process designed to be used by an individual software engineer. The PSP was developed by Watts Humphrey [Humphrey 95]. Its intended use is to guide the planning and development of software modules or small programs, but it is adaptable to other personal tasks.

The PSP Process Levels Seven levels Each level builds on the prior level by adding a few process steps to it. This minimizes the impact of process change on the engineer, who needs only to adapt the new techniques into an existing baseline of practices.

The PSP Process Levels

Phases are introduced as the PSP is incrementally learned Design Review:  Introduced in PSP2, this phase is used to inspect the software design before the coding phase, fixing any defects found. Code Review:  Introduced in PSP 2 and up, this phase involves the personal inspection of the code before the first compile, fixing any defects found. High Level Design:  In PSP3, this phase is used for the creation of a conceptual design. High Level Design Review:  In PSP3, this phase is used to review the conceptual design, fixing defects where needed.

The Baseline Personal Process PSP0 y PSP0.1 The baseline personal process (PSP0 and PSP0.1) provides an introduction to the PSP and establishes an initial base of historical size, time, and defect data. Engineers write three programs at this level. They are allowed to use their current methods, but do so within the framework of the six steps in the baseline process.

Six Steps in the Base Line PSP 1 Plan Plan the work and document the plan 2 Design Design the program 3 Code Implement the design 4 Compile Compile the program and fix and log all defects found 5 Test Test the program and fix and log all defects found 6 Postmortem Record actual time, defect, and size data on the plan

Personal Project Management - PSP1 and PSP1.1 PSP1 and PSP1.1 focus on personal project management techniques, introducing size and effort estimating, schedule planning, and schedule tracking methods. Nota falta analizar PROBE

Personal Quality Management - PSP2 y PSP2.1 PSP2 and PSP2.1 add quality management methods to the PSP: personal design and code reviews, a design notation, design templates, design verification techniques, and measures for managing process and product quality.

Personal Quality Management - PSP2 y PSP2.1 The goal of quality management in the PSP is to find and remove all defects before the first compile. The measure associated with this goal is yield. Yield is defined as the percent of defects injected before compile that were removed before compile. A yield of 100% occurs when all the defects injected before compile are removed before compile.

Personal Quality Management - PSP2 y PSP2.1 Two new process steps, design review and code review, are included at PSP2 to help engineers achieve 100% yield. These are personal reviews conducted by an engineer on his/her own design or code. They are structured, data-driven review processes that are guided by personal review checklists derived from the engineer’s historical defect data.

Personal Quality Management - PSP2 y PSP2.1 Starting with PSP2, engineers also begin using the historical data to plan for quality and control quality during development. During planning, they estimate the number of defects that they will inject and remove in each phase.

Personal Quality Management - PSP2 y PSP2.1 During planning, they estimate the number of defects that they will inject and remove in each phase. Then they use the historical correlation between review rates and yield to plan effective and efficient reviews. During development, they control quality by monitoring the actual defects injected and removed versus planned, and by comparing actual review rates to established limits (e.g., less than 200 lines of code reviewed per hour). With sufficient data and practice, engineers are capable of eliminating 60% to 70% of the defects they inject before their first compile.

Personal Quality Management - PSP2 y PSP2.1 PSP2.1 addresses by adding a design notation, four design templates, and design verification methods to the PSP.

Cyclic Personal Process - PSP3 PSP3, addresses the need to efficiently scale the PSP up to larger projects without sacrificing quality or productivity. Productivity is highest between some minimum and maximum size range. Below this range, productivity declines due to fixed overhead costs.

Cyclic Personal Process - PSP3 Above this range, productivity declines because the process scalability limit has been reached. PSP3 addresses this scalability limit by introducing a cyclic development strategy where large programs are decomposed into parts for development and then integrated.

Cyclic Personal Process - PSP3 To support this development approach, PSP3 introduces high-level design, high-level design review, cycle planning, and development cycles based on the PSP2.1 process. Two new forms are also introduced: a cycle summary to summarize size, development time, and defects for each cycle; and an issue tracking log for documenting issues that may affect future or completed cycles. Using PSP3, engineers decompose their project into a series of PSP2.1 cycles, then integrate and test the output of each cycle. Because the programs they produce with PSP2.1 are of high quality, integration and test costs are minimized.

Cyclic Personal Process - PSP3 To support this development approach, PSP3 introduces high-level design, high-level design review, cycle planning, and development cycles based on the PSP2.1 process. Two new forms are also introduced: a cycle summary to summarize size, development time, and defects for each cycle; and an issue tracking log for documenting issues that may affect future or completed cycles.

PSP Measures There are three basic measures in the PSP: development time, defects, and size.

Development Time Measurement Minutes are the unit of measure for development time. Engineers track the number of minutes they spend in each PSP phase, less time for any interruptions such as phone calls, coffee breaks, etc. A form, the Time Recording Log, is used to record development time.

Defect Type Standard Date Start Stop Interruption Time Delta Time Phase Comments 5/13 7:58 8:45 3 44 Plan Phone call 8:47 10:29 2 100 Design Create and review design 7:49 8:59 70 Code Code main and all functions 9:47 10:10 23 Test Ran test A, B and C 4:33 4:51 18 Postmortem

Development Time Measurement A defect is defined as any change that must be made to the design or code in order to get the program to compile or test correctly. Defects are recorded on the Defect Recording Log as they are found and fixed. Each defect is classified according to a defect type standard.

Defect Type Standard Type Number Type Name Description 10 Documentation comments, messages 20 Syntax spelling, punctuation, types, instruction formats 30 Build, Package change management, library, version control 40 Assignment declaration, duplicate names, scope, limits 50 Interface procedure calls and references, I/O, user formats

Defect Type Standard Type Number Type Name Description 60 Checking error messages, inadequate checks 70 Data structure, content 80 Function logic, pointers, loops, recursion, computation, function defects 90 System configuration, timing, memory 100 Environment design, compile, test, or other support system problems

Defect Recording Log

Size Measurement The primary purpose of size measurement in the PSP is to provide a basis for estimating development time. Lines of code were chosen for this purpose because they meet the following criteria: they can be automatically counted, precisely defined, and are well correlated with development effort based on the PSP research [Humphrey 95, pp. 115-116]. Size is also used to normalize other data, such as productivity (LOC per hour) and defect density (defects per KLOC)

Size Measurement In the PSP, each program involves some amount of new development, enhancement, and/or reuse. Therefore, the total LOC in a program will have several different sources, including some new LOC, some existing LOC that may have been modified, and some reused LOC. Because LOC are the basis for estimates of development time, it is important to account for these different types of LOC separately.

PSP LOC Type Definitions Type of LOC Definition Base LOC from a previous version Deleted Deletions from the Base LOC Modified Modifications to the Base LOC Added New objects, functions, procedures, or any other added LOC

PSP LOC Type Definitions Type of LOC Definition Reused LOC from a previous program that is used without modification New & Changed The sum of Added and Modified LOC Total LOC The total program LOC Total New Reused New or added LOC that were written to be reusable

Project Plan Summary Form

Project Summary Data The data on the plan summary form has many practical applications for the software engineer. The data can be used to track the current project, as historical data for planning future projects, and as baseline process data for evaluating process improvements.

Productivity Productivity is a major focus of most organizations that produce goods for customers. The quantification of product output per unit of time spent is as old a metric as can be found in any industry. In PSP training, the data collected by the engineers allow them to compute lines of code per hour (LOC/Hr) as a measure of their personal productivity.

PSP Derived Measures Each PSP level introduces new measures to help engineers manage and improve their performance. These measures are derived from the three basic PSP measures: development time, defects, and size.

PSP Derived Measures Aquí va ir la tabla

Referencias The Personal Software Process SM (PSP SM): An Empirical Study of the Impact of PSP on Individual Engineers, Will Hayes, James W. Over, December 1997