From the low-end perspective, Visio 2000 is an extremely capable product that can be extensively
customized.
Visio is one of the few products that many developers consider a core part of their software design
toolkit, along with a word processor, a programmer's editor and a compiler. It's not hard to
see why so many developers feel this way when one considers Visio's unrivaled flexibility and the
Visio Corporation's commitment to constantly improving basic functionality.
If you're not already familiar with Visio, imagine a CAD program in which symbols can be
dragged onto the desktop and connected. Then, add Visio's ability to define symbol libraries, use
connectors between symbols that understand how the symbols are supposed to connect and provide access
to the underlying database that defines each symbol. In effect, Visio gives the developer the tools to
diagram a software system without constraining her by predetermining which symbols and connectors can
be used.
Visio targets several technical disciplines besides software development, such as creating
organization charts and office floor plan layouts. However, information technology departments will
buy the Visio 2000 Professional Edition primarily for their network people, who will use the
package's capabilities to document and manage the organization's networks; for their
database group, who will use the package for designing databases; and for their programmers, who will
use it for program design. An organization's webmaster will find that Visio also can help him map
web sites. The Vision 2000 Enterprise edition (which wasn't available for me to review) has
capabilities such as code generation, error checking and integration with the Microsoft Repository
that aren't available in the Professional edition.
Note that Visio's practice when releasing an upgradefor example, from Visio 5.0 to Visio
2000is to make the newest functionality available only in the Enterprise release and move those
features which were in the previous Enterprise release to the current Professional release. This
marketing strategy does little but create confused buyers; targeting releases (or add-on modules) at
specific job functionssuch as one for network administrators, one for database designers, and so
onwould be more effective.
Nevertheless, network designers and managers will find a lot to like in both versions of this
package. You can draw several different types of network diagrams, such as logical and physical
diagrams of the network itself. Additionally, you can diagram directory services, such as
Microsoft's Active Directory, Novell's Directory Services and Lightweight Directory Access
Protocol-based directory services.
Database designers will find Visio 2000 useful, but as with the network capabilities, Visio has
relegated most of the new features to the more expensive Enterprise edition of the product. One of the
primary features now available in the Visio 2000 Professional edition is the ability to
reverse-engineer existing databases. Some database management products, such as those from IBM, Oracle
and Informix are supported directly, while others are supported through ODBC and OLE DB drivers. From
the supported DBMS, you can create a variety of entity-relationship diagrams, including Bachman, Chen,
IDEF1X and ORM (Object Role Modeling).
>> Don't forget to visit the Reader Review Forum to tell us what you think of this product and/or this review. |
Visio's support for ORM diagrams deserves further explanation. Visio purchased the database
design products of an early database modeling company first called Asymetrix and later InfoModeler.
The InfoModeler product line was built primarily around Terry Halpin's database research, of
which ORM is the most well known. Because the ORM capabilities were acquired as a more mature product
line, the VisioModeler's (the renamed and integrated InfoModeler technology) functionality works
better in reverse engineering existing databases than that which is employed when reverse engineering
databases to Bachman or Chen or IDEF1X ERDs. However, understanding and using Object Role Modeling
requires a significant shift in conceptual comprehension of how databases are organized. VisioModeler
technology remains a separate module that can be used independently of the main Visio 2000 to create
Chen and other ERDs in addition to ORM diagrams, which can cause confusion.
Aside from the database reverse-engineering features, the Visio 2000 Enterprise edition introduces
two new areas of functionality that are sure to find enthusiastic users in the data management
community (another illustration of why the Professional/Enterprise package marketing strategy, as
opposed to a functional orientation, is particularly irritating). These are collaborative database
design and business rules-based database design.
The collaborative database design features of Visio 2000 Enterprise edition allow multiple members
of a team to work on individual views of a database. These views can later be merged into a single
project, from which database schema can be generated. Changes made at the project level are also
captured at the view level, thus permitting two-way communication and updates. Individual views can be
used in multiple projects, thus permitting specialization in different areas of the
organization's data model.
The business rules capabilities of Visio 2000 Enterprise are a further extension of the ORM
capabilities found in VisioModeler. With this new module, you can enter business rules in the natural
language understood by ORM and use that information to generate logical Entity-Relationship Diagrams
(ERDs) as well as create physical DBMS tables.
So, how well do these versions of Visio 2000 work for the data manager and database manager? One of
the strengths of Visio is that it supports model-based diagramming; once you have specified entities,
classes, objects and other characteristics, they remain in your Visio database for use throughout the
model, even if you delete them from a given diagram. On the other hand, Visio's support for SQL
syntax is non-existent, so if you enter a stored procedure or a trigger, Visio can't help you
find syntax errors. Serious data modelers will probably continue to use dedicated data modeling
products such as Computer Associates' (formerly LogicWorks) ERWin. But for those individuals who
spend only a portion of their time data modeling, particularly those who work in smaller organizations
with modest enterprise data modeling needs, Visio 2000 may well serve their needs admirably.
Software designers will approve of the Visio 2000 Professional edition's ability to reverse
engineering from code, and the Enterprise edition's code-generation ability. It's
frustrating, however, that these two functionalities exist in separate products. Be that as it may,
the reverse-engineering module does allow the user to read Microsoft Visual Studio projects and create
UML (Unified Modeling Language) 1.2 class diagrams. Projects can also be written in Visual Basic,
Visual C++ or Visual J++. Both versions of Visio 2000 provides support for all UML diagram types,
including activities, components, collaboration, deployment, sequence, static structures, state charts
and use-case diagrams. The UML wizards, unlike the other wizards supplied with Visio 2000, do not
function from within Visio, and they do not create diagrams. Instead, they are installed as options
within Visual Basic, Visual C++ or Visual J++, and they will extract the necessary information from
your project and place it in the designated Visio model. You can then go into Visio and use those
definitions in a diagram that you create.
Visio has not forgotten those who continue to use structured design techniques. Visio
2000both the Professional and Enterprise editionsprovides support for data flow
diagramming in which automated level balancing places the inputs and outputs for each process on the
appropriate details page.
If you purchase the Enterprise edition, you can use Visio 2000 models to generate templates for
Visual Basic, Visual C++ and Visual J++. The generated templates can then be customized either
globally or on a by-class basis, before being used to generate code skeletons.
Using Visio 2000 will produce few surprises if you have experience with prior releases of the
product, but there are changes in the user interface. You can have shapes automatically numbered as
you drag them onto the drawing surface. Visio now includes tools to format the entire drawing with
borders and titles and also word-processing features such as the ability to set table, margins and
hanging indents. Shapes can be nudged into place using the arrow keys, permitting a higher degree of
precision in shape placement, and a dynamic grid features intelligent object snapping to help you
place shapes in evenly distributed and aligned order.
Previous releases of Visio have supported publishing drawings on the World Wide Web, a feature
particularly useful for corporate intranets. With both versions of Visio 2000, you can now create
hyperlinks between shapes and other files, whether the drawings were created by Visio or not. Along
with Microsoft's Office 2000 programs, including Microsoft Word, Visio also provides support for
VML (Vector Markup Language), thus making it easier to publish Visio drawings.
Should you buy Visio? In addition to the strange and irritating Professional/Enterprise upgrade
strategy, Visio remains a product whose promise is only partially fulfilled. From the low-end
perspective, Visio is an extremely capable drawing product that can be extensively customized using
VBA and user-defined properties for shapes. In the hands of a knowledgeable user, or by using some of
the many third-party add-ons available from the Visio developer community, Visio can fill the needs of
many small- to medium-size shops that cannot justify the purchase of several high-end tools for
specialized tasks, such as network documentation, database capture or software design.
Yet, for the high-end, large shops supporting huge networks, large data models and multiple
software development efforts, Visio stops short of what is required to compete with specialized
products From a marketing perspective, however, Visio's aim at the small to mid-size development
shops is likely to pay greater dividends than going head to head with the high-end network, database
and CASE vendors.
While Microsoft's purchase of Visio is great news for those operating in an exclusively
Microsoft environment, those interested in supporting a more heterogeneous environment will find that
Visio is not a very open product. For those users, an open-source software option can be found at
http://www.lysator.liu.se/~alla/dia/dia.html.
This link will take you to the home page for Dia, a gtk+ based diagram creation
program released under the GPL license. Dia is designed to be much like the Visio. It can be used to
draw several different kinds of diagrams, including entity relationship diagrams, UML diagrams,
flowcharts, network diagrams, and simple circuits.
While Dia is still a work in progress, it provides an alternative that may interest users who are
willing to compromise the polished sophistication of Visio for the opportunity to have access to the
source code, want to be able to run on non-Windows operating systems such as Linux, and who are
perhaps willing to contribute to the development effort.
In the Windows marketplace, Visio is a textbook example of a company that defined a niche and
dominates it completely. It's a sophisticated, versatile and extensible product that will serve
many types of software development users admirably. SD readers must agree, because last year the
product was inducted into the Jolt Hall of Fame.
Visio 2000 Professional
|
|
---|---|
Online: www.visio.com
Price: $399/$199 Upgrade
Supported Environments:
Requires Windows 95/98/2000/NT and 16MB of RAM.
|
|
RATING: ****
|
The Rate Sheet |
Pros:
1. Extensible with VBA to meet practically any need. 2. Sophisticated and easy-to-use user interface. 3. Extensive third-party developer community resource for help and add-on products.
|
Cons:
1. Tightly wedded to the Microsoft operating system, office suite and software development tool products. 2. Minimal support for SQL syntax checking. 3. Confusing and arbitrary product feature distribution among Professional and Enterprise versions.
|