Fr. 196.00

How to Engineer Software - A Model-Based Approach

Inglese · Copertina rigida

Spedizione di solito entro 1 a 3 settimane (non disponibile a breve termine)

Descrizione

Ulteriori informazioni

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 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.

Sommario

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

Info autore










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.

Recensioni dei clienti

Per questo articolo non c'è ancora nessuna recensione. Scrivi la prima recensione e aiuta gli altri utenti a scegliere.

Scrivi una recensione

Top o flop? Scrivi la tua recensione.

Per i messaggi a CeDe.ch si prega di utilizzare il modulo di contatto.

I campi contrassegnati da * sono obbligatori.

Inviando questo modulo si accetta la nostra dichiarazione protezione dati.