Introduction | p. 1 |
What Does This Book Cover? | p. 2 |
Who Is This Book For? | p. 3 |
What You Need to Use This Book | p. 3 |
Conventions | p. 3 |
Customer Support | p. 4 |
How to Download the Sample Code for the Book | p. 4 |
Errata | p. 4 |
E-Mail Support | p. 5 |
p2p.wrox.com | p. 5 |
Review of UML | p. 9 |
What is the Unified Modeling Language? | p. 9 |
A Brief History of UML | p. 11 |
End-to-End UML Modeling | p. 12 |
UML Essential Notation and Core Concepts | p. 13 |
Fitting the Pieces into the UML Jigsaw | p. 24 |
UML Modeling Tools | p. 26 |
Process Essentials | p. 27 |
(Rational) Unified Process | p. 27 |
Microsoft Solutions Framework | p. 30 |
Summary | p. 31 |
Modeling Summary | p. 31 |
Process Summary | p. 32 |
A Tour of Visio | p. 35 |
Visio Background | p. 35 |
Beginning Visio--A Simple Diagram | p. 36 |
The Visio Environment | p. 36 |
Common Visio Software Diagrams | p. 47 |
Creating COM and OLE Diagrams | p. 49 |
Creating Data Flow Diagrams | p. 52 |
Creating Enterprise Applications | p. 55 |
Windows Interface Diagrams | p. 56 |
Creating Database Model Diagrams | p. 66 |
Summary | p. 71 |
Diagramming Business Objects | p. 73 |
What is a Business Object? | p. 74 |
Object Modeling Compared to Data Modeling | p. 74 |
Modeling Attributes and Behavior | p. 75 |
Building Monolithic Applications | p. 75 |
Building Component-Based Applications | p. 76 |
Benefits of using Business Objects | p. 76 |
Flexibility--Write Once, Reuse Everywhere | p. 76 |
Data-Access Flexibility--Write Once, Change Once | p. 77 |
Normalizing Application Logic--Write Once, Period! | p. 77 |
Where's the Code?--Write It and Find It | p. 77 |
Designing Complex Software | p. 77 |
Designing a Component-based Application | p. 78 |
Business and Data-Access Base Classes | p. 78 |
Creating Namespace Packages | p. 79 |
Creating an Abstract Data-Access Class | p. 80 |
Creating a Class (Static Structure) Diagram | p. 81 |
Adding Operations to the Class | p. 82 |
Specifying Operation Parameters | p. 86 |
Marking an Operation as Abstract | p. 89 |
Adding .NET Base Classes to the Model | p. 90 |
Adding the SaveDataSet Operation | p. 91 |
Creating Concrete Subclasses | p. 93 |
Creating a Business Object Base Class | p. 95 |
Use Cases for a Simple Library System | p. 103 |
Modeling the Check Out Media Use Case | p. 105 |
Deriving Classes from Use Cases | p. 105 |
Thinking about Data | p. 106 |
Creating a Sequence Diagram | p. 107 |
Changing the Drawing Page Orientation | p. 108 |
Adding Use Case Text to the Sequence Diagram | p. 108 |
Adding the Actor and UI Placeholder | p. 110 |
Adding Messages Between Objects | p. 114 |
Creating Business Object Classes | p. 116 |
Adding the Borrower Object to the Sequence Diagram | p. 118 |
Adding a Message Call to the Borrower Object | p. 119 |
Resizing the Activation Shapes | p. 121 |
Retrieving Checked-Out Media | p. 122 |
Calculating Fines | p. 124 |
Displaying the Borrower Information | p. 125 |
Checking Out Media | p. 127 |
Tweaking the Sequence Diagram | p. 129 |
Summary | p. 130 |
Generating Code from the Visio Model | p. 133 |
Overview of Code Generation | p. 133 |
Code Generation in Visio | p. 134 |
The Employee Class | p. 135 |
Generating Code | p. 148 |
Checking Errors | p. 152 |
Code Generation in Different Languages | p. 153 |
Code Templates | p. 154 |
Using Templates | p. 155 |
XML Comments and Code Templates | p. 162 |
Enhancing the Model | p. 167 |
Mapping Associations | p. 167 |
Creating a Collection | p. 169 |
Creating an Indexer | p. 169 |
Creating Events and Delegates | p. 170 |
Overriding Methods | p. 171 |
Summary | p. 171 |
Reverse Engineering | p. 175 |
Why Reverse Engineer? | p. 175 |
Reverse Engineering from Source Code | p. 176 |
Reverse Engineering QuickStart | p. 176 |
Key Features and Limitations of Reverse Engineering | p. 178 |
Reverse Engineering Example | p. 182 |
Code-to-UML Mapping Examples | p. 185 |
Generalization (or Inheritance) | p. 185 |
Associations and Attributes | p. 187 |
Operations and Properties | p. 189 |
Primitive and Value Types | p. 192 |
Reverse Engineering, No Source Code Required | p. 193 |
Running the RE.NET Lite Reverse Engineer | p. 194 |
RE.NET Lite Internals | p. 198 |
RE.NET Lite Limitations | p. 203 |
Summary | p. 203 |
Documenting the Project | p. 207 |
The Typical Software Development Lifecycle | p. 208 |
Requirements Development | p. 209 |
Architecture or High-Level Design | p. 210 |
Detailed Design | p. 210 |
Coding/Implementation | p. 210 |
Testing/Quality Assurance | p. 210 |
Rollout | p. 211 |
Support/Maintenance | p. 211 |
Role of UML and Visio in the Project | p. 211 |
UML as Documentation | p. 211 |
Requirements Development Documentation | p. 212 |
Architecture Documentation | p. 218 |
Using Class Diagrams | p. 218 |
Using Activity Diagrams | p. 219 |
Using Component Diagrams | p. 221 |
Detailed Design Documentation | p. 222 |
Using Detailed Class Diagrams | p. 222 |
Using Sequence Diagrams | p. 224 |
Coding and Implementation Documentation | p. 225 |
Requirements Documentation for Coding | p. 226 |
Architecture Documents for Coding | p. 226 |
Testing and Quality Assurance Documentation | p. 226 |
Using Visio Reports throughout the Project | p. 227 |
Static Structure Diagram Report | p. 232 |
Deployment Diagram Report | p. 235 |
Component Report | p. 236 |
Summary | p. 237 |
Distributed System Design | p. 239 |
Object-Based Distributed Systems in .NET | p. 240 |
Distributed Systems and Local Systems | p. 240 |
.NET Infrastructure for Distributed Systems | p. 243 |
.NET Remoting | p. 243 |
ASP .NET Versus .NET Remoting | p. 246 |
Preparation Work in Visio | p. 247 |
Custom UML Stereotypes for .NET Distributed Systems | p. 248 |
Package and Deploy the Bank Application | p. 252 |
System Requirements | p. 253 |
Summary | p. 267 |
Database Modeling with Visio for Enterprise Architects | p. 269 |
Design Process Overview | p. 270 |
Database Modeling | p. 270 |
Object Role Modeling (ORM) | p. 271 |
What is ORM? | p. 271 |
Visio Data Projects | p. 276 |
Step 2--Drawing the Fact Types | p. 278 |
Step 3 of the CSDP | p. 284 |
Constraints | p. 285 |
Steps 4 to 7 of the CSDP | p. 290 |
Creating the Conceptual, Logical, and Physical Database | p. 296 |
Building the Logical Model | p. 302 |
Reverse Engineering the Database | p. 314 |
Reverse Engineering an ER diagram | p. 315 |
Reverse Engineering an ORM Diagram | p. 324 |
Summary | p. 327 |
Index | p. 329 |
A Guide to the Index | p. 329 |
Table of Contents provided by Syndetics. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.