《软件工程规范》一书精辟地阐述了个体软件过程的基本原理,详细地描述了软件开发人员应如何来控制自己的工作,如何与管理方协商各项安排,并指出建造这样一个可度量软件过程和软件产品的结构化工作环境就可应用规范化的方法来解决“软件危机”问题。\r\n 本书首先让读者认识到建立软件工程规范的必要性,并介绍了学习如何管理个人软件过程的益处,然后建立了一个开发人员可用来监控、测试和改进其工作的模型。摘自软件行业的范例进一步强化了本书强调应用的主旨,而项目练习则给读者提供了在学习软件过程管理的同时进行实践的机会。\r\n 本书用于帮助软件工程师获得和建立规划、跟踪、分析复杂的大型项目所需的技能和习惯。本书实用性与可读性较强,可作为高等学校计算机软件工程课程的教材,也可作为工程技术人员自学个体软件过程的教材,是进行软件过程改善和能力成熟度模型SW-CMM评估的重要参考资料。
PREFACE \r\n\r\nChapter 1 THE PERSONAL SOFTWARE PROCESS STRATEGY \r\n\r\n1.1 The Logic for a Software Engineering Discipline\r\n1.2 What is s Software Process?\r\n1.3 Process Maturity\r\n1.4 Your Personal Responsibilities\r\n1.5 The Personal Software Process(PSP)Strategy\r\n1.6 The Logic for the PSP\r\n1.7 Productivity and the PSP\r\n1.8 Caveats\r\n1.9 Summary\r\nReferences \r\n\r\nChapter 2 THE BASELINE PERSONAL PROCESS\r\n\r\n2.1 The Baseline Process\r\n2.2 Why Forms Are Helpful\r\n2.3 The PSP Process Elements\r\n2.4 The PSPO Process\r\n2.5 PSPO Measures\r\n2.6 Time Recording Log\r\n2.7 Defect Recording Log\r\n2.8 PSPO Project Plan Summary\r\n2.9 Customizing the Initial Process\r\n2.10 Summary\r\n2.11 Exercises\r\nReferences \r\n\r\nChapter 3 PLANNING I-THE PLANNING PROCESS\r\n\r\n3.1 Why Make Plans\r\n3.2 What Is a Plan\r\n3.3 Contents of a Software Plan\r\n3.4 Planning a Software Project\r\n3.5 Producing a Quality Plan\r\n3.6 Summary\r\n3.7 Exercises\r\nReferences \r\n\r\nChapter 4 PLANNING II-MEASURING SOFTWARE SIZE\r\n\r\n4.1 Size Measures\r\n4.2 A Size Measurement Framework\r\n4.3 Establishing a Counting Standard\r\n4.4 Using LOC Counts\r\n4.5 Reuse Considerations\r\n4.6 Line of Code Accounting\r\n4.7 Calculating Productivity\r\n4.8 LOC Counters\r\n4.9 Summary\r\n4.10 Exercises\r\nReferences \r\n\r\nChapter 5 PLANNING III-ESTIMATING SOFTWARE SIZE\r\n\r\n5.1 Background\r\n5.2 Popular Estimating Methods\r\n5.3 Proxy-based Estimating\r\n5.4 The PROBE Size Estimating Method\r\n5.5 Object Categories\r\n5.6 Estimating Considerations\r\n5.7 Summary\r\n5.8 Exercises\r\nReferences \r\n\r\nChapter 6 PLANNING IV-RESOURCE AND SCHEDULE ESTIMATING\r\n\r\n6.1 Resource Planning\r\n6.2 Estimating Development Time\r\n6.3 Estimating Task Time\r\n6.4 Combining Multiple Estimates\r\n6.5 Using Multiple Regression\r\n6.6 Schedule Estimating\r\n6.7 Earned Value Tracking\r\n6.8 Estimating Accuracy\r\n6.9 Summary\r\n6.10 Exercises\r\nReferences \r\n\r\nChapter 7 MEASUREMENTS IN THE PERSONAL SOFTWARE PROCESS\r\n\r\n7.1 Measurement Overview\r\n7.2 Fundamental Process Measures\r\n7.3 Goal-Question-Metric Paradigm\r\n7.4 General PSP Objectives,Goals,and Questions\r\n7.5 A GQM Example\r\n7.6 Gathering Data\r\n7.7 The Impact of Data Gathering\r\n7.8 Establishing a Baseline for Your Personal Process\r\n7.9 Summary\r\n7.10 Exercises\r\nReferences \r\n\r\nChapter 8 DESIGN AND CODE REVIEWS\r\n\r\n8.1 What Are Reviews\r\n8.2 Why Review Programs\r\n8.3 Personal Reviews\r\n8.4 Review Principles\r\n8.5 Separate Design and Code Reviews\r\n8.6 Design Review Principles\r\n8.7 Review Measures\r\n8.8 Checklists\r\n8.9 Reviewing before of after You Compile\r\n8.10 The Relationship between Reviews and Inspections\r\n8.11 Summary\r\n8.12 Exercises\r\nReferences \r\n\r\nChapter 9 SOFTWARE QUALITY MANAGEMENT\r\n\r\n9.1 What Is Software Quality?\r\n9.2 The Economics of Software Quality\r\n9.3 Developing a Quality Strategy\r\n9.4 Process Benchmarking\r\n9.5 Yield Management\r\n9.6 Defect Removal Strategies\r\n9.7 Defect Provention Strategies\r\n9.8 Summary\r\n9.9 Exercises\r\nReferences \r\n\r\nChapter 10 SOFTWARE DESIGN\r\n\r\n10.1 The Design Process\r\n10.2 Design Quality\r\n10.3 Structuring the Design Process\r\n10.4 Design Notation\r\n10.5 Design Templates\r\n10.6 The Functional Specification Template\r\n10.7 The State Specification Template\r\n10.8 The Logic Specification Template\r\n10.9 The Operational Scenario Template\r\n10.10 Using Templates in Design\r\n10.11 Design Guidelines\r\n10.12 Summary\r\n10.13 Exercises\r\nReferences \r\n\r\nChapter 11 SCALING UP THE PERSONAL SOFTWARE PROCESS \r\n\r\n11.1 Using Abstractions\r\n11.2 The Stages of Product Size\r\n11.3 Developing Large-scale Programs\r\n11.4 A Potential Problem with Abstractions\r\n11.5 The Development Strategy\r\n11.6 PSP3\r\n11.7 Summary\r\n11.8 Exercises\r\nReferences \r\n\r\nChapter 12 DESIGN VERIFICATION\r\n\r\n12.1 Selecting Verfication Methods\r\n12.2 Design Standards\r\n12.3 Verfication Methods\r\n12.4 Verifying the Object State Machine\r\n12.5 Program Tracing\r\n12.6 Verifying Program Correctness\r\n12.7 Comments on Verfication Methods\r\n12.8 Summary\r\n12.9 Exercises\r\nReferences \r\n\r\nChapter 13 DEFINING THE SOFTWARE PROCESS\r\n\r\n13.1 Why Define Processes\r\n13.2 Software Process Basics\r\n13.3 Process Definition\r\n13.4 Defining Process Phases\r\n13.5 Process Development Considerations\r\n13.6 Process Evolution\r\n13.7 The Process-development Process\r\n13.8 Summary\r\n13.9 Exercises\r\nReferences \r\n\r\nChapter 14 USING THE PERSONAL SOFTWARE PROCESS\r\n\r\n14.1 Making Personal Commitments\r\n14.2 Using the PSP in and Organization\r\n14.3 The Personal Costs of a PSP\r\n14.4 The Personal Benefits of a PSP\r\n14.5 Coaching\r\n14.6 The Responsible Software Professional\r\n14.7 Your Future in Software Engineering\r\nReferences \r\n\r\nAppendix A STATISTICAL METHODS FOR THE PERSONAL SOFTWARE PROCESS \r\n\r\nA1 Statistical Distributions\r\nA2 Variance and Standard Deviation\r\nA3 Correlation\r\nA4 The Significance of a Correlation\r\nA5 Numerical Integration\r\nA6 Tests for Normality\r\nA7 Linear Regression\r\nA8 Linear Regression Prediction Interval\r\nA9 Multiple Regression\r\nA10 Multiple Regression Prodiction Interval\r\nA11 Gauss's Method\r\nA12 The Pareto Distribution\r\nReferences \r\n\r\nAppendix B SOFTWARE DESIGN NOTATION \r\n\r\nB1 The Algebra of Sets\r\nB2 Simplifying Boolean Expressions\r\nB3 Karnaugh Maps\r\nB4 Describing Program Functions\r\nB5 The Elevator Example\r\nB6 Function Completeness and Orthogonality\r\nB7 Formally Describing Designs\r\nB8 Answers to B2 Exercises\r\nReferences \r\n\r\nAppendix C THE PERSONAL SOFTWARE PROCESS CONTENTS\r\n\r\nC1 PSP0 Process Contents\r\nC2 PSP0 Process Contents\r\nC3 PSP1 Process Contents\r\nC4 PSP1 Process Contents\r\nC5 PSP2 Process Contents\r\nC6 PSP2 Process Contents\r\nC7 PSP3 Process Contents \r\n\r\nAppendix D THE PERSONAL SOFTWARE PROCESS EXERCISES \r\n\r\nD1 Guidelines for Doing the Exercises\r\nD2 The Programming Exercises\r\nD3 Program Development Specifications\r\nD4 Report Exercises\r\nD5 Assignment Plans-Suggestions for the Instructor \r\n\r\nINDEX \r\n\r\nPSP SUPORT MATERIALS AVAILABLE ON DISKETTE(ORDER FORM)