The problem frames approach to software engineering is primarily—but not exclusively—concerned with computer-based systems. The broad content and nature of the approach are explained, and the underlying ideas and principles are reviewed and discussed. Some familiarity with the approach is assumed, and much detail is omitted. The paper does not aim to offer a tutorial: it presents only enough of the approach to illustrate the ideas.