Accommodating uncertainty in software design

Recognition that most software is domain dependent (DD) is extremely important because the most commonly used software life-cycle models are not adequate for DD software. The nature of DD software, and the need to manage its life cycle effectively, calls for a new approach to software design and the implementation of software development environments.