Visual Basic.Net and Access Database Programmer
Neville
Silverman

Visual Basic .Net Programmer
MS Access Database Programmer

Based in Sydney, NSW
Servicing Australia

Software Development Models

Software Development ModelsThere are several different software development life cycle Models aimed at improving programmer productivity and software quality. The development team should adopt the most appropriate Model for their projects.

Of course there must also be effective project management to ensure that expectations are met for functionality, cost and delivery.

Waterfall Model

The waterfall Model is where the developers follow these phases:

  • Requirements analysis
  • Software design
  • Implementation and Integration
  • Testing
  • Deployment
  • Maintenance

In the Waterfall Model, after each phase is finished, it proceeds to the next one. Reviews may occur at any stage, allowing for the possibility of change.

Spiral Model

The Spiral Model combines the waterfall Model, rapid prototyping and iterative risk analysis. It is suited to large-scale projects.

The risk analysis concentrates on the options and constraints in order to support software Re-use and quality.

Iterative and Incremental Development

Iterative development of a software project starts with minimal functionality. The functionality is increased as the project advances. This will reveal issues early in the development cycle. The Iterative process will also reveal design goals when they are not clearly defined.

In each increment, a slice of functionality is delivered. The process then iteratively enhances the evolving versions until the system is implemented. The goal for the design of any iteration is to be simple, straightforward, and modular. The analysis of an iteration is based upon user feedback.

Agile Development

Agile software development uses iterative development as a basis but with a lighter and more people oriented perspective than traditional approaches. Agile processes use feedback, rather than planning, as the control mechanism. The feedback is driven by regular testing and releases of the evolving software.

The Agile Manifesto defines the attitudes for software development:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

All common sense – but see also the The human factor which I think is vital for successful software development.

Code and Fix

The "Code and fix" development is not so much a Model, as a strategy for coping with management pressures. Programmers immediately begin producing code without much planning. When testing begins, the inevitable occurs – what is delivered is not what was wanted.

Evolutionary Development Model

There is usually an existing computer system that needs enhancing. The Evolutionary Model allows for a gradual transition from an old system to the new.

Visual Basic Programmer and Access Database support