Software/Systems development methodologies

Software development 
[1] 

In order to produce an effective computer based application, particularly where the project is large and/or complex, schedules need to be met, costs controlled, quality maintained and specifications adhered to design methodologies will need to be followed. 
Multimedia software development stages
Traditionally to develop an application, software engineering specifies the following stages; 
  • Planning: Identify scope and boundary of problem, plan development strategies and goals.
  • Requirements analysis: what the project should do.
  • Design: How the project is going to work
  • Implementation & testing: Producing different media components and integrating them together using an authoring tool.
  • Support: Correcting errors, improving and enhancing.

These stages may be implemented in different ways;

Waterfall development (1960's)
Formalises program development and facilitates documentation. Progress passes sequentially from one phase to the next (In reality overlap and revisiting occurs). The following diagram is based on Whitten & Bently (1998, p 9) & Multimedia Methodologies (2000)

Exploratory programming
Implementing an initial solution and modifying until the project is complete. Suits multimedia game development. Requires rapid iterations and high level programming tools. Used when specifications difficult or correctness not paramount.

Prototyping
Similar to exploratory programming, but the main objective is to generate requirements. Generally the prototype may be abandoned and the system written (often in another language).

Software from component reuse
Assumes the software can be created from software components already in existence.  Will be increasingly common as object based tools are used.

http://www.parc.xerox.com/spl/projects/oi-at-parc/methodology.html  

MMedia SDLC
http://www.multimedia.bcit.ca/mmSDLC/html/software.html

[Rev 13/04/01] 5/4/00 © 2000 V/2-Com (Verhaart), P O Box 8415, Havelock North, New Zealand.