General Design Principles and System-Wide Features

These modules were intended as examples of good database design and good "how to" examples for Genesis V, and also to serve as the basis for real business applications. A great deal of time was spent on the design of the original database by a group of very experienced system designers.

These applications are specified with great attention to Design standards and Quality. These factors make the software easy to use, easy to maintain and easy to interface with. They are: Consistent user-interface standards Consistent coding standards (Using the Genesis V generator) Simple, neat and well documented database design.

There are some System-Wide Features which both contribute to the design quality and to the ease of installation. In general, we have tried to write this software as a data-driven system: Generally, system constants are held externally not inside programs.

A strong feature is the easy and timely availability of key management information.

Features of the software include:

A "Windows" style - where called programs may show their information in a window partially overlaying the previous panel.

Standardization of function keys - using the SAA standards where possible.

Extensive use of "Finder" functions: whenever a code is to be entered and validated against a list of valid codes (such as a valid Customer account code, General Ledger account code or payment method for example) then there will be both question-mark support and F4 support: You can type a question mark in the field or locate the cursor in the field and hit the function key, and you will be given a list of allowable codes. You can easily select one of the codes presented to you. Similarly if you key in an invalid code, you will be presented with the list of valid values.

Integrity checking validations: to stop you inadvertently deleting or renaming records which other parts of the system depend on.

Immediate update of balances. Stock balances, customer and vendor account balances and others are maintained in real-time. There is no need for background or batch jobs to bring them in-line. General Ledger balances may also be maintained real-time if desired: there is a job control system which allows you to schedule these postings for an asynchronous (background) job or for batch (overnight usually) processing.

These applications are designed with a fully integrated database with NO unnecessary duplication: a modern, relational database design. The database design documents including relationship tables and notes will be available to you. The data dictionary includes a repository of field-level validations to make interfacing or interpreting the database simple and straightforward.

Coding standards: throughout the data base and the functions a consistent set of simple standards has been maintained. To some extent these standards are supported and enforced by the use of the Genesis V CASE tool. For instance, we have used the Genesis V default of prefixed names: each file has a prefix and all fields on that file have the same prefix. All functions can be used recursively.