|I l @ ve RuBoard|
Edward Tufte, in his seminal work, The Visual Display of Quantitative Information , notes that "graphics reveal data." What he means by this statement is that certain complex sets of data, when visualized graphically, convey far more information to the reader than the raw data itself. So it is with software; as our industry continues to develop systems of greater and greater complexity our ability to manage that complexity follows our ability to visualize our systems above the level of their raw lines of code. Indeed, the market success of languages such as Visual Basic (for which there are more developers than any other programming language, even COBOL) and visual front ends to C++ and Java point out that visualization is essential to the development of complex systems. With the advent of distributed and concurrent systems of all kinds, and especially of web-based systems, the need for visualization of software has never been greater.
As Terry Quatrani writes , her book is "an introduction to the concepts needed to visualize a software system ”a process, a notation, and a modeling tool." As I said in the foreword to Terry's first edition, it's clear that these three key components of software development continue to mature and multiply. Today, developers have an even wider range of tools to assist in every aspect of the software development process than they had just two years ago. Furthermore, standards in methods, languages, and tools have begun to emerge and gain widespread adoption, allowing the industry to focus cycle time on actually developing and deploying complex software systems, rather than being distracted by the method wars of the past. Though much debate still continues over languages, I have been privileged to participate in this ongoing process of standardization, not only in the development of the Unified Modeling Language (UML) but recently in the move towards a standard development process initiated, as was UML, within Rational Software. It's been gratifying to see the widespread industry support and acceptance of the UML and the growing popularity of Rational Rose, the Rational Suites, and now the Rational Unified Process. As our industry faces the challenges of building large-scale distributed object applications, the use of common tools and methods and industry-wide standards offers the promise of achieving the true interoperability and reuse of software long sought.
Terry has been working with Rational Rose and the UML almost from its inception. Her knowledge and experience of methods is extensive , and she has been a driving force in the training and mentoring of Rational's customers on the use of the UML. This book is an extension of her everyday work and clearly reflects her pragmatic knowledge of these subjects and the insights that she has gained from working on a multitude of complex software systems. Developers seeking guidance in visualizing a software system will learn from Terry how to specify, visualize, document, and create a software solution using the industry's leading tools and methods, all expressed in standard notation. I've enjoyed the benefits of Terry's experience and insight for years; I know you will too.
|I l @ ve RuBoard|