Unfortunately, much of what has been written about software engineering comes from an academic perspective which does not always address the everyday concerns that software developers and managers face. With decreasing software budgets and increasing demands from users and senior management, technology directors need a complete guide to the subject of software engineering. The successor to the bestselling Software Engineering Productivity Handbook, this book fulfills that need.
Written by an expert with over 25 years of practical experience in building systems, The Software Engineering Handbook covers the full spectrum of software engineering methodologies, techniques, and tools and provides details on how to reach the goals of quality management in a software-engineering environment. It includes a wide variety of information, from the guidelines for the Malcom Baldridge Quality Award to the IEEE measures for reliable software. 65 field-tested how-to chapters provide techniques, guidelines, and philosophies that will assist developers in implementing quality and productivity programs.
The author provides readers with a wealth of information and advice in a multitude of areas including management of resources, methods, quality, and metrics. The book concludes with 19 appendices filled with guides, templates, forms, and examples that illustrate important software engineering techniques such as: software requirement specification, software design specification, and a complete test plan including use of automated estimation tools.
SECTION I Introduction to Software Engineering The Feasibility Study and Cost-Benefit Analysis Writing the Project Plan Requirements Elicitation Designing User-Oriented Systems The Outsourcing Decision Methodology Selection Selecting and Integrating a Repository for Effective Resource Management Structured Methodology Review Extreme Programming Concepts Development Before the Fact Technology The Design Specification Object-Oriented Design User Interface Design Software Re-engineering Software Testing The Process of EDP Auditing The Management of Software Maintenance The Science of Documentation Survey on IT Productivity and Quality SECTION II Putnam's Software Equation and SLIM The COCOMO II Model Putnam's Cost Estimation Model Malcolm Baldridge Quality Award Zachman's Framework Linkman's Method for Controlling Programs through Measurement Kellner's Non-Technological Issues in Software Engineering Martin and Carey Survey of Success in Converting Prototypes to Operational Systems Putnam's Trends in Measurement, Estimation, and Control Sprague's Technique for Software Configuration Management in a Measurement-Based Software Engineering Program Corbin's Methodology for Establishing a Software Development Environment Couger's Bottom-Up Approach to Creativity Improvement in IS Development Shetty's Seven Principles of Quality Leaders Simmons Statistics Concerning Communications' Effect on Group Productivity Gould's Points on Usability Prescott's Guidelines for Using Structured Methodology Kemayel's Controllable Factors in Programmer Productivity AT&T's "Estimeeting" Process for Developing Estimates Burns' Framework for Building Dependable Systems Avison's Multiview Meta-Methodology Byrne's Reverse Engineering Technique Prieto-Diaz' Reusability Model Farbey's Considerations on Software Quality Metrics during the Requirements Phase Redmill's Quality Considerations in the Management of Software-Based Development Projects Contel's Software Metrics in the Process Maturity Framework Kydd's Technique to Induce Productivity through Shared Information Technology Bellcore's Software Quality Metrics Keyes' Value of Information Pfleeger's Method for CASE Tool Selection Based on Process Maturity McCabe's Complexity Metric Halstead's Effort Measure DEC's Overview of Software Metrics Hewlett Packard's TQC (Total Quality Control) Guidelines for Software Engineering Productivity Motorola's Six Sigma Defect Reduction Effort Lederer's Management Guidelines for Better Cost Estimating Kanter's Methodology for Justifying Investment in Information Technology The "Make-Buy" Decision Software Selection from Multiple Packages The Boehm COCOMO Model IEEE Standard Dictionary of Measures to Produce Reliable Software IEEE Framework for Measures Gillies' Method for Humanization of the Software Factory Pfleeger's Approach to Software Metrics Tool Evaluation Maiden's Method for Reuse of Analogous Specifications through Human Involvement in Reuse Process Tate's Approaches to Measuring Size of Application Products with CASE Tools APPENDICES System Service Request Form Project Statement of Work Feasibility Study Template Sample Cost Benefit Analysis Worksheets Sample Business Use Case Software Project Plan Sample SRS Sample Survey Sample Architectural Design Sample SDS Sample Data Dictionary Sample OO SDS Sample Class Dictionary Control Sheet Test Plan QA Handover Document Software Metrics Capability Evaluation Questionnaires IT Staff Competency Survey Function Point Counting Guide INDEX