Journal article Open Access
Rapid prototyping is defined, and its role in software evolution is examined. Software evolution refers to all activities that change a software system. It differs from maintenance in that the latter is done after the initial development, whereas evolution activities are interleaved with the initial development and continue after the delivery of the initial version of the system. In the author's approach to rapid prototyping, software systems are delivered incrementally and requirements analysis continues throughout the process, interleaved with implementation and evolution. The focus is on reducing requirements errors through prototyping before undertaking the incremental implementation effort for each deliverable version of the system. The evolution of a hyperthermia system is considered as an example.