Abstract:
Notwithstanding the many recent advances, software maintenance remains a serious problem that is not well catered for in the software design process. This situation partly results from a failure to fully recognise the changing nature of requirements and the contextual environment throughout the software lifecycle (from conception to obsolescence). A more creative approach, dealing better with ill-formed and emerging problems is needed. The requirement capturing methodologies for software development that exist so far, are still lacking in the capability to construct good software or good implementations. Good, in this context, means non-fragile and capable of evolving or changing with the necessity caused by requirement change and refinement.