
The application development environment is becoming increasingly complex, and the need for good development tools is more prevalent than ever. Good applications depend on good analysis and design, and computer-aided software engineering (CASE) tools are evolving into indispensable products. Visible Systems Corp.'s Visible Analyst Workbench (VAW) is an integrated CASE toolkit that provides graphical analysis, design, and data modeling capabilities in one easy-to-use package.
At its most fundamental level, VAW provides data-, process-, and object-modeling tools and excellent diagramming capabilities. However, VAW goes well beyond simple diagramming. The Yourdon/DeMarco and Gane & Sarson methodologies support structured analysis diagrams, the Yourdon/Constantine design rules support structured design diagrams, and the Rumbaugh methodology supports object-oriented techniques through class diagrams and state transition diagrams. These methodologies are codified into rules that help you consistently design and maintain your project. These features are built around a central repository that contains all of the essential information about the project. Package this with good multiuser support, a number of useful utilities, and a price that's palatable, and you have a product that's worth your consideration.
When setting up a new project, you will see a dialog like the one in Figure 2 (page 36). This is the only opportunity you will have to enable the repository and choose the desired methodology. A VAW project can consist of many diagrams. This differs from products such as Logic Works' ERwin that deal with one diagram file at a time. Although you can use a number of RDBMSs to house the repository, Visible Systems recommends that you use Btrieve as the primary database engine. You can use Centura Software's (formerly Gupta) SQLBase, SQL Server 4.x, Sybase System 10, or Oracle7 Server as a secondary engine, provided you have the appropriate VAW DLLs loaded. If you disable the rules feature, the repository is automatically disabled as well. If you enable the rules feature, the Yourdon/DeMarco and Gane & Sarson methodologies are available.
One of the strengths of VAW is that it enables the users to quickly create many different diagrams and relate them in the project via the repository. The graphical interface is easy to use, and the learning curve is short. The rules of the selected methodology are applied across the entire project, not just to specific diagrams. Some are applied as you work and others are available via menu selections. Examples include automatic process numbering, data store numbering (Gane & Sarson), data flow balancing, decomposition of data by splitting data flows, complexity ranges for structural charts, and consistency and completeness checks.
Functional decomposition diagrams (FDD), data flow diagrams (DFD), and structure diagrams are useful tools for process modeling. One feature I found useful was the spawn process. For any function on an FDD that has a level of processes below it, you can create DFDs with VAW by selecting Spawn from a drop-down menu. (See Figure 3, page 36.) The Verify selection on that same menu ensures that as changes are made to the functional decomposition diagram, the data flow diagrams remain synchronized.
Entity-relationship diagrams (ERDs) and cluster diagrams support data modeling. Cluster diagrams let you simplify complex ERDs by grouping entities and relationships and substituting them with a single symbol to reduce the amount of detail displayed. The analyze function will analyze a diagram or entire project according to the rules of the selected methodology to maintain consistency between the data model and process model.
Version 6.0 of VAW introduces class diagrams and state diagrams. These additions provide object-oriented support for the Rumbaugh methodology. The class diagrams can display all attributes and methods, and you can use the methods on structure diagrams.
In addition to these standard diagrams, VAW offers unstructured diagrams,which are freestanding diagrams that are not linked to the repository. The cluster diagrams discussed previously are actually examples of unstructured diagrams. VAW also lets you create boilerplates that provide uniform information on each chart produced. These templates can contain company logos, text, and VAW keywords showing items such as creation date, last edit date, or user who performed the last edit.
The repository stores all of the information about the project. You populate the repository by creating and editing diagrams. However, you can add, delete, and edit entries manually using dialogs accessed from the repository menu. From this store of metadata, you can create SQL DDL statements for the entire project or for one or more existing views that you created. VAW can create SQL DDL in 17 database formats including: Centura's SQLBase 5.0, Oracle SQL 7.0, SQL Server 4.x, Sybase System 10, DB2/2.3, Informix SQL 4.1, ANSI SQL 92, dBASE IV SQL 1.1, and user-defined SQL.
In addition to generating DDL, VAW can generate data description specification (DDS) for the AS/400, and shell code for both C and Cobol. Shell code generation creates a program template consisting of the global data definitions, descriptive comments, function calls, and passed parameters that make up a program. Information entered into the repository will produce comments that describe these items within the generated code. You can also enter source code in the description field of a module and place it in-line with the generated function call statements.
The repository is a flexible and powerful feature. From the repository menu, VAW lets you perform "key analysis" to identify errors in the primary- and foreign-key relations identified in your ERDs. VAW does not establish foreign-key relationships as you enter entities, but it allows you to generate foreign-key relationships across the entire project by selecting "key synchronization" from the Repository menu. The repository works closely with the methodology you have selected to enforce the rules of that methodology.
I tested the repository features by walking through several scenarios. First, I used the Utilities/Import feature to import data using the PowerBuilder option. VAW imports data from the current PowerBuilder data source and also retrieves extended attribute information from associated PowerBuilder tables; it places this information into the VAW repository. The process wouldn't work when I was running a 32-bit version of PowerBuilder for NT, and a quick call to technical support informed me that VAW only supports the 16-bit version of PowerBuilder. After I installed the 16-bit version, the import proceeded flawlessly. I then generated a global view of the data model by selecting "View of Data Model" from the File menu. (See Figure 4, page 38.)
The next task was to enter a trigger manually. I opened the repository by clicking on Define under the Repository menu. I performed a search for the "Author" entity. At this point I pressed the SQL Info command button to view schema generation information for this entity. I planned to generate DDL for SQL Server 4.x, so I changed the dialect from Watcom (now called Sybase SQL Anywhere, although VAW 6.0 doesn't address the name change), which was being used for the import, to the SQL Server 4.x dialect. The Triggers button was now available; pressing it gave me the trigger dialog. I added an update trigger and saved the repository information. The final step was to create the schema to migrate the repository data to Microsoft SQL Server 4.21. I used the "Generate SQL" selection from the Repository menu to create a SQL script. Finally, I executed the script on SQL Server and all of the tables, indexes, and even the trigger arrived in my SQL database. Although this was a simple exercise, I did similar manipulations -- importing, manipulating, and exporting repository data -- from varying sources to different destinations with little effort and good results.
VAW provides good support for a multi-user environment. You can define users through the Utilities/Users menu and designate them as system manager, project manager, or user. A system manager has full rights to VAW and can set up new users and perform functions such as changing passwords. A project manager can create projects and assign users. A user can work on a project to which he or she has the rights, but cannot create new projects. Multiple users can work on a project concurrently; however, each user can only modify one diagram or repository entry at a time. Novell network users can use the inherent messaging system, normally accessed through the "send" command, to communicate with other network users.
On the whole, VAW behaved quite nicely. I had no GPFs or lockups, and believe me I put it through some unorthodox experiments. Noticeably missing from the supported RDBMS list is Microsoft SQL Server 6.0. Visible Systems hopes to have this support provided in the near future. Direct support is also scheduled for Access sometime in 1996.
Navigation was generally straightforward. I did encounter a bug while working in the repository, however. Several times, when I was performing a search, the search command button would become disabled, and I would have to leave the repository and come back in to perform another search. Many times I tried to perform searches against empty search criteria. Instead of getting a message informing me that there was nothing to do, I got a flickering cursor and then nothing happened. There are several deviations from standard Windows user interface guidelines, but these are more hindrances than flaws. These bugs are all cosmetic annoyances, but little things add up.
There are many good things to say about VAW. In fact, in this short review there are many good features I did not have the space to mention. The diagramming and modeling capabilities are excellent and would make a good package in themselves. Add the methodology support and rules reinforcement, and VAW becomes an exceptional value. The ability to decompose and nest portions of projects gives VAW real flexibility in both analysis and design.
The import and export features make it easy to work with multiple platforms. The ability to export to rapid application development tools such as PowerBuilder and SQL Windows is not as tightly integrated as Computer Systems Advisers' Silverrun or Sybase's S-Designor, but it is quite adequate. Overall, VAW's upper and lower CASE functionality and simple, easy-to-use interface make it an exceptional value. This is a product that could find a place in almost any company's toolbox.