How to Engineer Software (eBook)
1168 Seiten
John Wiley & Sons (Verlag)
978-1-119-54669-6 (ISBN)
How to Engineer Software is a practical, how-to guide that explores the concepts and techniques of model-based software engineering using the Unified Modeling Language. The author--a noted expert on the topic--demonstrates 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 specifically and intentionally adds value for development and maintenance. This important book:
* Contains many illustrative examples of model-based software engineering, from semantic model all the way to executable code
* Explains how to derive verification (acceptance) test cases from a semantic model
* Describes project estimation, along with alternative software development and maintenance processes
* Shows how to develop and maintain cost-effective software that solves real-world problems
Written for graduate and undergraduate students in software engineering and professionals in the field, How to Engineer Software offers an introduction to applying the theory of computing with practice and judgment in order to economically develop and maintain software.
STEVE TOCKEY is Principal Consultant at Construx. Steve is an expert in software engineering practices including object-oriented development, distributed object computing, software project management, and software quality. He earned a Masters of Software Engineering degree from Seattle University and has served as an adjunct faculty member for the program. Prior to joining Construx, Tockey worked at Lawrence Livermore National Laboratory, Boeing, and Rockwell Collins.
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
Erscheint lt. Verlag | 4.9.2019 |
---|---|
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik |
Technik ► Elektrotechnik / Energietechnik | |
Schlagworte | Computer Science • Informatik • Materials Science • Materialwissenschaften • Materialwissenschaften / Theorie, Modellierung u. Simulation • Software engineering • Software-Engineering • Theory, Modeling & Simulation |
ISBN-10 | 1-119-54669-9 / 1119546699 |
ISBN-13 | 978-1-119-54669-6 / 9781119546696 |
Haben Sie eine Frage zum Produkt? |
Größe: 18,2 MB
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich