{"product_id":"how-to-engineer-software-9781119546627","title":"How to Engineer Software","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cb\u003eA guide to the application of the theory and practice of computing to develop and maintain software that economically solves real-world problem\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003ci\u003eHow to Engineer Software\u003c\/i\u003e 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.\u003c\/p\u003e \u003cp\u003eModel-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\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eForeword xi\u003c\/p\u003e \u003cp\u003ePreface xvii\u003c\/p\u003e \u003cp\u003eAcknowledgments xxv\u003c\/p\u003e \u003cp\u003eOnline Resources xxvii\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I Introduction and Foundations 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1 Introduction 3\u003c\/p\u003e \u003cp\u003e2 The Nature of Code 39\u003c\/p\u003e \u003cp\u003e3 Fundamental Principles 67\u003c\/p\u003e \u003cp\u003e4 Functional and Nonfunctional Requirements 91\u003c\/p\u003e \u003cp\u003e5 UML Overview 115\u003c\/p\u003e \u003cp\u003e6 Partitioning Systems into Domains 125\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II Semantic Modeling: Model-based Functional Requirements 151\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7 Use Case Diagrams: Scope and Context 153\u003c\/p\u003e \u003cp\u003e8 Class Models: Policies to Enforce 183\u003c\/p\u003e \u003cp\u003e9 Interaction Diagrams: Process at a Mid-Level 237\u003c\/p\u003e \u003cp\u003e10 State Models: Process at a Fine-Grained Level 261\u003c\/p\u003e \u003cp\u003e11 Partitioning Domains into Subdomains 305\u003c\/p\u003e \u003cp\u003e12 Wrapping Up Semantic Modeling 323\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III Model-based Design and Code 369\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13 Introduction to Design and Code 371\u003c\/p\u003e \u003cp\u003e14 Designing Interfaces: Specifying Real-World Interaction 379\u003c\/p\u003e \u003cp\u003e15 High-Level Design: Classes and Operations 407\u003c\/p\u003e \u003cp\u003e16 High-Level Design: Contracts and Signatures 447\u003c\/p\u003e \u003cp\u003e17 Detailed Design and Code 503\u003c\/p\u003e \u003cp\u003e18 Formal Disciplines of Design and Code 539\u003c\/p\u003e \u003cp\u003e19 Optimization 583\u003c\/p\u003e \u003cp\u003e20 Model Compilation 633\u003c\/p\u003e \u003cp\u003e21 Advanced Open Model Compilation 675\u003c\/p\u003e \u003cp\u003e22 Wrapping Up Model-Based Design and Code 705\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV Related Topics 723\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e23 Estimation 725\u003c\/p\u003e \u003cp\u003e24 Development and Maintenance Processes 759\u003c\/p\u003e \u003cp\u003e25 Economics of Error Handling 787\u003c\/p\u003e \u003cp\u003e26 Arguments Against Model-Based Software Engineering 815\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart V Summary 827\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e27 Closing Remarks 829\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VI Appendices 843\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAppendix A: Documentation Principles 845\u003c\/p\u003e \u003cp\u003eAppendix B: WebBooks 2.0 Background 849\u003c\/p\u003e \u003cp\u003eAppendix C: WebBooks 2.0 Domains 853\u003c\/p\u003e \u003cp\u003eAppendix D: Semantic Model for Order fulfillment 857\u003c\/p\u003e \u003cp\u003eAppendix E: (Pro Forma) Order fulfillment Design 885\u003c\/p\u003e \u003cp\u003eAppendix F: Semantic Model for Payment 905\u003c\/p\u003e \u003cp\u003eAppendix G: (Pro Forma) Payment Design 927\u003c\/p\u003e \u003cp\u003eAppendix H: Semantic Model for Scalability 943\u003c\/p\u003e \u003cp\u003eAppendix I: (Pro Forma) Scalability Design 969\u003c\/p\u003e \u003cp\u003eAppendix J: Semantic Model for High availability 985\u003c\/p\u003e \u003cp\u003eAppendix K: (Pro Forma) High availability Design 1001\u003c\/p\u003e \u003cp\u003eAppendix L: Semantics of Semantic Modeling 1011\u003c\/p\u003e \u003cp\u003eAppendix M: Sample Production Rules 1049\u003c\/p\u003e \u003cp\u003eAppendix N: Software Structural Complexity Metrics 1061\u003c\/p\u003e \u003cp\u003eReferences 1081\u003c\/p\u003e \u003cp\u003eIndex 1091 \u003c\/p\u003e","brand":"John Wiley and Sons Ltd","offers":[{"title":"Default Title","offer_id":49407079809367,"sku":"9781119546627","price":107.06,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781119546627.jpg?v=1730498103","url":"https:\/\/bookcurl.com\/products\/how-to-engineer-software-9781119546627","provider":"Book Curl","version":"1.0","type":"link"}