6. Дайте классификацию моделей системы по отображаемому аспекту.
Лекция № 5. ТЕХНОЛОГИИ И ПОДХОДЫ К АНАЛИЗУ И ПРОЕКТИРОВАНИЮ программныхСИСТЕМ 5.1. CASE-технологии анализа и проектирования 5.2. Сущность структурного анализа и проектирования 5.1. CASE-технологии анализа и проектирования Максимально упростить и формализовать процессы формирования требований и проектирования системы позволяют современные CASE-средства.
В 70-х и 80-х гг. ХХ в. при разработке информационных систем достаточно широко стала применяться структурная методология анализа, предоставляющая в распоряжение разработчиков строгие формализованные методы описания системы и принимаемых технических решений. Она основана на применении наглядной графической техники (схем и диаграмм), предназначенной для описания различного рода моделей. Наглядность и строгость средств структурного анализа позволяла разработчикам и будущим пользователям системы с самого начала неформально участвовать в ее создании, обсуждать и закреплять понимание основных технических (проектных) решений [14].
Перечисленные факторы способствовали появлению специальных программных средств – CASE-средств, реализующих CASE-технологию создания и сопровождения информационных систем. Термин CASE используется в настоящее время весьма широко. Первоначальное значение термина CASE, ограниченное вопросами автоматизации разработки только лишь программного обеспечения, в настоящее время приобрело новый смысл, охватывающий процесс разработки и сопровождения сложных систем в целом.
CASE-технология представляет собой методологию проектирования информационных систем, набор методов, нотаций1 и инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать модель системы на всех этапах разработки и сопровождения системы и разрабатывать приложения в соответствии с информационными потребностями пользователей [14].
В качестве инструментария реализации технологии используются CASE-средства, основными функциями которых являются:
централизованное хранение в единой базе данных проекта (репозитарии) информации об информационной системе в течение всего жизненного цикла. Репозитарий может хранить объекты различных типов: диаграммы, определения экранов и меню, проекты отчетов, описание данных, логику их обработки, исходные коды программ и т.п.;
прямое проектирование программного обеспечения и баз данных. При этом порядок использования разработчиками CASE-средства следующий:
o создается логическая модель системы;
o выбирается конкретный язык программирования или СУБД для построения физической модели, после чего CASE-средство автоматически создает физическую модель системы;
o дорабатывается физическая модель;
o выполняется автоматическая генерация текста программы или структуры базы данных на диске;
обратное проектирование (реинжиниринг). В этом случае порядок использования CASE-средства обратный – от текста программы или базы данных на диске к логической модели. Помимо построения, CASE-средства позволяют быстро интегрировать полученные таким образом модели в проект, а также с меньшими потерями переходить от одной физической реализации к другой (например, в случае ухода «старых» разработчиков, плохо документирующих программное обеспечение, или появления новых, более перспективных языков программирования и СУБД);
синхронизация моделей системы с ее физической реализацией. В случае изменения модели системы могут быть автоматически внесены необходимые изменения в физическую реализацию или наоборот;
автоматическое обеспечение качества и тестирование моделей на наличие ошибок (например, ошибок нормализации БД), полноту и непротиворечивость;
автоматическая генерация документации. Вся документация по проекту генерируется автоматически на базе репозитария (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозитарии.
Основная цель использования CASE-технологий заключается в максимальной автоматизации стадий анализа и проектирования систем с целью построения формальных и непротиворечивых моделей системы.