Book Review: VB6 UML
UML (Unified Modeling Language) is a powerful notational approach to object-oriented analysis, design and implementation. If you understand and can utilize UML, your object-oriented Visual Basic programming becomes much more logical and effective. UML allows you to design, plan and implement great Visual Basic programs.
The ease of learning the fundamentals of Visual Basic often misleads VB programmers there is a common misperception that effective VB programs can be built in an ad-hoc fashion, without thinking through the full ramifications of the programs being created. Object-oriented programming, and UML in particular, empowers VB programmers with a system of thinking, designing and implementing their programs in a more professional, robust manner. UML is a route to successful VB programming. This initiative started with the Wrox book, "Beginning VB5/6 Objects", which introduced the object-oriented methodology itself. Now, "VB6 UML" takes that initiative a stage further, to more professional design and implemention.
Because UML abstracts the design process, it also allows programmers to see some of the abstract patterns that occur when they are programming. This more abstract view, and some of the emergent patterns that become visible, will allow VB programmers to grasp their fundamental programming activities at an important and fundamental level.
VB and UML make great partners. This book teaches VB programmers how to become better programmers, better thinkers, and more successful creators of VB applications, using UML to help design and then create professional VB programs.
Whats Great About this Book?
- It brings the powerful and language-independent UML notation to the arena of practical VB programming
- It explains UML from a VB-centric standpoint, showing those parts of UML particularly relevant to VB
- It moves between the abstract design considerations of UML to practical VB programming
- It follows on from "Beginning VB6 Objects" in a logical manner, and is an essential part of the VB object-oriented programming book tree. Prepares the reader better for the more advanced, "Professional Business Objects".
- It doesn't assume the reader has either Visual Modeler or Rational Rose although the book will be compatible with those design packages.
- In this book, VB programs are built from the ground up, so the full practical details involved in mapping between UML diagrams and practical VB code is made very clear.
Who is this Book for?
This book is for VB programmers who have some programming experience, and ideally for those who have read "Beginning VB5/6 Objects" or have attained an understanding of object-oriented programming to that level at least. No prior knowledge of UML is assumed.
Who is the Author?
Jake Sturm is a professional VB programmer, currently working in New York.>
How did you become an author for Wrox?
I had read Wroxs SQL 6.5 (an absolutely fantastic book!) and read the ad in the back for authors. I inquired about writing VB books and the rest is history.
What do you hope readers will gain from your book?
Visual Basic is a fantastic language, but you need to do good project design to make any real VB project succeed. I hope this book will give readers a tool to build and design powerful Enterprise VB projects. I also was frustrated by the lack of information on building 3-tier Visual Basic projects. Therefore, I have tried to cram the book with tips on using everything from data source classes to object hierarchies and the whole Microsoft alphabet soup including MTS, ADO, RDS, Hopefully, this gives the reader tips they have been looking for.
What's the most vital step in a UML analysis?
Getting a good understanding of the project and what the user wants. Every application should be built around the user so getting an accurate set of Use Cases is essential.
Are you interested in any other areas of programming?
I love all types of programming. I would like to work with Artificial Intelligence (AI) some time, also game programming or perhaps a combination of the two. I love to solve problems, work with people, and enjoy any programming problems where I am challenged and need to come up with creative solutions. This is what makes designing enterprise solutions so much fun! I am also working with C++.
Do you need to use fancy modeling packages for drawing UML diagrams or will pencil and paper do?
UML diagrams help you find visual solutions to complex programming problems. While the more sophisticated tools can make that visualization easier, and also may offer code generation, you still can get a lot out of UML without them. You can type up Use Cases in a word processor, make sequence diagrams on paper and show these to the client and team members. This can stimulate a discussion that can help find a design based on a consensus.
What are the problems encountered with moving data around in a DNA application?
Well, you have to make sure you are keeping the data consistent with the disconnected recordsets and you have to be careful not to lug a million records over to the client in a disconnected recordset.
What do you do apart from other great UML books?
I not only tell you how to make the UML diagrams, but I tell you what to do with them. Most books do not go much beyond telling you where the Use Cases and Sequence diagrams come from. Everything beyond that is pretty much glossed over. I talk about where all the essential diagrams come from, how you make them, and, most importantly, how to turn the diagrams into Visual Basic code.
How do you feel seeing your picture on the cover of a book?
Very weird. Its strange to walk into a bookstore and to see your smiling face looking down at you from a shelf!!
What's the benefit of using a design pattern?
Design patterns allow you to make code templates, which in turn allow you to design and build one template and then use it to make many components. It saves time in development, design and coding. It also helps keep you within budget and on schedule.
What would you say to reassure (or not!) anyone contemplating becoming an author at Wrox?
Working with Wrox is a lot of hard work. You have to be dedicated, love the product you are writing about, and be willing to write something of substance. No fluff books here, please! One of my major motivators was to give something to the VB community; that is where your heart has to be to work for Wrox.
What are your tips for the most interesting upcoming technologies?
Find what interests you and read, study and learn whenever you have a free moment (what ever that may be).
Which do you think is better, RDS or DCOM?
DCOM is very hard to configure, and so can be difficult to deploy. RDS requires an Internet connection on the client, an IIS Web Server on the server and a change in the registry on the server. RDS is so simple to set up which is a huge plus. I would use RDS, if possible.
How easy is it to map UML to VB?
Once you get the hang of it, very easy. User interviews turn into Use Cases. Use Cases become Sequence diagrams. Sequence diagrams show the services that all of the components need to perform. Activity diagrams map those services out in pseudo code. The pseudo code easily becomes real code.
Is UML just a way of diagrammatically representing common sense?
No, its more than that. Trying to see something in your head is very hard. Putting your ideas down on paper (computer screen?) allows you now to see your ideas, move parts and pieces around, and manipulate your thoughts. Also, once you have a diagram, you can show it to others who can clearly see your ideas and add or subtract from them. Common sense would be something that is obvious. Often the solutions are not obvious until we see them with our eyes.
If you could invite anyone alive or dead to your dinner party who would they be? Also what would be on the menu?
Hmm. Albert Einstein, Charles Dickens, Mark Twain, Abraham Lincoln, Mozart, probably a few others that I cant think of at the moment. I guess the menu would have a wide range of selections so everyone could be happy; perhaps some good steak, lobsters and some vegetarian fare for the non-carnivores.