Для автоматизации проектирования и разработки информационных систем в 70-80-е гг. широко применялась структурная методология, означающая использование формализованных методов описания разрабатываемой системы и принимаемых технических решений. При этом использовались графические средства описания различных моделей информационных систем с помощью схем и диаграмм. При ручной разработке информационных систем такие графические модели разрабатывать и использовать весьма трудоемко.
Отмеченные обстоятельства послужили одной из причин появления программно-технологических средств, получивших название CASE-средств и реализующих CASE-технологию создания и сопровождения информационных систем. Кроме структурной методологии, в ряде современных CASE-средств используется объектно-ориентированная методология проектирования.
Термин CASE (Computer Aided Software Engineering) дословно переводится как разработка обеспечения с помощью компьютера. В настоящее время этот термин получил более широкий смысл, означающий автоматизацию разработки информационных систем.
CASE-средства представляют собой программные средства, поддерживающие процессы создания и/или сопровождения информацион-ных систем, такие как: анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение качества, управление конфигурацией и проектом.
CASE-систему можно определить как набор CASE-средств, имею-щих определенное функциональное назначение и выполненных в рамках единого программного продукта.
CASE-технология обычно определяется как методология проектирования информационных систем плюс инструментальные средства, позволяющие наглядно моделировать предметную область, анализировать её модель на всех этапах разработки и сопровождения информационной системы и разрабатывать приложения для пользователей.
Основная цель CASE-систем и средств состоит в том, чтобы отделить проектирование программного обеспечения от его кодирования и последующих этапов разработки (тестирование, документирование и пр.), а так же автоматизировать весь процесс создания программных систем, или инжиниринг (от англ. engineering – разработка)
Повторная разработка сводится к построению исходной модели программной системы путем исследования её программных кодов. Имея модель, можно её усовершенствовать, а затем вновь перейти к разработке. Так часто и поступают при проектировании. Одним из наиболее известных принципов такого типа является принцип «возвратного проектирования» - Round Trip Engineering (RTE).
Современные CASE-системы не ограничиваются только разработкой, а чаще всего обеспечивают и повторную разработку. Это существенно ускоряет разработку приложений и повышает их качество.