Developing Applications With Visual Basic And Uml / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 95%)
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (4) from $25.16   
  • Used (15) from $1.99   
Close
Sort by
Page 1 of 2
Showing 1 – 10 of 19 (2 pages)
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$1.99
Seller since 2005

Feedback rating:

(606)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

Good
1999 Paperback Very Good Condition. Reasonable light wear. Text appears free of marks, writing, and highlighting. May have bookstore-related stamps/stickers/marks. SHIPS W/IN 24 ... HOURS! Processed by DHL with USPS delivery for an average of 3-5 Day Standard Shipping & 2-3 Day Expedited Shipping! ! FREE INSURANCE! Fast & Personal Support! Careful Packaging. No Hassle, Full Refund Return Policy! Read more Show Less

Ships from: Alton, IL

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2005

Feedback rating:

(606)

Condition: Good
1999 Paperback Good Condition. Reasonable wear. Still very usable. Clean, mark-free interior! May have bookstore-related stamps/stickers/marks. SHIPS W/IN 24 HOURS! Processed by ... DHL with USPS delivery for an average of 3-5 Day Standard Shipping & 2-3 Day Expedited Shipping! ! FREE INSURANCE! Fast & Personal Support! Careful Packaging. No Hassle, Full Refund Return Policy! Read more Show Less

Ships from: Alton, IL

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2005

Feedback rating:

(606)

Condition: Very Good
1999 Paperback Book in Very Good Condition. May have slight or small markings along bottom or sides. Clean insides with no writing or highlighting on pages. SHIPS W/IN 24 HOURS! ... FREE INSURANCE! Fast & Personal Support! Careful Packaging. No Hassle, Full Refund Return Policy! Read more Show Less

Ships from: Alton, IL

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2006

Feedback rating:

(59822)

Condition: Good
Former Library book. Shows some signs of wear, and may have some markings on the inside. Find out why millions of customers rave about Better World Books. Experience the best ... customer care and a 100% satisfaction guarantee. Read more Show Less

Ships from: Mishawaka, IN

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2006

Feedback rating:

(59822)

Condition: Very Good
Great condition for a used book! Minimal wear. Experience the best customer care, fast shipping, and a 100% satisfaction guarantee on all orders.

Ships from: Mishawaka, IN

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2009

Feedback rating:

(6713)

Condition: Good
Only lightly used. Book has minimal wear to cover and binding. A few pages may have small creases and minimal underlining. Book selection as BIG as Texas.

Ships from: Dallas, TX

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2014

Feedback rating:

(2560)

Condition: Acceptable
Biggest little used bookstore in the world.

Ships from: Reno, NV

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$1.99
Seller since 2008

Feedback rating:

(15969)

Condition: Very Good
Very Good condition.

Ships from: Frederick, MD

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$12.99
Seller since 2014

Feedback rating:

(37)

Condition: Good
Buy with Confidence. Excellent Customer Support. We ship from multiple US locations. No CD, DVD or Access Code Included.

Ships from: Fort Mill, SC

Usually ships in 1-2 business days

  • Standard, 48 States
$18.02
Seller since 2014

Feedback rating:

(74)

Condition: Very Good
Reading, MA 1999 Trade paperback Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains ... undamaged. Trade paperback (US). Glued binding. 592 p. Contains: Illustrations, black & white. Addison-Wesley Object Technology (Paperback). *****PLEASE NOTE: This item is shipping from an authorized seller in Europe. In the event that a return is necessary, you will be able to return your item within the US. To learn more about our European sellers and policies see the BookQuest FAQ section***** Read more Show Less

Ships from: Goring-By-Sea, United Kingdom

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 2
Showing 1 – 10 of 19 (2 pages)
Close
Sort by

Overview

An essential resource for Visual Basic (VB) programmers who want to develop applications that are both resilient and robust, Developing Applications with Visual Basic and UML describes a proven development process for designing and implementing object-oriented client/server applications in VB using the Unified Modeling Language (UML). Guided by his own experiences as a developer applying UML and VB, the author provides clear explanations of the fundamentals of UML while also examining and illustrating the often misrepresented object-oriented properties of Visual Basic. In addition, the book incorporates in-depth information on developing VB applications utilizing DNA concepts, incorporating technologies such as DCOM and MTS, and integrating Web tools such as ASP, VB Script, and JavaScript to Internet-enable Visual Basic applications. A significant case study runs throughout the book, leading the reader through the lifecycle of a projectofrom requirements analysis to modeling and prototyping through finalizing the architecture and generating code. Through this study, the author demonstrates the design benefits of UML and shows how to translate a UML specification into Visual Basic code.
Read More Show Less

Editorial Reviews

Booknews
Explains the fundamentals of UML while also illustrating the object- oriented properties of Visual Basic (VB). In addition, the book provides information on developing VB applications utilizing distributed internet architecture (DNA) concepts, incorporating technologies such as DCOM and MTS, and integrating web tools such as ASP, VB Script, and JavaScript to internet-enable Visual Basic applications. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201615791
  • Publisher: Pearson Technology Group 2
  • Publication date: 11/4/1999
  • Series: Object Technology Series
  • Edition number: 1
  • Pages: 584
  • Product dimensions: 7.50 (w) x 9.25 (h) x 1.18 (d)

Read an Excerpt

PREFACE:

Why Buy This Book?

Most software projects undertaken today don't come close to meeting their original goals or their estimated completion dates. My reasoning for this is that most project teams don't have a clue about what a development process is or how to customize one for a project's unique characteristics. In addition, most projects have little in the way of analysis and design artifacts to show how they got where they are. That is, projects traditionally lacked traceability.

Most authors of books on VB never consider it in "the large." Instead, they focus on the small view, filling the pages with nifty routines to load list boxes and call native Windows API functions. Although this view, too, is necessary, unfortunately no one seems to touch on project planning, software process, and the methodology for building enterprise-status VB applications. This is because it is a much more difficult topic to explore and present.

This book focuses on the most powerful approach available today to model and build industrial-strength VB applications: the Unified Modeling Language (UML) adopted in 1997 by the Object Management Group (OMG) as the standard for modeling object-based applications. With the UML, and a sound development lifecycle (which I introduce as the Synergy process in this book), VB projects can move closer toward predictable success, as opposed to the less desirable, luck-of-the-draw chances.

The Sad Truth

My career with computers began in 1979 when I began working on large IBM mainframe applications using technologies such as IBM's IMS and later DB2, what many of you today would call "legacy" applications.However, I prefer "heritage" or "senior" systems to "legacy." Not only did I learn about and work with some really great tools and super sharp people, I also learned the value of project planning and establishing a clear architecture and design of the target application. I saw this pay back in a big way as a sound process established a clear line of communication for the project team. More important, it provided the stepping stones for completing a successful project.

In 1990, I worked on a first-generation client/server application using Smalltalk on the OS/2 platform. This was the start of a new career path for me, and I was shocked by the "process" used to build "production" applications in the client/server environment. The planning was cavalier, as was the delivery of analysis and design artifacts (something that showed why we built what we built).

This pattern of "shooting from the hip" software development continued with my use of PowerBuilder and later VB. The applications delivered with these products worked, but they were fragile. I think that today many applications wear the "client/server" moniker when they are just as legacy as their mainframe counterparts, if not more so. Even worse, these became legacy applications a month or two after they went into production. The fault wasn't with the tool. Rather, it was with the lack of a sound process model and methodology that ensured that what got built was what the users actually wanted and that what got designed didn't fall apart the first time it was changed.

Slowly, I began to apply my own opinions about process and methodology to the applications built in the client/server environment. This worked quite well. The applications were more resilient and accepted change more easily, and the users typically had smiles on their faces.

This book combines all of my experience building client/server applications with the UML, which I feel is the best artifact repository for documenting the analysis and design of an application today. I hope that you will enjoy reading it as much as I enjoyed writing it.

Who Should Read This Book

This book is for anyone who wants to successfully build VB applications that can stand up over time. It provides an accurate road map for anyone to achieve the following goals.

  • Establish a sound project plan (presented in-depth in Appendix E).
  • Estimate projects with confidence, rather than with a hit-and-miss approach.
  • Understand and describe the requirements of the application using the models supported by the UML.
  • Create a sound design based on the models supported by the UML and the architectures supported by the organization.
  • Use the power of Microsoft's Distributed Internet Architecture (DNA) strategy to build location transparency into the application.
  • Use the visual modeling tool, Rose, by Rational Software, not only to create and track UML artifacts but also to generate skeletons for the component code.
  • Effectively use the latest Microsoft technologies, such as Distributed Component Object Model (DCOM), Microsoft Transaction Server (MTS) and the Internet via Active Server Pages (ASP), VBScript, and JavaScript.

Anyone building VB applications today needs this book.

What You Need to Know to Use This Book

Maybe it's best to start out with what you don't need to know to benefit from this book. First, you don't need to know anything about the UML. I present the essential aspects of the UML and, more important, how they relate to VB deliverables. Although the UML is expressed with nine separate diagrams, you will benefit the most from a core set.

Second, you don't need a formal background in object-oriented concepts. I discuss standard object constructs in the text and review many of these in Appendix C.

Third, you don't need to know COM or DCOM. I use both extensively throughout the book and cover some of the "plumbing" issues involved in Appendix D.

Finally, you don't need a formal understanding of the key technologies that surround MTS and the World Wide Web (Web). Each receives detailed treatment in the book.

This book does assume that you have a working knowledge of VB. Both the new VB programmer and the experienced VB programmer will benefit. However, I don't cover the basics of simple VB constructs, assuming that you already know these. If you have had no exposure to VB, buy this book anyway and open it after you have had some initial training in that programming language.

This book also assumes that you have experience with Structured Query Language (SQL) and with relational databases. Some exposure to Data Access Objects (DAO), Active Data Objects (ADO), and Open Database Connectivity (ODBC) would also help. The project used as a model in the book uses ADO exclusively with ODBC drivers.

Structure of the Book

Following is a summary of the book's chapters and contents.

Chapter 1: The Project Dilemma

This chapter reviews the current state of software development and my reasoning regarding why it's in the shape that it is today. It also reviews the concept of iterative and incremental software development and provides an overview of my Synergy methodology used as the guide in the book. It also touches on the primary components of the UML that will be covered in more depth later in the book.

Chapter 2: Visual Basic, Object-Oriented, and the UML

This chapter covers some of the benefits that result from the adoption of VB as a development environment. It presents these in the context of VB's implementation of encapsulation, inheritance, and polymorphism. It then maps the UML to various VB deliverables. Highlights include mapping the UML class to VB class modules; mapping use case pathways to VB entity, interface, and controller types of classes; and mapping component diagrams to VB executables and DLLs and optionally to MTS.

Chapter 3: Getting the Project Started

This chapter explores the case study used in the book, Remulak Productions. This fictional company sells musical equipment and needs a new order entry system. It introduces a project charter, along with a tool, called the event table, to help quickly solidify the application's features. Further, the chapter maps events to the first UML model, the use case.

Chapter 4: Use Cases

This chapter reviews the use case, one of the central UML diagrams. Included is a template to document the use case. Actors and their roles in the use cases are defined. The chapter reviews the concept of use case pathways, as well as the project's preliminary implementation architecture. Also reviewed is an approach to estimating projects that are built by using the use case approach.

Chapter 5: Classes

This chapter explores the UML class diagram, the king of UML diagrams. It offers tips on identifying good class selections and defines the various types of associations. It also covers business rule categorization and how these rules can be translated into both operations and attributes of the class. Finally, it discusses the utilization of the visual modeling tool, Rose, as a means to better manage all UML artifacts.

Chapter 6: Building an Early Prototype

This chapter reviews unique user interface requirements of each use case. It develops an early prototype flow and an eventual graphical prototype. Finally, it maps what was learned during the prototype to the UML artifacts.

Chapter 7: The Dynamic Elements of the Application

This chapter discusses the dynamic models supported by the UML, exploring in depth the two key diagrams, often referred to as the interaction diagrams, sequence and collaboration. These are then directly tied back to the pathways found in the use cases. Other dynamic diagrams discussed include the state and activity diagrams.

Chapter 8: The Technology Landscape

This chapter covers the importance of separating logical services that are compliant with DNA. It explores technology solutions specific to the Remulak Productions case study, including distributed solutions using DCOM, MTS, and the Internet using HTML forms and ASP. Two scripting languages are used for the Internet portion of the applications.

Chapter 9: Data Persistence: Storing the Objects

This chapter explores the steps necessary to translate the class diagram into a relational design to be supported by both Microsoft SQL Server and Oracle databases. It offers rules-of-thumb regarding how to handle class inheritance and the resulting possible design alternatives when translating the class diagramto an RDMBS. It also explores VB's support for data-aware classes, as well as the importance of a separate Data Translation Services layer that contains the SQL logic related to each class.

Chapter 10: Applying the Infrastructure

This chapter finalizes the design necessary to implement the various layers of the application. It also presents the communication mechanism utilized between the layers and possible alternatives. Each class is delegated to one of three types: entity, interface, or control. These are used as the basis for the design implementation and as the solution to providing alternative deployment strategies.

Chapter 11: Generating Code from the UML Class Diagram (Part 1)

This chapter explores the issues of generating VB code directly from the class diagram, again using Rose. It reviews the setup steps necessary to make the process go smoothly and discusses the importance of the entire process of round-trip reengineering, along with a process to ensure that it happens.

Chapter 12: Generating Code from the UML Class Diagram (Part 2)

This chapter fills in the body of the VB class stubs generated in the previous chapter, focusing on a single pathway through a use case. It also presents all of the code necessary to make it a reality, from the user interface to the back-end.

Chapter 13: Creating a Distributed Implementation: DCOM and MTS

This chapter uses the solutions built in Chapters 12 and 13 to explore the necessary steps to deploy it on various server configurations. It covers all of the tasks necessary to ensure a successful DCOM implementation, including using the deployment wizard and using various utilities to ensure that both the client and server are correctly set up.

Chapter 14: Alternative Interfaces: The Internet

This chapter covers one of the hottest areas today: the Internet. This is where all of the design work covered in the previous chapters really pays off. In the chapter, an HTML form-based front-end to the order entry inquiry function is created. ASP is used as the interface between the browser and the layers of the VB application. The chapter explores VBScript as the primary scripting language on the Web server and JavaScript as used on the browser. Microsoft's Visual InterDev is used as the development tool for this part of the project.

Updates and Information

I have the good fortune to work with top companies and organizations not only in the United States, but also in Europe, Asia, and South America. In my many travels, I am always coming across inventive ideas regarding how to use and apply the UML to build more-resilient applications that use not only VB but also C++ and Java. Please visit my Web site at jacksonreed.com, where you can get the latest on the training and consulting services that I offer, as well as all of the source code presented in this book. I welcome your input and encourage you to contact me at prreed@jacksonreed.com.



Read More Show Less

Table of Contents

Foreword xvii
Foreword xix
Preface xxiii
Acknowledgments xxxi
Chapter 1 The Project Dilemma 1
Goals 1
The Project Dilemma 2
Iterative and Incremental Software Development 3
Risk-Based Development 4
The Iterative Software Process Model 5
Combining Iterative with Incremental: Multidimensional View 8
The Synergy Process Model 8
Selling the Idea of a Software Process to the Business 10
The Unified Modeling Language 11
The UML and Its Place in the Software Process 12
The Essence of Modeling 13
The UML Diagrams 14
The Unified Modeling Language and the "4+1" View of Architecture 15
Using the UML Diagrams in Context 17
Checkpoint 18
Where We Have Been 18
Where We Are Going Next 19
Chapter 2 Visual Basic, Object-Oriented, and the UML 21
Goals 22
Visual Basic as an Industrial Strength Development Tool 22
Visual Basic and the Concept of Object-Oriented 24
Visual Basic and Classes 24
Visual Basic and Complex Types 28
Visual Basic and Message-Passing 29
Visual Basic and Encapsulation 30
Visual Basic and Inheritance 31
Visual Basic and Interface Inheritance 35
Visual Basic's Alternative to Implementation Inheritance 37
Visual Basic and Polymorphism 37
Why the UML and Visual Basic? 40
Class Diagram 41
Sequence Diagram 43
Component Diagram 43
Deployment Diagram 44
Visual Modeling Tool Support 44
Checkpoint 44
Where We Have Been 44
Where We Are Going Next 45
Chapter 3 Getting the Project Started 47
Goals 48
Establishing the Project Charter 48
The Process Model 49
Working Template of the Project Charter 49
The Actors 52
Event List and Event Table 53
Project Charter: Iteration One 57
Iteration One Complete 57
Checkpoint 57
Where We Have Been 57
Where We Are Going Next 58
Chapter 4 Use Cases 59
Goals 59
The Sample Project 60
The Process Model 61
Use Cases 61
Finding the Pathways through the Use Case 66
Finding the Happy Path 68
Finding the Alternate Pathways 68
Finding the Exception Pathways 70
Shadow Use Cases 71
Detailing the Happy Path 72
Completed Process Orders Use Case 73
Preparing the Preliminary Architecture 75
Project Charter: Increments and Estimates 76
Increments 76
Estimates 77
Checkpoint 80
Where We Have Been 80
Where We Are Going Next 80
Chapter 5 Classes 83
Goals 84
Elaboration Phase 84
Detailing Pathways 85
Identifying and Categorizing Business Rules 86
Uncovering Classes 89
Iteration 1: Role of the UML Class Diagram 89
What Makes a Good Class? 89
Applying Filter Rules 90
Types of Classes 92
Entity Classes 93
Interface Classes 95
Control Classes 95
Relationships 96
Establishing Associations 97
Establishing Roles 99
Establishing Multiplicity 99
Advanced Associations 101
Aggregation and Composition Associations 101
Link Associations 103
Reflexive Associations 103
Qualification Associations 104
Generalization 105
Creating the Class Diagram 105
Identifying Attributes and Operations 107
Attributes 108
Operations 109
Object Diagram 110
Finishing Up: The Analysis Model 112
Checkpoint 113
Where We Have Been 113
Where We Are Going Next 113
Chapter 6 Building an Early Prototype 115
Goals 115
Building an Early Prototype 116
The Prototype 117
Requirements Gathering 117
User Interface Prototype 117
Actor and Use Case Boundaries 118
User Interface Artifacts 119
Use Case Coupling 121
Iteration One 123
Screen Structure Charts 123
Creating the Prototype 127
Collecting User Feedback by Using Screen Dialogs 138
Learning from the Prototype 139
Checkpoint 146
Where We Have Been 146
Where We Are Going Next 147
Chapter 7 The Dynamic Elements of the Application 149
Goals 149
Next Step of the Elaboration Phase 150
Dynamic Modeling 151
Types of Dynamic Models 151
The Sequence Diagram 154
Sequence Diagram of the Happy Path 155
Sequence Diagram for an Alternate Pathway 163
Transferring Knowledge to the Class Diagram 163
Walking the Sequence Diagram 165
The Collaboration Diagram 166
The State Diagram 168
Modeling the State Diagram of the Remulak Productions Order Class 170
Alternative Way to View State Diagrams 172
The Activity Diagram 173
Selecting the Right Diagram 174
Non-UML Extensions in the Design: Usage Matrices 175
Event/Frequency Matrix 175
Object/Location Matrix 177
Object/Volume Matrix 179
Checkpoint 180
Where We Have Been 180
Where We Are Going Next 181
Chapter 8 The Technology Landscape 183
Goals 183
Next Phase of the Elaboration Phase 184
Separating Services 185
Logical versus Physical Tiering 187
Microsoft's Tiering Strategy 190
Communication among the Six Layers 191
Inter-Process Communication Architecture 192
Layer Communication Architecture 192
Inside COM Communication 193
Five Options on Which to Base an Infrastructure Architecture 196
Managing Transaction Scope within the Application and Microsoft Transaction Server 197
Incorporating the Internet into the Solution 201
Remulak Productions Execution Architecture 204
Checkpoint 204
Where We Have Been 204
Where We Are Going Next 205
Chapter 9 Data Persistence: Storing the Objects 207
Goals 207
Construction Phase 208
Object-Oriented and Translating to the Physical Design 209
Mapping Classes to Tables 210
Mapping Simple Associations 212
Mapping Inheritance to the Relational Database 217
Mapping Aggregation and Composition to the Relational Database 220
Mapping Reflexive Associations to the Relational Database 222
Key Structures and Normalization 222
Using a Visual Modeling Tool to Generate the Data Definition Language 225
Enhancing the Visual Modeling Tool 228
Stored Procedures and Triggers and the Object-Oriented Project 234
Visual Basic Support of Data-Aware Classes 236
The Data Translation Services and Data Access Services Layers 237
Checkpoint 240
Where We Have Been 240
Where We Are Going Next 242
Chapter 10 Applying the Infrastructure 243
Goals 243
Construction Phase 244
Synergy Process 244
Component--Infrastructure Issues and Communicating with All the Layers 245
Component--Exploring the Presentation Services Layer 246
Component--Exploring the Business Context Services Layer 248
Component--Exploring the Business Rule Services Layer 249
Component--Cooperating Classes: Interface, Control, and Entity 251
Component--Layer Communication 254
Component--Implementation of the Infrastructure 256
Component--Revisiting the UML Class Diagram to Refine Operation Signatures 257
Checkpoint 260
Where We Have Been 260
Where We Are Going Next 261
Chapter 11 Generating Code from the UML Class Diagram (Part 1) 263
Goals 264
Construction Phase 264
Synergy Process 264
Visual Modeling--The Mission of the Visual Modeling Tool as It Pertains to the Project 265
Visual Modeling--The Mission of the Visual Modeling Tool as It Pertains to the Program Code Generation 266
Review the Setup Issues in Preparing to Generate Program Code 267
Modifying the Code Generation Parameters 268
Assigning Classes to Components 270
Generating Our First Code from the Visual Modeling Tool 271
Generating the Remaining Code from the Visual Modeling Tool--Data Translation Services 272
Generating the Remaining Code from the Visual Modeling Tool--Business Rule Services 275
Generating the Remaining Code from the Visual Modeling Tool--Presentation Services 277
Review Items to Watch Out for after Generation Is Complete 277
Explore How to Reengineer Program Code Back into the Visual Modeling Diagram 278
Adding Code to Realize a Use Case Pathway 281
Explore the Necessary Code That Must Be Added to Support a Simple Transaction from Start to Finish 281
Data Access Service Layer: DASVC Component 283
Connecting to the Data Source and Executing a Select Query 283
Closing the Connection to the Data Source 287
Connecting to the Data Source and Executing an Insert, Update, or Delete Query 288
Data Translation Service Layer: DTSVC Component 293
Building the SQL to Be Executed by the Data Access Services Layer 293
Business Rule Service Layer: BRSVC Component 298
Building the Rules That Govern Processing 298
Presentation Service Layer: UISVC Component 304
What the User Sees: Attaching the User Interface to the Business Rule Services Layer 304
Building Blocks for the Future 308
Checkpoint 309
Where We Have Been 309
Where We Are Going Next 309
Chapter 12 Generating Code from the UML Class Diagram (Part 2) 311
Goals 311
Construction Phase 312
Enhancing the Customer Inquiry and Introducing the Notion of Shallow and Expanded Objects 313
Code Changes to the Customer Relationship Inquiry 314
Code Changes to Support Expanding Objects 316
Making Life Easier for the User Interface: User-Defined Types 324
Client-Side Objects or No Client-Side Objects 336
A Disturbing Trend with the Advent of Distributed Implementations 337
Updating Information from the User Interface to the Back-End 339
Persisting the Objects 349
Checkpoint 355
Where We Have Been 355
Where We Are Going Next 355
Chapter 13 Creating a Distributed Implementation: DCOM and MTS 357
Goals 357
Construction Phase 358
Synergy Process 358
Construction--Distributed Applications: Nirvana or Overkill? 359
Construction--The Remulak Productions Partitioning Strategy--Payback Time 360
Remote Solutions--Distributed Component Object Model 361
Construction--Preparing the Components for DCOM Distribution 362
Construction--Distributing the Server Components 365
Construction--Installing the Components on the Server 371
Construction--Getting the Client Ready to Test the DCOM Installation 377
Construction--Creating a Client Install Package 381
Remote Solutions--Microsoft Transaction Server 384
Construction--Getting to the Interface 385
Construction--Types of Transactions 388
Construction--Remulak Productions Transaction Types 389
Construction--MTS Administration 391
Construction--Modifying Remulak to
Read More Show Less

Preface

Why Buy This Book?

Most software projects undertaken today don't come close to meeting their original goals or their estimated completion dates. My reasoning for this is that most project teams don't have a clue about what a development process is or how to customize one for a project's unique characteristics. In addition, most projects have little in the way of analysis and design artifacts to show how they got where they are. That is, projects traditionally lacked traceability.

Most authors of books on VB never consider it in "the large." Instead, they focus on the small view, filling the pages with nifty routines to load list boxes and call native Windows API functions. Although this view, too, is necessary, unfortunately no one seems to touch on project planning, software process, and the methodology for building enterprise-status VB applications. This is because it is a much more difficult topic to explore and present.

This book focuses on the most powerful approach available today to model and build industrial-strength VB applications: the Unified Modeling Language (UML) adopted in 1997 by the Object Management Group (OMG) as the standard for modeling object-based applications. With the UML, and a sound development lifecycle (which I introduce as the Synergy process in this book), VB projects can move closer toward predictable success, as opposed to the less desirable, luck-of-the-draw chances.

The Sad Truth

My career with computers began in 1979 when I began working on large IBM mainframe applications using technologies such as IBM's IMS and later DB2, what many of you today would call "legacy" applications. However, Iprefer "heritage" or "senior" systems to "legacy." Not only did I learn about and work with some really great tools and super sharp people, I also learned the value of project planning and establishing a clear architecture and design of the target application. I saw this pay back in a big way as a sound process established a clear line of communication for the project team. More important, it provided the stepping stones for completing a successful project.

In 1990, I worked on a first-generation client/server application using Smalltalk on the OS/2 platform. This was the start of a new career path for me, and I was shocked by the "process" used to build "production" applications in the client/server environment. The planning was cavalier, as was the delivery of analysis and design artifacts (something that showed why we built what we built).

This pattern of "shooting from the hip" software development continued with my use of PowerBuilder and later VB. The applications delivered with these products worked, but they were fragile. I think that today many applications wear the "client/server" moniker when they are just as legacy as their mainframe counterparts, if not more so. Even worse, these became legacy applications a month or two after they went into production. The fault wasn't with the tool. Rather, it was with the lack of a sound process model and methodology that ensured that what got built was what the users actually wanted and that what got designed didn't fall apart the first time it was changed.

Slowly, I began to apply my own opinions about process and methodology to the applications built in the client/server environment. This worked quite well. The applications were more resilient and accepted change more easily, and the users typically had smiles on their faces.

This book combines all of my experience building client/server applications with the UML, which I feel is the best artifact repository for documenting the analysis and design of an application today. I hope that you will enjoy reading it as much as I enjoyed writing it.

Who Should Read This Book

This book is for anyone who wants to successfully build VB applications that can stand up over time. It provides an accurate road map for anyone to achieve the following goals.

  • Establish a sound project plan (presented in-depth in Appendix E).
  • Estimate projects with confidence, rather than with a hit-and-miss approach.
  • Understand and describe the requirements of the application using the models supported by the UML.
  • Create a sound design based on the models supported by the UML and the architectures supported by the organization.
  • Use the power of Microsoft's Distributed Internet Architecture (DNA) strategy to build location transparency into the application.
  • Use the visual modeling tool, Rose, by Rational Software, not only to create and track UML artifacts but also to generate skeletons for the component code.
  • Effectively use the latest Microsoft technologies, such as Distributed Component Object Model (DCOM), Microsoft Transaction Server (MTS) and the Internet via Active Server Pages (ASP), VBScript, and JavaScript.

Anyone building VB applications today needs this book.

What You Need to Know to Use This Book

Maybe it's best to start out with what you don't need to know to benefit from this book. First, you don't need to know anything about the UML. I present the essential aspects of the UML and, more important, how they relate to VB deliverables. Although the UML is expressed with nine separate diagrams, you will benefit the most from a core set.

Second, you don't need a formal background in object-oriented concepts. I discuss standard object constructs in the text and review many of these in Appendix C.

Third, you don't need to know COM or DCOM. I use both extensively throughout the book and cover some of the "plumbing" issues involved in Appendix D.

Finally, you don't need a formal understanding of the key technologies that surround MTS and the World Wide Web (Web). Each receives detailed treatment in the book.

This book does assume that you have a working knowledge of VB. Both the new VB programmer and the experienced VB programmer will benefit. However, I don't cover the basics of simple VB constructs, assuming that you already know these. If you have had no exposure to VB, buy this book anyway and open it after you have had some initial training in that programming language.

This book also assumes that you have experience with Structured Query Language (SQL) and with relational databases. Some exposure to Data Access Objects (DAO), Active Data Objects (ADO), and Open Database Connectivity (ODBC) would also help. The project used as a model in the book uses ADO exclusively with ODBC drivers.

Structure of the Book

Following is a summary of the book's chapters and contents.

Chapter 1: The Project Dilemma

This chapter reviews the current state of software development and my reasoning regarding why it's in the shape that it is today. It also reviews the concept of iterative and incremental software development and provides an overview of my Synergy methodology used as the guide in the book. It also touches on the primary components of the UML that will be covered in more depth later in the book.

Chapter 2: Visual Basic, Object-Oriented, and the UML

This chapter covers some of the benefits that result from the adoption of VB as a development environment. It presents these in the context of VB's implementation of encapsulation, inheritance, and polymorphism. It then maps the UML to various VB deliverables. Highlights include mapping the UML class to VB class modules; mapping use case pathways to VB entity, interface, and controller types of classes; and mapping component diagrams to VB executables and DLLs and optionally to MTS.

Chapter 3: Getting the Project Started

This chapter explores the case study used in the book, Remulak Productions. This fictional company sells musical equipment and needs a new order entry system. It introduces a project charter, along with a tool, called the event table, to help quickly solidify the application's features. Further, the chapter maps events to the first UML model, the use case.

Chapter 4: Use Cases

This chapter reviews the use case, one of the central UML diagrams. Included is a template to document the use case. Actors and their roles in the use cases are defined. The chapter reviews the concept of use case pathways, as well as the project's preliminary implementation architecture. Also reviewed is an approach to estimating projects that are built by using the use case approach.

Chapter 5: Classes

This chapter explores the UML class diagram, the king of UML diagrams. It offers tips on identifying good class selections and defines the various types of associations. It also covers business rule categorization and how these rules can be translated into both operations and attributes of the class. Finally, it discusses the utilization of the visual modeling tool, Rose, as a means to better manage all UML artifacts.

Chapter 6: Building an Early Prototype

This chapter reviews unique user interface requirements of each use case. It develops an early prototype flow and an eventual graphical prototype. Finally, it maps what was learned during the prototype to the UML artifacts.

Chapter 7: The Dynamic Elements of the Application

This chapter discusses the dynamic models supported by the UML, exploring in depth the two key diagrams, often referred to as the interaction diagrams, sequence and collaboration. These are then directly tied back to the pathways found in the use cases. Other dynamic diagrams discussed include the state and activity diagrams.

Chapter 8: The Technology Landscape

This chapter covers the importance of separating logical services that are compliant with DNA. It explores technology solutions specific to the Remulak Productions case study, including distributed solutions using DCOM, MTS, and the Internet using HTML forms and ASP. Two scripting languages are used for the Internet portion of the applications.

Chapter 9: Data Persistence: Storing the Objects

This chapter explores the steps necessary to translate the class diagram into a relational design to be supported by both Microsoft SQL Server and Oracle databases. It offers rules-of-thumb regarding how to handle class inheritance and the resulting possible design alternatives when translating the class diagramto an RDMBS. It also explores VB's support for data-aware classes, as well as the importance of a separate Data Translation Services layer that contains the SQL logic related to each class.

Chapter 10: Applying the Infrastructure

This chapter finalizes the design necessary to implement the various layers of the application. It also presents the communication mechanism utilized between the layers and possible alternatives. Each class is delegated to one of three types: entity, interface, or control. These are used as the basis for the design implementation and as the solution to providing alternative deployment strategies.

Chapter 11: Generating Code from the UML Class Diagram (Part 1)

This chapter explores the issues of generating VB code directly from the class diagram, again using Rose. It reviews the setup steps necessary to make the process go smoothly and discusses the importance of the entire process of round-trip reengineering, along with a process to ensure that it happens.

Chapter 12: Generating Code from the UML Class Diagram (Part 2)

This chapter fills in the body of the VB class stubs generated in the previous chapter, focusing on a single pathway through a use case. It also presents all of the code necessary to make it a reality, from the user interface to the back-end.

Chapter 13: Creating a Distributed Implementation: DCOM and MTS

This chapter uses the solutions built in Chapters 12 and 13 to explore the necessary steps to deploy it on various server configurations. It covers all of the tasks necessary to ensure a successful DCOM implementation, including using the deployment wizard and using various utilities to ensure that both the client and server are correctly set up.

Chapter 14: Alternative Interfaces: The Internet

This chapter covers one of the hottest areas today: the Internet. This is where all of the design work covered in the previous chapters really pays off. In the chapter, an HTML form-based front-end to the order entry inquiry function is created. ASP is used as the interface between the browser and the layers of the VB application. The chapter explores VBScript as the primary scripting language on the Web server and JavaScript as used on the browser. Microsoft's Visual InterDev is used as the development tool for this part of the project.

Updates and Information

I have the good fortune to work with top companies and organizations not only in the United States, but also in Europe, Asia, and South America. In my many travels, I am always coming across inventive ideas regarding how to use and apply the UML to build more-resilient applications that use not only VB but also C++ and Java. Please visit my Web site at www.jacksonreed.com, where you can get the latest on the training and consulting services that I offer, as well as all of the source code presented in this book. I welcome your input and encourage you to contact me at prreed@jacksonreed.com.



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)