When developing applications using Oracle HTML DB, you need to find a balance between two dramatically different development methodologies:
Iterative, rapid application development
Planned, linear style development
The first approach offers so much flexibility, you run the risk of never completing your project. In contrast, the second approach can yield applications that do not meet the needs of end users even if they meet the stated requirements on paper.
The system development life cycle (SDLC) is the overall process of developing software using a series of defined steps. There are a number of SDLC models that work well for developing applications in Oracle HTML DB.
The SDLC waterfall is probably the best known model. In this methodology, the development process is broken down into the following stages:
Project Planning
Requirements Definition
Design
Development
Integration and Testing
Installation and Acceptance
Maintenance
This methodology is referred to as a waterfall since the output from one stage is the input for the next stage. One of the primary problems with this approach is that it is assumed that all requirements can be established in advanced. Unfortunately, in the real world, requirements often change and evolve during the development process.
The Oracle HTML DB development environment enables developers to take a more iterative approach to development. Unlike many other development environments, creating prototypes is easy. With Oracle HTML DB, developers can:
Use built-in wizards to quickly design an application user interface
Easily make protoypes available to users and gather feedback
Implement changes in real time, creating new prototypes instantly
Other methodologies what work well with Oracle HTML DB include:
Spiral - This approach is actually a series of short waterfall cycles. Each waterfall cycles yields new requirements and enables the development team to create a robust series of prototypes.
Rapid application development (RAD) life cycle - This approach has a heavy emphasis on creating a prototype that closely resembles the final product. Essentially the prototype is an essential part of the requirements phase. One disadvantage of this model is that the emphasis on prototyping can lead to scope creep. Developers can lose sight of their initial goals in the attempt to create the perfect application.