UML 2 Certification Guide: Fundamental & Intermediate Exams
Author: Tim Weilkiens
UML 2 Certification Guide
Fundamental and Intermediate Exams
Tim Weilkiens
Bernd Oestereich
The authors have proven their mettle by teaching UML expertise in classroom settings that led to remarkably high OCUP test passing rates, just weeks after the UCOP Program became available worldwide.
You have taken the right first step to prepare yourself to show what you knowXand this book is the right tool to get you there!
Ж'{ Richard Mark Soley, Ph.D., Chairman and Chief Executive Officer, Object Management Group, Inc. (from the Foreword)
Carefully reviewed by the organization behind the certification, the Object Management Group, this book offers systematic coverage of the Fundamental and Intermediate exam topics, along with practical advice on passing the tests. The UML 2 Certification Guide is the only official resource for passing these two exams. Introductory UML texts often omit key exam material, but this book is guaranteed to give you all the information you need.
* The official certification resource
* Assumes a basic knowledge of UML so that you can focus immediately on the exams
* Written by two authors known for their skill as trainers, consultants, and developers
* Developed systematically to enable you to master all exam topicsXwithout exception
* Covers the use of UML for applications, as required by the exams, both inside and outside of the realm of software development
* Includes a practice exam, glossary, list of books, and website information
Tim Weilkiens is a coach and advisor at oose Innovative Informatik GmbH, a leading German consultancy devoted to information technology for business. He has been involved withobject-oriented software development since 1991. He is considered one of the top ten UML experts in the world.
Bernd Oestereich is a managing director at oose Innovative Informatik GmbH and the author of a number of books and professional articles. His extensive experience as a coach, trainer, and consultant has dealt with issues ranging from project management to software architecture to software engineering.
See also: Comunicazioni di Digitahi
The Guru's Guide to SQL Server Stored Procedures, XML, and HTML
Author: Ken Henderson
The Microsoft Transact-SQL programming language has become an increasingly popular solution for developers seeking to build powerful and scalable distributed SQL Server applications. This follow-up to the widely acclaimed The Guru's Guide to Transact-SQL covers current subjects critical to successful SQL Server application development in depth, while leading developers to new heights in their overall programming skills.
Blending theoretical detail with practical application, this comprehensive reference begins by providing a foundational overview of SQL Server stored procedure programming. From there, the book moves on to best practices and design considerations before progressing to advanced topics -- providing the most complete coverage of SQL Server stored procedure programming available in one source. Topics such as extended procedures, OLE Automation, database design, and XML are covered in detail, while the book spotlights undocumented language features and brings the first application of design patterns to SQL. The preview of.NET and a groundbreaking way to add arrays to Transact-SQL make for the most thorough and engaging read published to date on SQL Server programming.
The Guru's Guide to SQL Server Stored Procedures, XML, and HTML includes sample projects with complete source code suitable for plugging into real world applications. Additional highlights include:
End-to-end coverage of stored procedure construction, best practices, and common conventions.
In-depth coverage of "procedural" objects, including triggers, views, and user-defined functions.
A comprehensive discussion of employing HTML and XML in SQL Server applications, as well as an introduction to Microsoft's new .NET platform.
Expert advice on debugging and profiling stored procedure code.
Step-by-step instructions on how to create advanced stored procedure objects including extended stored procedures and administrative procedures.
A behind-the-scenes look at undocumented Transact-SQL elements and coding tricks.
Software engineering essays addressing the work environment, evolutionary code development, and software testing.
An accompanying CD-ROM contains the book's source code along with several handy database administration tools. More than 600 code files, programming utilities, extended procedures, and SQL scripts demonstrate the real power of SQL Server programming and provide a tremendous value to the reader.
Both comprehensive and practical, The Guru's Guide to SQL Server Stored Procedures, XML, and HTML provides developers with a complete tool set for becoming expert stored procedure programmers and better software practitioners.
Booknews
Explores the nuances and quirks in SQL Server's stored procedure programming language, Transact-SQL. Written for advanced programmers, the book delves into the intricacies of database design, triggers, view objects, user-defined functions, extended storage procedures, and administrative storage procedures. The author also explains how to translate data stored in SQL Server databases into HTML and XML. The CD-ROM contains SQL scripts and programming utilities. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Table of Contents:
| Foreword | xv |
| Preface | xvii |
| Introduction | xxiii |
| Part I | The Basics | 1 |
| Chapter 1 | Stored Procedure Primer | 3 |
| What Is a Stored Procedure? | 3 |
| Stored Procedure Advantages | 4 |
| Creating a Stored Procedure | 5 |
| Altering Stored Procedures | 17 |
| Executing Stored Procedures | 18 |
| Extended Stored Procedures | 32 |
| Environmental Issues | 34 |
| Parameters | 37 |
| Flow Control Language | 42 |
| Errors | 44 |
| Nesting | 46 |
| Recursion | 46 |
| Summary | 47 |
| Chapter 2 | Suggested Conventions | 49 |
| Source Formatting | 50 |
| Coding Conventions | 64 |
| Summary | 72 |
| Chapter 3 | Common Design Patterns | 73 |
| The Law of Parsimony | 74 |
| Idioms | 75 |
| Design Patterns | 84 |
| Summary | 102 |
| Chapter 4 | Source Code Management | 103 |
| The Benefits of Source Code Management | 104 |
| The dt Procedures | 105 |
| Best Practices | 106 |
| Version Control from Query Analyzer | 113 |
| Automating Script Generation with Version Control | 115 |
| Summary | 119 |
| Chapter 5 | Database Design | 121 |
| General Approach | 121 |
| Modeling Tools | 122 |
| The Sample Project | 123 |
| The Five Processes | 123 |
| The Five Phases Examined | 124 |
| Defining the Functions of the Application | 127 |
| Modeling Business Processes | 131 |
| Entity-Relationship Modeling | 143 |
| Relational Data Modeling | 162 |
| Summary | 181 |
| Chapter 6 | Data Volumes | 183 |
| Approaches to Generating Data | 183 |
| Speed | 197 |
| Summary | 197 |
| Part II | Objects | 199 |
| Chapter 7 | Error Handling | 201 |
| Error Reporting | 201 |
| Handling Errors | 203 |
| Summary | 214 |
| Chapter 8 | Triggers | 215 |
| Determining What Has Changed | 216 |
| Managing Sequential Values | 222 |
| Trigger Restrictions | 224 |
| Instead of Triggers | 226 |
| Triggers and Auditing | 229 |
| Transactions | 234 |
| Execution | 234 |
| Calling Stored Procedures | 235 |
| Nested Triggers | 239 |
| Disabling Triggers | 239 |
| Best Practices | 240 |
| Summary | 243 |
| Chapter 9 | Views | 245 |
| Meta-data | 245 |
| Restrictions | 247 |
| Ansi SQL Schema Views | 249 |
| Updatable Views | 265 |
| The With Check Option Clause | 266 |
| Derived Tables | 267 |
| Parameterized Views | 268 |
| Dynamic Views | 269 |
| Partitioned Views | 271 |
| Indexed Views | 286 |
| Designing Modular Indexed Views | 288 |
| Summary | 289 |
| Chapter 10 | User-Defined Functions | 291 |
| Scalar Functions | 291 |
| Table-Value Functions | 292 |
| Inline Functions | 295 |
| Limitations | 296 |
| Meta-data | 300 |
| Creating Your Own System Functions | 304 |
| UDF Cookbook | 307 |
| Summary | 335 |
| Part III | HTML, XML, and .NET | 337 |
| Chapter 11 | HTML | 339 |
| Origins | 339 |
| Producing HTML from Transact-SQL | 340 |
| Producing HTML from sp_makewebtask | 344 |
| Summary | 351 |
| Chapter 12 | Introduction to XML | 353 |
| Wooden Nickels | 353 |
| XML: An Overview | 356 |
| HTML: Simplicity Comes at a Price | 357 |
| XML: A Brief History | 358 |
| XML versus HTML: An Example | 358 |
| Document Type Definitions | 364 |
| XML Schemas | 367 |
| Extensible Stylesheet Language Transformation (XSLT) | 370 |
| Document Object Model | 378 |
| Further Reading | 379 |
| Tools | 379 |
| Summary | 380 |
| Chapter 13 | XML and SQL Server: HTTP Queries | 381 |
| Accessing SQL Server over HTTP | 382 |
| URL Queries | 385 |
| Template Queries | 393 |
| Summary | 400 |
| Chapter 14 | XML and SQL Server: Retrieving Data | 401 |
| Select...For XML | 401 |
| RAW Mode | 402 |
| AUTO Mode | 403 |
| Elements | 404 |
| Explicit Mode | 406 |
| Mapping Schemas | 415 |
| Summary | 420 |
| Chapter 15 | XML and SQL Server: OPENXML | 421 |
| The Flags Parameter | 425 |
| Edge Table Format | 426 |
| Inserting Data with OPENXML() | 427 |
| Web Release 1 | 431 |
| Limitations | 448 |
| Summary | 458 |
| Chapter 16 | .NET and the Coming Revolution | 459 |
| .NET: The Future of Applications Development | 465 |
| What Is .NET? | 466 |
| On Microsoft Bashing | 474 |
| Microsoft Bigotry? | 475 |
| Summary | 476 |
| Part IV | Advanced Topics | 477 |
| Chapter 17 | Performance Considerations | 479 |
| Indexing | 480 |
| Statistics | 492 |
| Query Optimization | 498 |
| Summary | 511 |
| Chapter 18 | Debugging and Profiling | 513 |
| Debugging | 513 |
| Profiling | 516 |
| Stress Testing | 524 |
| Summary | 528 |
| Chapter 19 | Automation | 529 |
| A Brief Overview of COM | 529 |
| SQL Server and COM Automation | 536 |
| Summary | 554 |
| Chapter 20 | Extended Stored Procedures | 555 |
| Open Data Services | 556 |
| A Simple Example | 562 |
| A Better Example | 567 |
| Making Extended Procedures Easier to Use | 575 |
| Debugging Extended Procedures | 576 |
| Isolating Extended Procedures | 577 |
| xp_setpriority | 578 |
| Summary | 584 |
| Chapter 21 | Administrative Stored Procedures | 585 |
| sp_readtextfile | 585 |
| sp_diff | 588 |
| sp_generate_script | 590 |
| sp_start_trace | 602 |
| sp_stop_trace | 607 |
| sp_list_trace | 609 |
| sp_proc_runner | 612 |
| sp_create_backup_job | 617 |
| sp_diffdb | 622 |
| Summary | 625 |
| Chapter 22 | Undocumented Transact-SQL | 627 |
| What Defines Undocumented? | 628 |
| Undocumented Procedures | 628 |
| Creating Information_Schema Views | 655 |
| Creating System Functions | 656 |
| Undocumented DBCC Commands | 658 |
| Undocumented Functions | 667 |
| Undocumented Trace Flags | 671 |
| Summary | 672 |
| Chapter 23 | Arrays | 675 |
| xp_array.dll | 676 |
| Array System Functions | 689 |
| The Piece de Resistance | 692 |
| Multidimensional Arrays | 694 |
| Summary | 698 |
| Part V | Essays on Software Engineering | 701 |
| Chapter 24 | Creating a Workable Environment | 703 |
| Get Rid of Distractions | 705 |
| Close the Door | 706 |
| Internal Distractions | 706 |
| Form Over Function | 707 |
| Silence Is Golden; Communication Divine | 708 |
| Conclusion | 708 |
| Epilogue | 708 |
| Chapter 25 | Evolutionary Development | 711 |
| Kaizen | 713 |
| The Benefits of Small Changes | 713 |
| Software | 714 |
| Software Eutropy | 715 |
| Refactoring | 716 |
| Selling Management (or Yourself) on Refactoring | 718 |
| When Not to Refactor | 721 |
| Databases | 722 |
| Can You Refactor Instead of Design? | 724 |
| A House Built Upon the Sand | 724 |
| Extreme Programming | 725 |
| Conclusion | 732 |
| Epilogue | 732 |
| Chapter 26 | The Gestalt of Testing | 733 |
| Where to Begin | 735 |
| The Futility of Testing | 737 |
| Types of Tests | 738 |
| When to Test | 739 |
| Testing Can Save Time | 739 |
| Testing in the Extreme | 740 |
| Other Types of Testing | 741 |
| Conclusion | 745 |
| Epilogue | 745 |
| References | 747 |
| Index | 749 |