the Rigors Of Engineering Must Soon Be Applied To The Software Development Process, Or The Complexities Of New Systems Will Initiate The Collapse Of Companies That Attempt To Produce Them. Software Specification And Design: An Engineering Approach Offers A Foundation For Rigorously Engineered Software. It Provides A Clear Vision Of What Occurs At Each Stage Of Development, Parsing The Stages Of Specification, Design, And Coding Into Compartments That Can Be More Easily Analyzed. formalizing The Concepts Of Specification Traceability Witnessed At The Software Organizations Of Rockwell, Ibm Fsd, And Nasa, The Author Proposes A Strategy For Software Development That Emphasizes Measurement. He Promotes The Measurement Of Every Aspect Of The Software Environment - From Initial Testing Through Test Activity And Deployment/operation. this Book Details The Path To Effective Software And Design. It Recognizes That Each Project Is Different, With Its Own Set Of Problems, So It Does Not Propose A Specific Model. Instead, It Establishes A Foundation For The Discipline Of Software Engineering That Is Both Theoretically Rigorous And Relevant To The Real-world Engineering Environment. The rigors of engineering must soon be applied to the software development process, or the complexities of new systems will initiate the collapse of companies that attempt to produce them. Software Specification and Design: An Engineering Approach offers a foundation for rigorously engineered software. It provides a clear vision of what occurs at each stage of development, parsing the stages of specification, design, and coding into compartments that can be more easily analyzed. Formalizing the concepts of specification traceability witnessed at the software organizations of Rockwell, IBM FSD, and NASA, the author proposes a strategy for software development that emphasizes measurement. He promotes the measurement of every aspect of the software environment - from initial testing through test activity and deployment/operation. This book details the path to effective software and design. It recognizes that each project is different, with its own set of problems, so it does not propose a specific model. Instead, it establishes a foundation for the discipline of software engineering that is both theoretically rigorous and relevant to the real-world engineering environment. Front cover 1 Dedication 6 Contents 8 Preface 16 Chapter 1. An Overview of the Software Development Process 22 Chapter 2. Requirements Analysis 56 Chapter 3. Operational Specification 72 Chapter 4. Functional Specification: High-Level Design 98 Chapter 5. Mapping Operations to Functionalities 130 Chapter 6. Module Specification: Low-Level Design 158 Chapter 7. Mapping the Operations to Modules 188 Chapter 8. Choosing the Appropriate Language Metaphor 224 Chapter 9. Meauring Software Design 240 Chapter 10. System Architectural Trade-Offs 268 Chapter 11. The Structure of an Executing Program 282 Chapter 12. Maintaining the Specifications 300 Chapter 13. The Software Development Infrastructure 318 Chapter 14. Specification-Driven Verification and Validation 330 Chapter 15. Direct Benefits of Specification Traceability 364 Index 388 Back cover 400 In order for software developers to apply engineering rigour in the development process, they must first have an idea as to what is happening at various stages of the process. This text provides a foundation for all aspects of software engineering, from requirements to maintenance