Software engineering is a complex discipline that addresses the problems related to software production. The term ''production'' refers to conceiving, designing, implementing, maintaining, and distributing software products. Software engineering has produced new methods, techniques, and methodologies aimed at facilitating the activities of software engineers. To support the application and exploitation of these results, software engineers undertook major efforts in developing software products supporting and, whenever possible and reasonable, automating these methods, techniques, and methodologies. The expression CASE, for computer-aided software engineering, is often used to identify this class of products. Despite the diffusion and wide availability of CASE technology, it is difficult to establish a clear conceptual framework and a comprehensive classification scheme that facilitate understanding the breadth of CASE and the way this technology can help to improve software production activities. Terminology is often unclear and misleading. It is difficult to understand product characteristics and how they can be combined and jointly used to support a specific software production process. This article aims at providing a tentative classification scheme to overcome some of these problems. Clearly, it is not easy to classify complex technologies such as CASE. Moreover, the rapid evolution of the marker and the research in this field may quickly make classification of this kind obsolete. Nonetheless, the author believes that it is important to provide an initial classification scheme that can be incrementally refined and enriched as the technology develops. It can be used to better support education, technology transfer, consulting, and process improvement initiatives.