|
Considering database and data model development: There is an important difference between database development methodology and other software development tasks, which is often overlooked.The difference is that database development must concentrate on data first.
The first step in database development is to gather all the possible data elements that the software solution will operate with and create what is called a “Data Requirement Document.” This document specifies data collected by the system, its data meaning and type.
In the next step, this document is reconciled with regards to functional requirements and each data attribute should be mapped to a specific requirement to validate its necessity. Based on this step, “Data Specification” and “Data Dictionary” documents are created.
The Data Specification document also defines the expected capacity on development database, integration and system test database instances (requesting allocation of necessary server capacity) and production data capacity estimates. The Data Dictionary is a final projection of data attribute needs and is used to build logical and physical models of the database respective to their domains.
A necessary part of the Test Plan document is to plan to test any SQL statement in a unit test and subject it to peer and team review (including the database model and data dictionaries from previous steps). If the SQL statements and code passes unit testing, it can proceed into the integration and system test, where validation of each data element should be performed.
Any code released into a production system should be base-lined and labeled in the change management system. Any issues are logged into an issue tracker for resolution. Any critical errors in SQL or database configuration makes it necessary to roll back changes in the production system and return to development. Any SQL statement retuned to development has to be retested in unit, system and integration tests again.
If there is a new modification or patch release for the database instance, not only Integration and System tests should be performed, but also a full regretional test (i.e., back-ward impact on the system and each element, is each referential integrity disrupted or retained).
The following image shows the RDBMS development process flow that RDMAX applies:

The database development process is agnostic of technologies used throughout the project. However the methodology ensures that data attributes are evaluated based on stable criteria and consistent process with repeatable results. The proposed personnel retain capability to perform database development for either Oracle 9i , MySQL, MSSQL, MSSAccess, Informix etc.
written by Roman Vichr for RDMAX Inc. |