软件工程规范
2004-1-1
人民邮电出版社
汉弗莱(Humphrey.W.S.)
789
880000
无
《软件工程规范》一书精辟地阐述了个体软件过程的基本原理,详细地描述了软件开发人员应如何来控制自己的工作,如何与管理方协商各项安排,并指出建造这样一个可度量软件过程和软件产品的结构化工作环境就可应用规范化的方法来解决“软件危机”问题。 本书首先让读者认识到建立软件工程规范的必要性,并介绍了学习如何管理个人软件过程的益处,然后建立了一个开发人员可用来监控、测试和改进其工作的模型。摘自软件行业的范例进一步强化了本书强调应用的主旨,而项目练习则给读者提供了在学习软件过程管理的同时进行实践的机会。 本书用于帮助软件工程师获得和建立规划、跟踪、分析复杂的大型项目所需的技能和习惯。本书实用性与可读性较强,可作为高等学校计算机软件工程课程的教材,也可作为工程技术人员自学个体软件过程的教材,是进行软件过程改善和能力成熟度模型SW-CMM评估的重要参考资料。
Watts S.Humphrey目前受聘于卡内基梅隆大学的软件工程研究所(Software Engineering Institute,SEI),曾是SEI的软件过程计划(Software Process Program)的主任,负责开发改良的软件工程过程方法。他一直同软件行业和政府的软件工程师紧密合作,帮助他们实现这些改良后的方法。加入SEI之前,Humphrey在IBM工作了27年,期间担任过各种技术和管理方面的职务。他是SEI和IEEE的高级会员、美国计算机学会(ACM)的成员,还曾是Malcolm Baldrige国家质量奖评审委员会(National Quality Award Board of Examiners)的成员。
PREFACE Chapter 1 THE PERSONAL SOFTWARE PROCESS STRATEGY 1.1 The Logic for a Software Engineering Discipline 1.2 What is s Software Process? 1.3 Process Maturity 1.4 Your Personal Responsibilities 1.5 The Personal Software Process(PSP)Strategy 1.6 The Logic for the PSP 1.7 Productivity and the PSP 1.8 Caveats 1.9 Summary References Chapter 2 THE BASELINE PERSONAL PROCESS 2.1 The Baseline Process 2.2 Why Forms Are Helpful 2.3 The PSP Process Elements 2.4 The PSPO Process 2.5 PSPO Measures 2.6 Time Recording Log 2.7 Defect Recording Log 2.8 PSPO Project Plan Summary 2.9 Customizing the Initial Process 2.10 Summary 2.11 Exercises References Chapter 3 PLANNING I-THE PLANNING PROCESS 3.1 Why Make Plans 3.2 What Is a Plan 3.3 Contents of a Software Plan 3.4 Planning a Software Project 3.5 Producing a Quality Plan 3.6 Summary 3.7 Exercises References Chapter 4 PLANNING II-MEASURING SOFTWARE SIZE 4.1 Size Measures 4.2 A Size Measurement Framework 4.3 Establishing a Counting Standard 4.4 Using LOC Counts 4.5 Reuse Considerations 4.6 Line of Code Accounting 4.7 Calculating Productivity 4.8 LOC Counters 4.9 Summary 4.10 Exercises References Chapter 5 PLANNING III-ESTIMATING SOFTWARE SIZE 5.1 Background 5.2 Popular Estimating Methods 5.3 Proxy-based Estimating 5.4 The PROBE Size Estimating Method 5.5 Object Categories 5.6 Estimating Considerations 5.7 Summary 5.8 Exercises References Chapter 6 PLANNING IV-RESOURCE AND SCHEDULE ESTIMATING 6.1 Resource Planning 6.2 Estimating Development Time 6.3 Estimating Task Time 6.4 Combining Multiple Estimates 6.5 Using Multiple Regression 6.6 Schedule Estimating 6.7 Earned Value Tracking 6.8 Estimating Accuracy 6.9 Summary 6.10 Exercises References Chapter 7 MEASUREMENTS IN THE PERSONAL SOFTWARE PROCESS 7.1 Measurement Overview 7.2 Fundamental Process Measures 7.3 Goal-Question-Metric Paradigm 7.4 General PSP Objectives,Goals,and Questions 7.5 A GQM Example 7.6 Gathering Data 7.7 The Impact of Data Gathering 7.8 Establishing a Baseline for Your Personal Process 7.9 Summary 7.10 Exercises References Chapter 8 DESIGN AND CODE REVIEWS 8.1 What Are Reviews 8.2 Why Review Programs 8.3 Personal Reviews 8.4 Review Principles 8.5 Separate Design and Code Reviews 8.6 Design Review Principles 8.7 Review Measures 8.8 Checklists 8.9 Reviewing before of after You Compile 8.10 The Relationship between Reviews and Inspections 8.11 Summary 8.12 Exercises References Chapter 9 SOFTWARE QUALITY MANAGEMENT 9.1 What Is Software Quality? 9.2 The Economics of Software Quality 9.3 Developing a Quality Strategy 9.4 Process Benchmarking 9.5 Yield Management 9.6 Defect Removal Strategies 9.7 Defect Provention Strategies 9.8 Summary 9.9 Exercises References Chapter 10 SOFTWARE DESIGN 10.1 The Design Process 10.2 Design Quality 10.3 Structuring the Design Process 10.4 Design Notation 10.5 Design Templates 10.6 The Functional Specification Template 10.7 The State Specification Template 10.8 The Logic Specification Template 10.9 The Operational Scenario Template 10.10 Using Templates in Design 10.11 Design Guidelines 10.12 Summary 10.13 Exercises References Chapter 11 SCALING UP THE PERSONAL SOFTWARE PROCESS 11.1 Using Abstractions 11.2 The Stages of Product Size 11.3 Developing Large-scale Programs 11.4 A Potential Problem with Abstractions 11.5 The Development Strategy 11.6 PSP3 11.7 Summary 11.8 Exercises References Chapter 12 DESIGN VERIFICATION 12.1 Selecting Verfication Methods 12.2 Design Standards 12.3 Verfication Methods 12.4 Verifying the Object State Machine 12.5 Program Tracing 12.6 Verifying Program Correctness 12.7 Comments on Verfication Methods 12.8 Summary 12.9 Exercises References Chapter 13 DEFINING THE SOFTWARE PROCESS 13.1 Why Define Processes 13.2 Software Process Basics 13.3 Process Definition 13.4 Defining Process Phases 13.5 Process Development Considerations 13.6 Process Evolution 13.7 The Process-development Process 13.8 Summary 13.9 Exercises References Chapter 14 USING THE PERSONAL SOFTWARE PROCESS 14.1 Making Personal Commitments 14.2 Using the PSP in and Organization 14.3 The Personal Costs of a PSP 14.4 The Personal Benefits of a PSP 14.5 Coaching 14.6 The Responsible Software Professional 14.7 Your Future in Software Engineering References Appendix A STATISTICAL METHODS FOR THE PERSONAL SOFTWARE PROCESS A1 Statistical Distributions A2 Variance and Standard Deviation A3 Correlation A4 The Significance of a Correlation A5 Numerical Integration A6 Tests for Normality A7 Linear Regression A8 Linear Regression Prediction Interval A9 Multiple Regression A10 Multiple Regression Prodiction Interval A11 Gauss's Method A12 The Pareto Distribution References Appendix B SOFTWARE DESIGN NOTATION B1 The Algebra of Sets B2 Simplifying Boolean Expressions B3 Karnaugh Maps B4 Describing Program Functions B5 The Elevator Example B6 Function Completeness and Orthogonality B7 Formally Describing Designs B8 Answers to B2 Exercises References Appendix C THE PERSONAL SOFTWARE PROCESS CONTENTS C1 PSP0 Process Contents C2 PSP0 Process Contents C3 PSP1 Process Contents C4 PSP1 Process Contents C5 PSP2 Process Contents C6 PSP2 Process Contents C7 PSP3 Process Contents
无