Designing Your Application

Before you use VPM Enterprise to create an application, take some time to lay out and document the applicationís design. Perform a complete requirements analysis. If youíre not an expert in the process the application will automate, youíll need to talk to someone who is. The best people to consult are the persons who will use the application.

Your goal is to thoroughly understand the process to be automated. Start by getting an overview of the entire process. Then go after the details. Obtain any procedure manuals or documentation that describe existing approaches. Gather copies of all the forms and reports currently used. With as much information about the process as possible on hand, youíre ready to design the application.

Tip: Because you are using ProMatrix to build your application, you can concentrate on defining the process to be automated. You wonít have to worry about creating an application foundation, class libraries, an error handler, a data validation system, etc. VPM Enterprise will take care of all the application-specific tasks for you. 

Suggested Design Approach

There are many good books on how to design database applications. You should read as many as you can. While itís beyond the scope of this Userís Guide to teach you the ins and outs of application design, here are some simple, practical suggestions to help you get started. These suggestions are based on many years of experience in application development. 

Step 1: Determine the Output

The goal of database applications is to produce output that provides information for someone. Output can take the form of printed reports, forms, files and electronic communications. The process that your application will automate already has output in some form. Get your hands on every piece of existing output. The present output defines what the application must produce. Whatís more, the output is the key to identifying the data required for the process. 

Step 2: Determine the Data and Design the Database

Construct a list of the applicationís data elements from the output documents youíve gathered. For calculated data, determine the data elements required to perform the calculations and add those data elements to the list. Also, be sure to record the calculation rules and formulas. Youíll need them to write the applicationís processing programs.

When your data list is complete, group it by entity. For example, a human resources system may have the following entities: companies (employers), employees, deductions and taxes. Identify the relationships among the entities. The entities and the data elements that belong to them will be the basis for designing the tables in the applicationís database. If youíre new to database design, you may want to read up on the subject.

Step 3: Design the Data Forms

Users must input and maintain the applicationís data using data forms. Youíll need one or more forms to maintain the data for each entity table. You may want to group and order the data on the forms the same as the data is presented on existing input documents.

Step 4: Design the Classes and Programs

If the application must perform and store calculations based on the input data, youíll need class methods or programs to do the calculations. For example, to produce payroll checks, a payroll system must use employee data, deduction rules and tax rules to calculate and store employee wages, deductions and taxes. You would need a payroll processing class or program. 

Step 5: Design the Menu

The application menu organizes the application for the users. It should link the pieces of the application together in an intuitive way. Input forms normally are placed on one menu popup. Output, or reports, are normally placed on a separate popup. Administrative functions should be grouped together. Processing routines that must be run in sequence should appear in sequence on one menu popup.

Design Document

The end product of the application design effort is the design document. In a perfect world, an application design document would contain descriptions of:

∑       The menu

∑       The database

∑       The forms

∑       The classes and/or programs

∑       The reports

∑       Any other forms of output, such as files or electronic communications.