The Neume Notation Editor is being engineered using the spiral model for software development , roughly following the above diagram. Software development begins near the axis intersection of the diagram, and proceeds in an outward spiral. Essentially, this model involves the building of prototypes and successive refinement of design. (The actual number of prototypes may vary with the individual project.)
The main advantage of the spiral model over traditional development models (such as the waterfall model ) is that it is "risk-driven." That is to say, the risks of design flaws, improper tools, mismatch with user needs, and so on, are detected early in the development process.
Each prototype is followed by a period of design validation, renewed planning, and risk assessment.
This author has found that the spiral model can produce surprisingly good results, especially when the application to be programmed is not fully understood. He has, however, had less success with the spiral model for maintenance tasks on existing software.
|||Boehm, B. W., "A spiral model of software development and enhancement," IEEE Computer, 21, (5), 61-72 (13).|
|||Boehm, Barry W., and P.N. Papaccio, "Understanding and Controlling Software Costs," IEEE Transactions on Software Engineering, vol. 14, no. 10 (October 1988), pp. 1462-77.|
|||Gonzalez, Avelino J., and Douglas D. Dankel, The Engineering of Knowledge-Based Systems, (Englewood Cliffs, NJ: Prentice Hall, 1993), pp. 298-300.|
|Image reproduced from Avelino J. Gonzalez and Douglas D. Dankel, The Engineering of Knowledge-Based Systems, (Englewood Cliffs, NJ: Prentice Hall, 1993), p. 299.|