Estimating Software-Intensive Systems: Projects, Products, and Processes (SEI Series in Software Engineering)
معرفی کتاب «برآورد سیستمهای نرمافزاری پیچیده: پروژهها، محصولات و فرآیندها (سری SEI در مهندسی نرمافزار)» (با عنوان لاتین Estimating Software-Intensive Systems: Projects, Products, and Processes (SEI Series in Software Engineering)) نوشتهٔ Stutzke, Richard D.، منتشرشده توسط نشر Addison-Wesley Professional در سال 2005. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Contents......Page 6 Preface......Page 16 Acknowledgments......Page 23 About the Author......Page 25 Part 1: The Essentials......Page 26 Chapter 1: Introduction......Page 28 1.1 Reasons to Estimate and Measure......Page 29 1.2 Specific Quantities to Estimate and Measure......Page 32 1.3 The Nature of Estimation......Page 33 1.4 Unprecedented Systems......Page 40 1.5 Why Software Is Especially Hard to Estimate......Page 43 1.6 A Practical Approach......Page 45 1.8 Summary......Page 48 Chapter 2: Planning a Warehouse Inventory System......Page 52 2.1 Warehouse Inventory Management System......Page 53 2.2 Recording the Information......Page 55 2.3 Discussion of the Example......Page 60 2.4 Doing Better: A Planning Workbook......Page 69 2.6 Summary......Page 72 Chapter 3: A Basic Estimating Process: The Linear Method......Page 74 3.1 Criteria for "Good" Estimates......Page 75 3.2 Types of Resources......Page 78 3.3 Proxy-Based Estimation......Page 79 3.4 The Linear Method: A Simple Process......Page 82 3.5 Using the Linear Method......Page 89 3.6 Documenting Your Estimates......Page 94 3.7 Standard Forms......Page 98 3.8 Managing Your Information......Page 101 3.9 Recommended Reading......Page 103 3.10 Summary......Page 104 Chapter 4: Measurement and Estimation......Page 106 4.1 Reasons to Measure......Page 107 4.2 Measuring Size and Productivity (Direct and Indirect Measures)......Page 108 4.3 Criteria for "Good" Measures......Page 116 4.4 Operational Definitions......Page 118 4.5 Choosing Useful Measures......Page 122 4.6 Recommended Reading......Page 124 4.7 Summary......Page 126 Chapter 5: Estimating Techniques......Page 128 5.1 Expert Judgment: The Delphi Technique......Page 129 5.2 Additive and Multiplicative Analogies......Page 133 5.3 Program Evaluation and Review Technique (PERT)......Page 137 5.4 An Example: Using PERT Values......Page 140 5.5 Using the PERT Values to Estimate Risk Reserve......Page 142 5.6 Algorithmic Analogy Estimation......Page 145 5.7 Recommended Reading......Page 148 5.8 Summary......Page 149 6.1 The Maintenance Process......Page 150 6.2 Building the Estimation Model......Page 160 6.3 Calibrating the Model......Page 166 6.4 Tracking and Updating......Page 167 6.5 Improving the Estimation Model......Page 169 6.6 Recommended Reading......Page 174 6.7 Summary......Page 176 Part 2: The Details......Page 178 Chapter 7: Preparing to Estimate (Precursors of Estimation)......Page 180 7.1 The Precursors of Estimation......Page 181 7.2 How to Understand the Overall Job: The Key Diagrams......Page 182 7.3 The Operational Concept......Page 184 7.4 Identifying Products and Services......Page 187 7.5 Product Requirements......Page 190 7.6 Product Architecture......Page 196 7.7 Project Goals and Constraints......Page 199 7.9 Summary......Page 202 Chapter 8: Estimating Software Size: The Basics......Page 204 8.1 The Sizing Process......Page 205 8.2 Example: Using the Operational Concept......Page 211 8.3 Sizing Hardware......Page 216 8.4 Accounting for Size Growth and Volatility......Page 219 8.5 Tracking Size......Page 221 8.6 Implementation Guidance......Page 228 8.8 Summary......Page 230 Chapter 9: Estimating Software Size: The Details......Page 232 9.1 Requirements......Page 233 9.2 UML-Based Sizing and Use Case Points......Page 234 9.3 Application Points......Page 238 9.4 Web Objects and Internet Points......Page 241 9.5 Function Points......Page 242 9.6 Simplified Ways to Count Function Points......Page 253 9.7 Object-Oriented Size Measures......Page 263 9.8 Defining Source Lines of Code (SLOC)......Page 264 9.9 Estimating New Code......Page 269 9.10 Sizing Reused Source Code......Page 276 9.11 "Sizing" Commercial Off-the-Shelf Software Components......Page 289 9.12 The COCOTS Model......Page 290 9.13 Recommended Reading......Page 292 9.14 Summary......Page 295 Chapter 10: Production Processes (Project Life Cycles)......Page 298 10.1 Elements of a Project Life Cycle Model......Page 299 10.2 The Spectrum of Software Life Cycles......Page 300 10.3 Choosing an Appropriate Project Life Cycle......Page 312 10.4 Extending the Basic Development Life Cycle Models......Page 313 10.5 Production and Delivery Activities......Page 324 10.6 Recommended Reading......Page 329 10.7 Summary......Page 330 Chapter 11: Bottom-Up Estimating and Scheduling......Page 332 11.1 Summary of the Process......Page 333 11.2 The Work Breakdown Structure......Page 335 11.3 Creating Your WBS......Page 340 11.4 Scheduling......Page 345 11.5 Building the Network: Cards on the Wall Method......Page 357 11.6 Recommended Reading......Page 362 11.7 Summary......Page 363 Chapter 12: Top-Down Estimating and Allocation......Page 366 12.1 Relating Effort, Duration, and Staffing......Page 367 12.2 Planned Versus Actual Availability......Page 371 12.3 Schedule Compression......Page 374 12.4 Allocating Effort and Time......Page 377 12.5 Some Examples......Page 394 12.7 Summary......Page 398 13.1 Types of Parametric Models......Page 402 13.2 Core Effort and Schedule......Page 403 13.3 A Simple Parametric Model......Page 405 13.4 Adding Missing Phases and Activities......Page 407 13.5 Adjusting for Different Characteristics......Page 408 13.6 Handling Size, Cost, and Schedule Constraints......Page 412 13.7 Evaluating a Hardware/Software Trade......Page 414 13.8 Calibrating Parametric Models......Page 416 13.9 Parametric Models for Hardware Costs......Page 426 13.10 Selecting an Automated Estimation Tool......Page 428 13.11 Helping Nonestimators Provide Good Parameter Values......Page 430 13.12 Recommended Reading......Page 442 13.13 Summary......Page 443 Chapter 14: Estimating Risk Reserves......Page 446 14.1 Concepts......Page 447 14.2 The Risk Management Process......Page 449 14.3 Identifying Risks and Mitigation Actions......Page 451 14.4 Analyzing and Prioritizing Risks: Risk Impact......Page 458 14.5 Calculating the Risk Reserve......Page 463 14.6 Planning: Deciding to Defer Mitigation Tasks......Page 465 14.8 Other Approaches......Page 468 14.9 Recommended Reading......Page 469 14.10 Summary......Page 470 Chapter 15: Calculating Cost and Price: The Basics......Page 472 15.1 Direct and Indirect Costs......Page 473 15.2 Calculating Direct Costs......Page 474 15.3 Calculating Indirect Costs......Page 476 15.5 Calculating the Loaded Cost......Page 479 15.6 Management Reserves......Page 480 15.7 Cash Flow and Interest Costs......Page 481 15.8 Opportunity Cost......Page 483 15.9 Determining the Selling Price for a Product6......Page 484 15.10 Evaluating the Total Ownership Cost......Page 486 15.11 Evaluating a Product or Project......Page 489 15.12 Reducing the Cost or Price......Page 491 15.13 The Need for Multiple Models......Page 495 15.14 Recommended Reading......Page 496 15.15 Summary......Page 497 Part 3: Closing the Feedback Loop......Page 500 16.1 Why Should You Even Collect Historical Data?......Page 502 16.2 Collecting Data......Page 503 16.3 Data Collection Templates......Page 504 16.5 Collecting Effort and Cost Data......Page 525 16.6 Recommended Reading......Page 527 16.7 Summary......Page 528 Chapter 17: Tracking Status......Page 530 17.1 Assessing Status......Page 531 17.2 Tracking Test Status......Page 532 17.3 Tracking Size and Productivity......Page 538 17.4 Tracking Size with Error Bars......Page 541 17.5 Trendlines......Page 542 17.6 Regression Fitting......Page 544 17.7 Other Ways to Detect Trouble......Page 546 17.9 Summary......Page 548 Chapter 18: Updating Estimates......Page 550 18.1 Reasons to Update Estimates......Page 551 18.3 When to Prepare Updated Estimates......Page 553 18.4 Preparing Updated Estimates......Page 555 18.5 Preparing an Estimate to Complete......Page 559 18.7 Summary......Page 564 Chapter 19: Consolidating and Applying Your Knowledge......Page 566 19.1 Review of Estimation and Measurement......Page 567 19.2 Implementing Estimation and Measurement......Page 568 19.3 Defining an Estimation Process......Page 569 19.4 Establishing an Integrated Estimation Process......Page 571 19.5 Useful Resources......Page 575 19.6 Addressing New Technologies and Processes......Page 576 19.7 Recommended Reading......Page 578 19.8 Summary......Page 579 Part 4: Handling Large Projects......Page 582 Chapter 20: Crafting a WBS......Page 584 20.1 The Work Breakdown Structure: Additional Concepts......Page 585 20.2 A Generic WBS (HW, SW, Data, Services)......Page 587 20.3 Examples of Alternate Partitioning......Page 600 20.4 Customizing Your WBS......Page 605 20.5 Recommended Reading......Page 607 20.6 Summary......Page 609 21.1 Concepts......Page 610 21.2 Assessing Overall Project Status......Page 615 21.3 Converting Schedule Variance to Time......Page 616 21.4 Interim Milestones......Page 618 21.5 Earned Value Example......Page 620 21.6 Prediction Completion Costs......Page 621 21.7 Recommended Reading......Page 623 21.8 Summary......Page 624 22.1 Project Tracking Systems......Page 626 22.3 Defining "Good" Charge Numbers......Page 628 22.4 Limitations of Accounting Systems......Page 631 22.5 Activity-Based Costing......Page 633 22.6 Tracking Heterogeneous Project Teams......Page 634 22.7 Tracking IDIQ Contracts......Page 635 22.8 Recommended Reading......Page 636 22.9 Summary......Page 637 23.1 Review of Direct and Indirect Costs......Page 638 23.2 Rate Types for U.S. Government Contracts......Page 639 23.3 Financial Risks of U.S. Government Contracts......Page 645 23.4 Calculating a Bid Price......Page 647 23.6 Cash Flow and Interest Costs......Page 650 23.7 Setting a Bid Price......Page 651 23.8 Reducing the Price......Page 652 23.10 Summary......Page 655 Part 5: Estimating Products and Processes......Page 656 24.1 Types of Product Performance......Page 658 24.2 Estimating and Measuring Software Performance......Page 661 24.3 Performance Measurement......Page 664 24.4 Rough Order of Magnitude Calculations......Page 666 24.5 The Resource Usage Matrix......Page 667 24.6 Modeling Web-Based Systems......Page 668 24.7 Queueing Models......Page 674 24.8 Simulation......Page 690 24.9 Choosing a Technique......Page 696 24.10 Performance Engineering Process......Page 698 24.11 Estimating Costs for Performance Engineering......Page 701 24.12 Recommended Reading......Page 703 24.13 Summary......Page 705 25.1 Why Product Quality Is Important......Page 708 25.2 Defining Quality......Page 709 25.3 Determining Quality During a Project......Page 712 25.4 Estimating Defects During Design and Construction......Page 714 25.5 RADC Model......Page 715 25.6 COQUALMO......Page 720 25.7 Measuring Defects During Testing......Page 722 25.8 Estimating Software Reliability......Page 723 25.9 Error Trending......Page 728 25.11 Observing Defects During Actual Use......Page 731 25.12 Closing the Loop......Page 732 25.13 Internal Measures of Software Quality......Page 733 25.14 Measures of Document Quality......Page 736 25.15 Recommended Reading......Page 740 25.16 Summary......Page 741 26.1 Defining a Process......Page 744 26.2 Controlling Production Processes......Page 746 26.3 Measuring Process Performance......Page 748 26.4 Measuring the Cost of Quality......Page 753 26.5 Predicting Process Performance......Page 758 26.6 Statistical Process Control......Page 762 26.7 Staged Defect Removal Models......Page 766 26.8 Dynamic Models......Page 775 26.9 Building Process Performance Models......Page 782 26.10 Recommended Reading......Page 784 26.11 Summary......Page 786 Chapter 27: Ranking and Selecting Items......Page 788 27.1 Introduction......Page 790 27.2 Voting Techniques......Page 791 27.3 A Technique to Handle Two Criteria......Page 797 27.4 Techniques to Handle Multiple Criteria......Page 799 27.5 Multi-Attribute Utility Theory (MAUT)......Page 800 27.6 The Analytic Hierarchy Process......Page 803 27.7 Estimating Module Size Using AHP......Page 805 27.8 Recommended Reading......Page 809 27.9 Summary......Page 811 Appendix A: Roles and Responsibilities for Estimation......Page 814 B.1 Measurement and Scale Types......Page 832 B.2 Statistics and Scale Types......Page 835 B.3 Statistical Measures......Page 836 B.4 Recommended Reading......Page 840 C.1 Statistics of a Set of Estimates......Page 842 C.2 Statistics of a Time Sequence of Estimates......Page 844 C.3 Choosing the "Best" Measure of Estimation Accuracy......Page 845 C.4 Using Excel to Calculate Estimation Error......Page 846 Appendix D: Summation Formulas for Series......Page 848 E.1 Introduction......Page 850 E.2 Basic Concepts......Page 853 E.3 Labeling Spreadsheets and Documents......Page 858 E.4 Helping Users......Page 862 E.5 Printing......Page 865 E.6 Plotting ("Charting")......Page 866 E.7 Advanced Features......Page 872 E.8 Macros and Visual Basic for Applications......Page 874 Acronyms......Page 884 Introduction......Page 892 A......Page 893 B......Page 894 C......Page 896 D......Page 899 E......Page 901 F......Page 902 I......Page 904 M......Page 905 O......Page 907 P......Page 908 Q......Page 913 R......Page 914 S......Page 915 T......Page 919 U......Page 921 W......Page 922 Bibliography......Page 924 A......Page 926 C......Page 927 D......Page 929 E......Page 930 F......Page 931 I......Page 932 L......Page 933 M......Page 934 O......Page 935 P......Page 936 R......Page 938 S......Page 939 T......Page 941 V......Page 942 W-Z......Page 943
many Software Projects Fail Because Their Leaders Don't Know How To Estimate, Schedule, Or Measure Them Accurately. Fortunately, Proven Tools And Techniques Exist For Every Facet Of Software Estimation. Estimating Software-intensive Systems Brings Them Together In A Real-world Guidebook That Will Help Software Managers, Engineers, And Customers Immediately Improve Their Estimatesand Drive Continuing Improvements Over Time.
dick Stutzke Presents Here A Disciplined And Repeatable Process That Can Produce Accurate And Complete
estimates For Any Project, Product, Or Process, No Matter How New Or Unusual. Stutzke Doesn't Just Describe Formal Techniques: He Offers Simple, Easy-to-use Templates, Spreadsheets, And Tools You Can Start Using Today To Identify And Estimate Product Size, Performance, And Qualityas Well As Project Cost, Schedule, And Risk Reserves.
stutzke Shows How To Quickly "get Your Arms Around" Users' Problems And Requirements, The Structure Of A Solution, And The Process Needed To Deliver It. You'll Learn How To Choose The Most Appropriate Estimating Techniques And Tools; Collect Accurate Data, Track Progress, And Update Estimates; And Recalibrate Estimating Models To Improve Estimation Accuracy.
stutzke's Techniques Apply Whether You're Creating Custom In-house Business Software, Purchasing Or Customizing "off-the-shelf" Technology, Or Constructing Complex, One-of-a-kind Military, Industrial, Or Commercial Systems. These Techniques Apply To Small And Large Projects, And To All Project Life Cyclesfrom Agile To Plan-driven. This Book Will Help You Plan, Estimate, Budget, Schedule, Purchase,design, Build, Test, Deploy, Operate, And Maintain Software-intensive Systems. It Explains How To Size Software, Identify All Cost Components, Calculate The Associated Costs, And Set A Competitive Price.
a Separate Section Covers Topics Of Interest For Large Projects: Designing An Appropriate Work Breakdown Structure, Collecting Data From Cost Accounting Systems, And Using Earned Value Measurement.
an Accompanying Cd-rom Contains Templates, Supplemental Notes, And Microsoft Excel Spreadsheets To Estimate And Track Projects, Product Characteristics, And Processes. It Contains An Extensive Bibliography And Links To Web Resources On Software Estimation, Measurement, And Related Topics. You'll Find Updates And Even More Information On This Book's Companion Web Site, Http://www.sw-estimation.com.
© Copyright Pearson Education. All Rights Reserved.
"This expanded second edition of an Artech House bestseller offers the most current and comprehensive coverage of radar system performance analysis and system-level modeling. This revised edition features new material on airborne and space-based radar, radar tracking techniques, radar system design, and operational and performance issues. It also provides new detailed examples, problem sets and solutions, and a comprehensive self-test to help readers evaluate their understanding of the material. Featuring over 255 equations and more than 120 illustrations, this systematic reference offers a clear understanding of the basics of radar design, operation, and applications."--Jacket