This paper outlines STePS (Structured Technique for Program Specification), a systematic method for designing programs. The procedures (supported by established system design techniques) produce detailed modular program structures and specifications.

The use of STePS with JSP (Jackson Structured Programming) is discussed as this combined approach can produce comprehensive and detailed program designs.

This combined design approach has been formalised using the basic concepts of category theory to facilitate the development of reliable software designs.