A marketing term, used to describe the use of software tools to support software engineering. There are two distinct classes of CASE, referred to as lower CASE and upper CASE. Lower CASE generally supports the programming aspects of the development life cycle and here the term is synonymous with programming support environment (PSE). Upper CASE is used to describe tools that support methods used earlier in the life cycle to elicit or record user requirements, software (or system) requirements, and design.