Copy the page URI to the clipboard
Hall, Jon G. and Rapanotti, Lucia (2005). A framework for software problem analysis. Technical Report 2005/06; Department of Computing, The Open University.
DOI: https://doi.org/10.21954/ou.ro.00016031
Abstract
The paper introduces a software problem calculus based on a view of requirements engineering proposed by Zave and Jackson, that we hope can underpin techniques and processes in requirements engineering and early software design. The approach is centred around the notion of problem and problem transformation. It is proposi-tional in nature in that it allows for heterogeneous problem descriptions and correctness argumentation for the validation and verification of solutions. We present a number of fundamental rules to populate the calculus including 'divide-and-conquer' problem decomposition , description reification, prior-solution reuse, the use of architectures for solution structuring. In addition, and central to the foundational nature of the calculus is the interpretation and subsequent incorporation into our framework of others' work as problem transformations. This is an ongoing task: examples presented in this paper include interpretations of simple goal-oriented decompo-sitions and viewpoints. The calculus also provides rich traceability of the requirements of an original problem through transformation to those of its solution. We use the design of a sluice gate as a simple running example throughout the paper.