We have used Jackson's Problem Frames approach to teach software requirements analysis in an undergraduate software engineering setting for several years. Its lightweight formalism is rigorous without being intimidating, and its clarity and precision foster critical inquiry and careful reasoning among students. To guide newcomers to Problem Frames, and to aid experienced students in tackling larger problems, we have created a Java-based editor tool called PFEdit to construct and manipulate Problem Frame documents. In the next incarnation of the tool, renamed ProF, we are integrating the diagram creation and annotation features of PFEdit with support from an automated theorem prover, to allow users to verify the completeness of their requirements.
Introductory lecture notes
More Problem Frame examples
A course in problem analysis and structuring through Problem Frames. With X. Wang and V. Bluth. Conference on Software Engineering Education and Training (CSEET), Kahuku, Oahu, Hawaii, 2006.