Links to various pages of information on databases and their usefulness.

Database Principles

To start off with, there are generally 5-8 steps (depending on how you break them down) involved with the development lifecycle of a system, whether it be a manual system or a bespoke database system.  They are loosely related and aspects can be learned from the old manual systems available to shows where time and resources are distributed.

Although there are many permutations to these steps, we are going to focus on one well-known variation of the System Development Life Cycle:

Each step is well defined but often takes this direction:

Planning is the crucial start point that must be completed prior to further procedures.  Time spent here is critical to the success of the project.

Analysis and Design are often carried out cyclically: we analyse, design and then discuss with the client to re-analyse, design.  This can go on for several cycles.  Another definition is: Requirements Definition, System Design, Programming & Testing.  From this definition, we can see the testing stage is followed again by the requirements definition, so it's where everyone compares the current stage of the product with the requirements given and discussed with the client.  Again, until this stage is completed thoroughly, the Final Implementation stage is halted.

Maintenance often involves Fine Tuning amongst other things.

Growth and Change essentially is the realisation that the company's needs have changed and we need to start the process from the beginning, by planning how to proceed.

Since we produce solutions that constantly change, we find the traditional method of the Software Development Life Cycle is too cumbersome and rigid since it follows a set path which cannot be deviated from, so we opt for the far more dangerous, but far more adaptive Extreme Development Method as defined below:

  • Feasibility Study
    • Feedback
  • Analysis & Prototype Coding
    • Install First Draft onto clients system.  Feedback
  • Design Process and Advanced Coding
    • Install Second and Subsequent Drafts onto clients system.  Feedback
  • Implementation and Debugging
    • Feedback
  • Maintenance & Ongoing Development

This method allows us to be far more reactive to the users needs and wants.  Since generally, the owness is upon us to ensure we have budgeted correctly in order to allow for the back and forth aspects that this method calls for.  Traditionally, if you were not a guru at knowing exactly what you needed and how it was going to be implemented, then you were given a system months or many months later that does not fulfil your needs.  Used to happen a lot in the early days, since it took a good few years to get from inception to installation.  Notice too, that each stage requires a feedback result from the client.  Getting a clear picture is our sole aim and can only be achieved by allowing the client to be critical of what is suggested.  See flowchart

 

Please note all prices displayed on this website are quoted in US$. If you require other currencies, please advise.