App Architects' Tools

Microsoft Corp. released Visual Studio 6 this fall with updates to all the applications and tools that it includes. One of those tools that is designed to help with the construction of applications is Visual Modeler.

Visual Modeler is a system design tool that works with Visual Basic, Visual InterDev and Visual J++. Each of these tools can use Visual Modeler to construct logical models of the application. Almost everyone in the development process can use these models to understand the various parts of the application and how the parts of the application fit together.

Tools such as Visual Modeler are designed to allow system architects to design the application. Once the design is complete, the design kicks out some type of code structure that becomes the foundation of the application. Visual Modeler can take this process all the way through the production cycle. You can create a design with Visual Modeler and then output the code for the components in the model, or you can reverse-engineer an existing application into a logical model.

When you generate code with Visual Modeler, it places information it needs in your application. Then Visual Modeler can read that information and decode the structure of your application. This lets your developers and architects continually work with the same set of tools during the application's creation and maintenance cycles.

Visual Modeler also works with Microsoft’s Visual Component Manager and allows you to store models in the Microsoft Repository. The Repository can store other information also, such as components, Visual Basic forms, class modules, code modules, OCX files, and more. The Repository makes it easy to store these items in a distributed manner where they can be shared with everyone on the development team.

Visual Component Manager is included with Visual Studio Enterprise Edition and allows you to store almost everything in your project in a published database using the Microsoft Repository. You can store the Repository locally in an Access database or globally in SQL Server on a LAN. If you store the Repository in SQL Server, then your entire team can access anything in the Repository from within Visual Basic, Visual InterDev or Visual J++. This allows you to share components throughout your organization and allows developers to reuse them quickly.

Most development projects do not have good design cycles. The design cycle is frequently skimped on or skipped almost altogether. Most of the time what folks call design cycles are not much more than some limited discussions. Everyone wants the developers to start writing code as soon as possible so they can finish faster. This actually results in applications that run over schedule and many times end up being canceled. This also results in applications that are not written to proper specifications and have components that cause problems with other applications.

Using Visual Modeler and Visual Component Manager properly, you can design distributed applications that can be built with Visual Basic and other tools. The various components can be shared and reused repeatedly. The development time your team needs to build applications will then decrease over time because of the code reuse your team can take advantage of by using the components. This is the true benefit of component-based design and will occur if you correctly design the applications and their parts.

Your team must also follow the correct guidelines for application development. For instance, applications that use DLLs can have problems with various versions of those files, because the developers of the components break the rules. One of the cardinal COM rules for developing components is this: Once you create an interface (methods or property) in a component and publish the component, you do not change that interface. If you change an interface, then the applications that use that component will usually break. Changing interfaces is the root cause of many of the problems we are faced with today when different applications update your system with new DLLs. --Ken Spencer has written several books for Microsoft Press and works for training organization 32X Corp. (Greensboro, N.C.). Contact him at or via the Web at