Teaching OO Software Engineering by Example: The Games Factory

Object‐oriented analysis, design, and programming is a software development technology which has attracted universal attention in the past few years. We do not think that object‐oriented technology is a completely new approach to software construction; it is merely the consequent continuation of software engineering principles which have evolved since 1968, the year of the birth of software engineering. This article describes a course on software engineering with objects which track the evolution of this discipline. We work through the history of these concepts using a single application domain, demonstrating how the relevant analysis and design methods evolved over time, culminating in object‐oriented techniques.