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.
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.