Description

Book Synopsis

A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem

How to Engineer Software is a practical, how-to guide that explores the concepts and techniques ofmodel-based software engineering using the Unified Modeling Language. The authora noted expert on the topicdemonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics.

Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that sp

Table of Contents

Foreword xi

Preface xvii

Acknowledgments xxv

Online Resources xxvii

Part I Introduction and Foundations 1

1 Introduction 3

2 The Nature of Code 39

3 Fundamental Principles 67

4 Functional and Nonfunctional Requirements 91

5 UML Overview 115

6 Partitioning Systems into Domains 125

Part II Semantic Modeling: Model-based Functional Requirements 151

7 Use Case Diagrams: Scope and Context 153

8 Class Models: Policies to Enforce 183

9 Interaction Diagrams: Process at a Mid-Level 237

10 State Models: Process at a Fine-Grained Level 261

11 Partitioning Domains into Subdomains 305

12 Wrapping Up Semantic Modeling 323

Part III Model-based Design and Code 369

13 Introduction to Design and Code 371

14 Designing Interfaces: Specifying Real-World Interaction 379

15 High-Level Design: Classes and Operations 407

16 High-Level Design: Contracts and Signatures 447

17 Detailed Design and Code 503

18 Formal Disciplines of Design and Code 539

19 Optimization 583

20 Model Compilation 633

21 Advanced Open Model Compilation 675

22 Wrapping Up Model-Based Design and Code 705

Part IV Related Topics 723

23 Estimation 725

24 Development and Maintenance Processes 759

25 Economics of Error Handling 787

26 Arguments Against Model-Based Software Engineering 815

Part V Summary 827

27 Closing Remarks 829

Part VI Appendices 843

Appendix A: Documentation Principles 845

Appendix B: WebBooks 2.0 Background 849

Appendix C: WebBooks 2.0 Domains 853

Appendix D: Semantic Model for Order fulfillment 857

Appendix E: (Pro Forma) Order fulfillment Design 885

Appendix F: Semantic Model for Payment 905

Appendix G: (Pro Forma) Payment Design 927

Appendix H: Semantic Model for Scalability 943

Appendix I: (Pro Forma) Scalability Design 969

Appendix J: Semantic Model for High availability 985

Appendix K: (Pro Forma) High availability Design 1001

Appendix L: Semantics of Semantic Modeling 1011

Appendix M: Sample Production Rules 1049

Appendix N: Software Structural Complexity Metrics 1061

References 1081

Index 1091

How to Engineer Software

    Product form

    £107.06

    Includes FREE delivery

    RRP £118.95 – you save £11.89 (9%)

    Order before 4pm today for delivery by Mon 6 Jul 2026.

    A Hardback by Steve Tockey

    2 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of How to Engineer Software by Steve Tockey

      Publisher: John Wiley and Sons Ltd
      Publication Date: 02/12/2019
      ISBN13: 9781119546627, 978-1119546627
      ISBN10: 1119546621

      Description

      Book Synopsis

      A guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem

      How to Engineer Software is a practical, how-to guide that explores the concepts and techniques ofmodel-based software engineering using the Unified Modeling Language. The authora noted expert on the topicdemonstrates how software can be developed and maintained under a true engineering discipline. He describes the relevant software engineering practices that are grounded in Computer Science and Discrete Mathematics.

      Model-based software engineering uses semantic modeling to reveal as many precise requirements as possible. This approach separates business complexities from technology complexities, and gives developers the most freedom in finding optimal designs and code. The book promotes development scalability through domain partitioning and subdomain partitioning. It also explores software documentation that sp

      Table of Contents

      Foreword xi

      Preface xvii

      Acknowledgments xxv

      Online Resources xxvii

      Part I Introduction and Foundations 1

      1 Introduction 3

      2 The Nature of Code 39

      3 Fundamental Principles 67

      4 Functional and Nonfunctional Requirements 91

      5 UML Overview 115

      6 Partitioning Systems into Domains 125

      Part II Semantic Modeling: Model-based Functional Requirements 151

      7 Use Case Diagrams: Scope and Context 153

      8 Class Models: Policies to Enforce 183

      9 Interaction Diagrams: Process at a Mid-Level 237

      10 State Models: Process at a Fine-Grained Level 261

      11 Partitioning Domains into Subdomains 305

      12 Wrapping Up Semantic Modeling 323

      Part III Model-based Design and Code 369

      13 Introduction to Design and Code 371

      14 Designing Interfaces: Specifying Real-World Interaction 379

      15 High-Level Design: Classes and Operations 407

      16 High-Level Design: Contracts and Signatures 447

      17 Detailed Design and Code 503

      18 Formal Disciplines of Design and Code 539

      19 Optimization 583

      20 Model Compilation 633

      21 Advanced Open Model Compilation 675

      22 Wrapping Up Model-Based Design and Code 705

      Part IV Related Topics 723

      23 Estimation 725

      24 Development and Maintenance Processes 759

      25 Economics of Error Handling 787

      26 Arguments Against Model-Based Software Engineering 815

      Part V Summary 827

      27 Closing Remarks 829

      Part VI Appendices 843

      Appendix A: Documentation Principles 845

      Appendix B: WebBooks 2.0 Background 849

      Appendix C: WebBooks 2.0 Domains 853

      Appendix D: Semantic Model for Order fulfillment 857

      Appendix E: (Pro Forma) Order fulfillment Design 885

      Appendix F: Semantic Model for Payment 905

      Appendix G: (Pro Forma) Payment Design 927

      Appendix H: Semantic Model for Scalability 943

      Appendix I: (Pro Forma) Scalability Design 969

      Appendix J: Semantic Model for High availability 985

      Appendix K: (Pro Forma) High availability Design 1001

      Appendix L: Semantics of Semantic Modeling 1011

      Appendix M: Sample Production Rules 1049

      Appendix N: Software Structural Complexity Metrics 1061

      References 1081

      Index 1091

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account