PSP Course - Lecture 1 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Personal Software Process SM for Engineers:

Slides:



Advertisements
Similar presentations
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Advertisements

The Personal Software Process (PSP) Lecture #1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Chapter 2 The Software Process
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.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Personal Software Process SM for Engineers: Part I Introduction to the PSP SM Defect Removal Estimation of Project Size Microsoft Project Design Quality.
Personal Software Process
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
Software Process and Product Metrics
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Capability Maturity Model
Cost Management Week 6-7 Learning Objectives
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #14 Software Engineering.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #5 Software Engineering.
N By: Md Rezaul Huda Reza n
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
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.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Software cost estimation Predicting the resources required for a software development process 1.
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.
UKSMA 2005 Lessons Learnt from introducing IT Measurement Peter Thomas –
© 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.
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.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
1 Introduction to Software Engineering Lecture 1.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
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 #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 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.
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.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
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.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
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.
CS4311 Spring 2011 Process Improvement Dr
A possible solution: Personal Software Process (PSP)
Constructive Cost Model
Personal Software Process Software Estimation
COCOMO Models.
Capability Maturity Model
The role of Planning in the Software Development Process
Software Effort Estimation
Capability Maturity Model
Presentation transcript:

PSP Course - Lecture 1 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Personal Software Process SM for Engineers: Part I Introduction to the PSP SM Defect Removal Estimation of Project Size Microsoft Project Design

PSP Course - Lecture 2 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute READING FOR THIS LECTURE A Discipline for Software Engineering, Watts Humphrey, SEI Series in Software Engineering, Addison-Wesley, Software Project Estimation. A workbook for Macro-Estimation of Software Development Effort and Duration, Proudced by the International Software Benchmarking Standards Group. Modern Structured Analysis by Edward Yourdon

PSP Course - Lecture 3 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute PSP Principles As computing professionals you should know your own performance. You should measure, track, and analyze your work. You should learn from your performance variations. You should incorporate these lessons in your personal practices. You should be able to predict your performance in future for your planning and self-management.

PSP Course - Lecture 4 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute What is a PSP? A PSP is a personal process for developing software. However principles apply to projects. • defined steps • forms • standards A PSP is a measurement and analysis framework to help you characterize and estimate your process. It is also a defined procedure to help you to improve your performance.

PSP Course - Lecture 5 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute The CMMI and the PSP The CMMI was developed by the SEI with the help of leading software groups. The SW-CMM characterizes the most effective large-scale software practices. The SW-CMM has been integrated into the larger CMMI model. The PSP • applies the SW-CMM • is for individual work

PSP Course - Lecture 6 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute SW-CMM

PSP Course - Lecture 7 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute SEI Improvement Model

PSP Course - Lecture 8 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute PSP and TSP

PSP Course - Lecture 9 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Capability Maturity Model® (SW-CMM®) for Software The Capability Maturity Model for Software (SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes. The Software CMM has become a de facto standard for assessing and improving software processes. Through the SW-CMM, the SEI and community have put in place an effective means for modeling, defining, and measuring the maturity of the processes used by software professionals. Ref:

PSP Course - Lecture 10 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute The CMM and the PSP Optimizing 4 Managed 3 Defined 2 Repeatable Continuous process improvement Product and process quality Engineering process Project management r Defect prevention r Technology change management r Process change management r Quantitative process management r Software quality management Requirements management r Software project planning r Software project tracking Software quality assurance Software configuration management Software subcontract management LevelFocusKey Process Areas (KPA) r Organization process focus r Organization process definition Training program r Integrated software management r Software product engineering Intergroup coordination r Peer reviews r indicates the CMM Key Process Areas that are fully or patially addressed at the personal level in the PSP

PSP Course - Lecture 11 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute " Estimate Lines of Code (LOC) Time to code each segment LOC/hr " Measure programming by phases Lines of Code (LOC) Time taken in each phase Defects injected and removed by phase " Analyse Accuracy of estimates Defects injected Defects found by compiler Defect fix times " Develop design and code review checklists to find most frequent defects in these stages. The PSP Process

PSP Course - Lecture 12 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute • Higher quality - PSP enables engineers to remove more defects early, at the source. On average, engineers inject 58% fewer defects after PSP training than before. PSP and TSP technology can also enable organizations to establish numerical quality requirements (or measures) for software- intensive products (e.g., defect density limits, percent defect free by phase, and component quality profiles). • Improved Planning - PSP provides measures from which to develop resource planning. Cost and schedule problems often begin when engineers make commitments based on inaccurate size and resource estimates. PSP methods provide more accurate size and resource estimates using statistical techniques and historical data. Engineers' schedule estimating errors before PSP training averaged 39.4%, and after training they averaged 10.4% ahead of schedule. The PSP Main Benefits

PSP Course - Lecture 13 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute PSP Defect Removal - Ch8 Humphrey • Code Reviews. - Review before compile - Set up review measures, such as efficiency and detection rates - Review against a standard - either CMMI or specific requirements. - Set up process such as: setting scope, group interaction, roles, measures, etc - Separate Design and Code reviews –Reduce review material –Remove design defects and simplify –Smaller scope of review - Use checklists

PSP Course - Lecture 14 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute PSP Defect Removal - 2 • Design Reviews. - Develop your design with a review in mind. You should explain all terms used - The designs you develop must have a clear purpose and function - Have a design review process - Review in stages –Complete: all elements present –Verify structure and flow –Check logical constructs - Verify design against client Requirements and Quality Assurance documents. - Develop Quality Plan for review

PSP Course - Lecture 15 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute • To make commitments you can meet • To provide a basis for agreeing to take on a job • To guide your work • To help track your progress • To complete project on time and on budget PSP helps you plan. Why make Plans?

PSP Course - Lecture 16 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute The Project Planning Framework Product Delivery Tracking Reports Define Requirements Produce Conceptual Design Estimate Size Estimate Resources Produce Schedule Develop Product Size, Resource Schedule Data Process Analysis Resources Available Size Database Productivity Database

PSP Course - Lecture 17 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Popular Estimating Approaches In order to estimate the size of a project, you must develop a suitable measure. The measure must correlate with effort or it cannot be used for effort estimation. In Software Projects there are five main methods of estimating project size. • Fuzzy logic • Function points • Standard components • Delphi • PROBE From these estimates you can calculate project effort in hours or days.

PSP Course - Lecture 18 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Fuzzy Logic Size Estimating - 1 Gather size data on previously developed programs Subdivide these data into size categories and subcategories

PSP Course - Lecture 19 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Fuzzy Logic Size Estimating - 2 When estimating a new program, compare the planned program with prior programs and select the most appropriate size category. For a Medium-Small, estimated LOC = 23988

PSP Course - Lecture 20 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Fuzzy Logic Advantages Fuzzy logic estimating • is based on relevant historical data • is easy to use • requires no special tools or training • provides reasonably good estimates where new work is like prior experience

PSP Course - Lecture 21 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Fuzzy Logic Disadvantages The disadvantages of fuzzy logic are • it requires a lot of data • the estimators must be familiar with the historically developed programs • it only provides a crude sizing • it is not useful for new program types • it is not useful for programs much larger or smaller than the historical data

PSP Course - Lecture 22 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Point Estimating -1 A function point is a unit • based on application functions (inputs, outputs, data files, inquiries, interface files) • This has been refined to input data, entity types and output data in the Mark II formulation. • scaled or weighted by simple, average, complex For job complexity such as data communication, transaction rate etc, some companies use Adjusted Function Point estimates, adjusting a further +/- 35%. However this has been found to increase the error in the calculations.

PSP Course - Lecture 23 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Point Estimating -2 Procedure • Determine numbers of each function type in the application. • Judge the scale and complexity of each function. • Calculate function point total. • Use historical data on development rate per function point to make the estimate of delivery rate • Multiply function points times estimated delivery rate to get the estimate of work effort.

PSP Course - Lecture 24 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Point Advantages The advantages of function points are the following: • They are usable in the earliest requirements phases. • They are independent of programming language, product design, or development style. • There exists a large body of historical data. • It is a well-documented method.  There is an active users’ group. See

PSP Course - Lecture 25 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Point Disadvantages The disadvantages of function points are the following:  You cannot directly count an existing product’s function point content. • Without historical data, it is difficult to improve estimating skill. • Function points do not reflect language, design, or style differences. • Function points are designed for estimating commercial data processing applications.

PSP Course - Lecture 26 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Standard Component Sizing - 1 Establish the principal product size levels. • Components, modules, screens, etc. • Determine typical sizes of each level. For a new product • Determine the component level at which estimation is practical. • Estimate how many of those components will likely be in the product. • Determine the maximum and minimum numbers possible.

PSP Course - Lecture 27 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Standard Component Sizing - 2 Calculate the size as the • number of components of each type times typical sizes of each type • total to give size Calculate for the maximum, minimum, and likely numbers of components. Calculate size as • {maximum+4*(likely)+minimum}/6

PSP Course - Lecture 28 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Standard Component Sizing - Advantages and Disadvantages Advantages • based on relevant historical data • easy to use • requires no special tools or training • provides a rough estimate range Disadvantages • must use large components early in a project • limited data on large components

PSP Course - Lecture 29 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Delphi Size Estimating Uses several estimators • Each makes an independent estimate. • Each submits estimate to a coordinator. Coordinator • calculates average estimate • enters on form: average, other estimates (anonymous), and previous estimate When reestimates stabilize • average is the estimate • range is range of original estimates

PSP Course - Lecture 30 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Delphi Size Estimating - Advantages and Disadvantages Advantages • can produce very accurate results  utilizes organization’s skills • can work for any sized product Disadvantages • relies on a few experts • is time consuming • is subject to common biases

PSP Course - Lecture 31 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute PROBE - Size Estimating by Proxies The basic issue • Good size measures are detailed. • Early estimators rarely can think in detail. Alternatives • Wait to estimate until you have the detail. • Make your best guess. • Identify a suitable proxy.

PSP Course - Lecture 32 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Size Estimating Proxies - 2 A good proxy should correlate closely to development costs. A good proxy would be easy to visualize early in development. It should also be a physical entity that can be counted.

PSP Course - Lecture 33 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Example Proxies Function points Objects Product elements • components • screens, reports, scripts, files • book chapters

PSP Course - Lecture 34 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Points as Proxies -1 Data show that function point counts correlate well with development time. Function points can be visualized early in development. To use function points properly, trained estimators are required.

PSP Course - Lecture 35 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function Points as Proxies -2 Function points cannot directly be counted. Conversion factors are available for counting LOC and calculating function points from the LOC value. The function point users group (IFPUG) is refining the function point method.

PSP Course - Lecture 36 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Standard Components as Proxies Component count correlation with development depends on the components. A lot of development data is required. Component counts are hard to visualize early in development. Components are machine countable.

PSP Course - Lecture 37 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Objects as Proxies -1 Correlation with development hours • Numbers of objects correlate reasonably well. • Object LOC correlate very closely. • Object LOC can be estimated using the standard component estimating method. • Then calculate LOC estimate from historical relationship between object LOC and program LOC.

PSP Course - Lecture 38 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Objects as Proxies -2 When objects are selected as application entities, they can be visualized early in development. Functions and procedures can often be estimated in the same way. Objects, functions, procedures, and their LOC can be automatically counted.

PSP Course - Lecture 39 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Cost Estimation Productivity Assessment Size Estimate Software Cost Development Time Phase Distribution Activity Distribution Development mode or technology Project Attributes Personnel Attributes Platform Attributes Product Attributes Product Spec Lines of Code Estimation and Assessment of Effort Learning - Effort Drivers

PSP Course - Lecture 40 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute The Measurement Process Numerical Relation System Empir i cal Relation System (Set of software applications) a b f(a) f(b)

PSP Course - Lecture 41 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Function based measures & Components of System Size Information Processing Size Technical Complexity Adjustment Environmental Factors • Inputs • Outputs • Etc. • Batch vs on-line • Performance • Ease of use • Etc. • Project management • People skills • Methods, tools languages x x ® Intrinsic ” size of task (For productivity studies) Total size of task (For estimating needs)

PSP Course - Lecture 42 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Counting Function Points

PSP Course - Lecture 43 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Analysis of Full Data Set (17 Completed Projects)

PSP Course - Lecture 44 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute The PSP Proxy Based Method PSP uses PROBE method with objects as proxies. The process used is: " Set up standard code counting method " Divide project into modules or objects " Estimate the size of each object by its type usign historical data. Then use " Estimated object LOC and actual development time " Calculate correlation between data. Need r 2 >0.5 " Do a regression calculation Est Obj LOC to Development Hours " Calculate prediction interval considering size estimation error and productivity variations.

PSP Course - Lecture 45 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute What is.... Appendix A Humphrey • Correlation of Data - You can measure the lines of codes and the time it takes to write them - If you could estimate the lines of code, can you calculate an estimated time from that data? - Is LOC and time correlated? - Graph LOC and time and put a line of best fit between the points - The correlation is a measure of how close the numbers pair up, and is related to the sum of the squares minus the square of the sums. • Regression Coefficent. This straight line has an equation x  y These are the regression coefficients • Prediction Interval is a measure of the likely error of your estimate deviating from the line by one variance in a percentage of cases.

PSP Course - Lecture 46 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Object LOC Correlation With Development Hours

PSP Course - Lecture 47 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Resource Estimation PSP is can be used for resource estimation directly from data on your time/object. If your LOC estimation is not accurate but your time estimation is accurate you can directly estimate the time/object. • Divide project into modules or objects • Estimate the time for each • Calulate the error margin as before.

PSP Course - Lecture 48 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Effort in Hours versus Size in Web Objects • Insert

PSP Course - Lecture 49 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Using Function Point Estimation " You will be using a simple Function Point estimation in Tutorial based on the Function points estimated from the E-R diagram (30 per entity). " When you have completed your Concept Design as the end of this course, you can made a more accurate estimate of the Function Points of the system and update your estimates for the remainder of the Project (post Concept Design). " Include this in Your Plan Review Report.

PSP Course - Lecture 50 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Project Management " Project Deliverables PP02 - establish a measured performance baseline. PP02 - make changes to effort, resource, and duration or re-scheduling plans. PSR - review your practice in change and yield management. Analyse your project management by measurements. " What sort of measures are there for Project management?

PSP Course - Lecture 51 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Microsoft Project " Attributes to learn in Tutorial Week 2 Load Data Estimate effort per phase Estimate scheduling Save Baseline Enter Variations Track Changes Produce Reports

PSP Course - Lecture 52 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Design Process - See Humphrey Ch 10 " Design is learning " Requirements Uncertainty " Conceptual Design " Design Quality must be maintained at all levels Completeness Accurate Precise

PSP Course - Lecture 53 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Design Process -2 " Design templates Notation compatible with implementation Design should include: Internal dynamic representation, eg DFD Internal static such as Data Table External static eg Interface or inheritance heirarchy External dynamic such as Reports and Forms or call return behaviour of methods " Design strategy Start with a critical module and design and implement related elements from that level up or Top down design that starts with top level objects that use lower level abstractions that must be specified then designed.

PSP Course - Lecture 54 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Design Process -Tutorial - See Yourdon " Requirements Client's List E-R diagrams Use Cases 1&2 " Design strategy Top down DFD to level 1 from E-R Expand Data Dictionary to include DFD processes and flows Expand DFD to level 2-3 for Use Cases Design Data Table for DFD Design Interface for Use Cases Verify against Client's List

PSP Course - Lecture 55 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Design Project Deliverables PSR03 - to include Quality Assurance Plan PPM - Planning Module DFD, Data Table and Interface PTM - Tracking Module DFD, Data Table and Interface PDC01 - Design Change on a given design

PSP Course - Lecture 56 © 1997 Carnegie Mellon University Carnegie Mellon University Software Engineering Institute Pair Work Guidelines - see paper on web  Use ‘we’ when you discuss the project  Share work as the driver and observer – switch on 10 mins or task completion  Stay focused on the task – respect your team mate • Do not be negative, give it a go  Detect defects as you go – observer  Do not fight over design – debate differences • Share the work space and the contributions • Review any individual work between tutes  Have regular planned breaks – time them