Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Visualizing Your Business with Visio 2000


March 2000 Product Review: Visualizing Your Business with Visio 2000

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 upgrade—for example, from Visio 5.0 to Visio

2000—is 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 functions—such as one for network administrators, one for database designers, and so

on—would 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

2000—both the Professional and Enterprise editions—provides 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


Visio Corporation


2211 Elliott Avenue


Seattle, WA 98121


Tel: (206) 956-6000


Fax: (206) 956-6001

Online: www.visio.com

Price: $399/$199 Upgrade
Enterprise Edition $995/$599 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.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.