We define usefulness of software as conformity to requirements that in turn have to capture user needs, expectations, and create satisfying usage experience.
Users need software to be correct - provide valid output for valid input.
Users expect software to be robust - provide advice on working around invalid input and seeking the valid output.
Obviously, requirements validation is critical in creating useful software, however frequently overlooked or sacrificed - functional prototypes are expensive and time consuming. Executable formal models, such as VDM-SL, provide a very pragmatic way to cover this gap as well as next one - model based testing of the final implementation.
No comments:
Post a Comment