Design
Developing the system is often the most demanding
phase of a project. We often have to develop the specification
ourselves and submit to the client before serious development
starts.
With today's development tools it is often cost-effective
to develop a prototype for the client to experiment with as
this is the best way to get feedback and quickly highlights
any problem areas.
Database design follows all the established
rules of normalisation. This can often result in databases
with upwards of a hundred tables in them, all related to one
another. This eliminates data duplication. As a matter of
course, we usually incorporate edit logs and audit trails,
particularly where financial data is involved, even if the
client has not asked for it. In our experience, this sort
of thing is not considered at the design stage but becomes
invaluable later on when there is a query on the data integrity.
Due consideration is made for the network infrastructure,
particularly if remote access is involved to reduce network
traffic. We often have to re-educate clients used to simple
spreadsheet lists to understand long lists and remote connections
are not really compatible. Bandwidth is the most precious
resource in IT these days.
|