Тема 10. Автоматизированное проектирование ИС с использованием CASE-средств Оглавление Понятие CASE-технологии ..........................................................................................................1 Понятие CASE-средства ...........................................................................................................4 Классификация CASE-средств ........................................................................................5 Архитектура CASE-срдства ..............................................................................................7 Выводы .......................................................................................................................................8 На защите дипломных работ одной из групп, обратило на себя внимание то, что ряд студентов готовят функциональные модели в нотациях IDEF0, IDEF3 и DFD с помощью программного средства CA BPwin, а ER-диаграммы в PowerDesigne. На вопрос, почему было выбрано столь необычное сочетание используемых программных сред, прозвучал ответ достойный специалиста в области прикладная информатика в экономике: «С этими программами мы работали и умеем строить модели именно в них…». Цель настоящей темы – дать понять, что подобная «аргументация» неприменима при профессиональной деятельности и, что обоснованный выбор инструментария – неотъемлемая часть любого проекта комплексной автоматизации. Понятие CASE-технологии При использовании методологий структурного анализа появился ряд ограничений (сложность понимания, большая трудоемкость и стоимость использования, неудобство внесения изменений в проектные спецификации и т.д.) С самого начала CASE-технологии и развивались с целью преодоления этих ограничений путем автоматизации процессов анализа и интеграции поддерживающих средств. Что же такое CASE-технология? На официальном сайте СанктПетербургского информационно-аналитического центра (СПбИАЦ) дается следующая трактовка понятия CASE: «Термин “CASE” (Computer Aided Software Engineering) в настоящее время используется в широком смысле и не ограничивается вопросами автоматизации разработки только лишь программного обеспечения (ПО), но и охватывает процесс разработки сложных информационных систем (ИС) в целом». Безусловно, рассматривать это высказывание в качестве полноценного определения нельзя, но важный аспект современной трактовки термина CASE, а именно то, что это не просто инструментарий программной инженерии, а среда поддержки разработки ИС в этом высказывании присутствует. Если же говорить о формальном определении рассматриваемого термина, то в различных источниках представлено несколько определений CASE-технологий. Рассмотрим два из них: ОПР. 1: CASE-технология представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем и поддерживается комплексом взаимоувязанных средств автоматизации. CASE-средства - это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий бумагу и карандаш компьютером, автоматизируя процесс проектирования и разработки ПО. ОПР. 2: CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Важным в этих двух определениях является то, что CASEтехнология не сводима только к инструментарию, но, прежде всего, рассматривается как методология проектирования ИС. Выделяют следующие основные черты CASE-технологии: – Назначение: автоматизация проектирования сложных информационных систем. Изначально CASE-средства были ориентированы на разработку ПО. Сейчас чаще всего под такими средствами подразумевают любые средства проектирования ИС и/или моделирования предметной области. – CASE-средства охватывают все стадии ЖЦ ИС (анализ, проектирование, разработка, сопровождение). – Не создают новых методологий, а повышают эффективность использования существующих – за счет автоматизации. Цели использования CASE-технологии в индустриальном проектировании ИС (Рис. 1): – улучшение качества разрабатываемой ИС за счет автоматического контроля и генерации отдельных элементов; – возможность повторного использования компонентов разработки; – повышение уровня адаптивности и качества сопровождения ИС; – использование методологии прототипного проектирования; – ускорение работы за счет автоматизированной генерации кода и автоматизированного документирования проекта; – возможность коллективной разработки ИС в режиме реального времени. Рис. 1. Потенциальные возможности применения CASE-технологий Характеристика CASE-технологий (Рис. 2). Рис. 2. Характеристика CASE-технологий Содержание CASE-технологии: – Методология – определяет шаги реализации проекта, а также правила используемых при его разработки методов. – Метод – процедура или техника генерации описания компонентов ИС (например, метод проектирования потоков данных). – Модель – совокупность символов (вербальных, математических, графических и т.п.), которая адекватно описывает некоторые свойства моделируемого объекта и отношения между ними. – Нотация – Система условных обозначений, принятая в конкретной модели. Обычно для описания моделей используются графические символы, а также формальные и естественные языки. – Инструментальные средства – CASE-средства. В заключение следует провести сравнение CASE-технологии с традиционным (ручным) подходом к созданию ИС (Рис. 3). Рис. 3. Сравнение CASE-технологий с традиционным подходом Понятие CASE-средства ОПР.: CASE-средства – это программно-технологические средства специального класса, реализующие CASE-технологию и поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных (БД), генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. В настоящее время на рынке ПО представлено множество CASEсистем различных производителей. Выбор одной из них – непростая задача. Очевидно, что выбор должен выполняться по критериям, которые отражают специфику проекта, в котором предполагается применять CESE-средство. Можно выделить следующие типы проектов с применением CASE инструментария: – Проекты создания ПО; – Проекты создания ИС; – Проекты оптимизации бизнеса (СМК, реинжиниринг …); – Процессы управления организацией (СМК). Это далеко не полный перечень возможных сфер применения CASE-средств. Понятно, что требования к CASE инструментарию в проекте создания ПО кардинально отличаются от требований, которые налагает проект оптимизации бизнеса. В любом случае, важно помнить, что при выборе инструментария нет готовых универсальных решений. Состав и структура продукта проекта должна соответствовать ЦЕЛЯМ проекта. Другими словами, НЕ СУЩЕСТВУЕТ ЕДИНЫХ КРИТЕРИЕВ ВЫБОРА CASE-СРЕДСТВА. Критерии определяются исходя из специфики использования системы. Подбор и ранжирование критериев - сложная задача, при выполнении которой часто применяются групповые методики. Для облегчения формирования избыточного набора критериев в литературе по данной теме предлагают следующий избыточный список (Рис. 4): Рис. 4. Критерии выбора CASE-средств Это список критериев ранжируется, выбираются основные критерии, которые в наибольшей мере влияют на качество выбора и затем, по выбранным параметрам производится сравнение конкретных продуктов. При конечном отборе полезными бывают классификации, которые позволяют ограничить круг рассматриваемых систем. Классификация CASE-средств Как отмечалось ранее, для сложной системы существует бесконечное число возможных членений. Классификация – это вариант членения, когда множество однотипных элементов множества разбивается на непересекающиеся подмножества в соответствии с выбранным признаком. Так как классификаций может быть бесконечно много, важно выбрать те из них, которые имеют прикладную ценность. Любая классификация должна достигать определенные ЦЕЛИ, т.е. ее использование должно определяться спецификой выбора системы. Другими словами, классификации должны разрабатываться исходя из состава критериев выбора. Наибольшее распространение в литературе получили следующие классификации CASE-средств (Рис. 5): 1. По области действия в пределах ЖЦ ИС − Upper CASE – средства, используемые на стадии анализа предметной области; − Middle CASE – средства, используемые на стадии анализа и проектирования структуры ИС; Примечание. В настоящее время в зарубежной литературе имеет место тенденция объединять средства Upper и Middle CASE в одну группу (Upper CASE). − Lower CASE – средства, используемые на стадиях разработки и внедрения (тестирования). − I-CASE – интегрированная система CASE-средств, которая может использоваться как на ранних, так и на поздних стадиях ЖЦ ИС (т.е. объединяет возможности Upper- и Lower- CASE). 2. По функциональному назначению: − Средства анализа и проектирования ИС (автоматизация наиболее популярных методологий проектирования); − Средства проектирования баз данных (моделирование данных и генерация схем БД); − Средства разработки приложений (в том числе, средства генерации и рефакторинга программного кода, средства быстрой разработки приложений); − Средства обратного инжиниринга (построение моделей действующей ИС для ее переноса в другую среду); − Средства документирования проекта; − Средства управления тестированием ПО; − Средства планирования и управления проектом. 3. По поддерживаемым методологиям проектирования: − Функционально-ориентированные; − Объектно-ориентированные; − Комплексные (поддерживают различные методологии). 4. По степени интеграции: − Отдельные средства, которые могут быть использованы на той или иной стадии проектирования ИС. − Частично интегрированные наборы средств, охватывающие несколько стадий разработки ИС; − Полностью интегрированные системы средств, охватывающие несколько стадий разработки ИС и связанные между собой общим репозиторием. 5. По реализованной архитектуре: − Локальные; − Корпоративные (с поддержкой взаимодействия по корпоративным информационным сетям и возможностью коллективной разработки проекта). Рис. 5. Распространенные классификации CASE-средств Архитектура CASE-срдства Общая архитектура системы CASE-средств включает в себя следующие элементы (Рис. 6): Репозиторий (словарь данных) – специализированная база данных, являющаяся ядром системы. Обеспечивает хранение версий проекта и его отдельных компонентов и объектов, синхронизацию поступающей от проектировщиков информации, контроль метаданных на полноту и непротиворечивость. Репозиторий хранит описания следующих объектов: – Проектировщиков и их прав доступа к различным компонентам системы; – Организационных структур; – Диаграмм, компонентов диаграмм и связей между диаграммами; – Структур данных; – Программных модулей, процедур, библиотек и т.п. – … Графические средства анализа и проектирования (редакторы диаграмм). Используются для создания иерархически связанных диаграмм – моделей ИС – в заданной графической нотации. Верификатор диаграмм. Служит для контроля правильности построения диаграмм в заданной методологии проектирования. Основные функции: мониторинга, диагностика, информирование об ошибках. Неграфические средства проектирования и разработки приложений. Используются для построения моделей ИС на формальных и естественных языках, а также для автоматизированной разработки программ проекта. Документатор проекта. Позволяет получать информацию о проекте в виде различных отчетов. Средства администрирования проектом. Представляют собой набор инструментов и служебных программ, необходимых для выполнения таких административных функций, как: – Инициализация проекта; – Задание начальных параметров проекта; – Назначение и управление правами доступа к отдельным элементам проекта; – Мониторинг выполнения проекта. Служебные средства. Представляют собой набор служебных программ, которые необходимы для обслуживания БД репозитория: архивация, восстановление данных и т.п. Рис. 6. Архитектура CASE-средства Выводы – В настоящее время на рынке ПО представлено множество различных CASE-средств. – Выбор CASE-средства – задача, от правильности решения, которой во многом зависит успех проекта в целом. – Не существует единых критериев выбора CASE-средства. Правильным является подход, когда критерии определяются исходя из специфики использования системы, т.е. специфики того проекта, в котором предполагается их использование. – При выявлении и ранжировании критериев выбора CASEсредств применяют методы мозгового штурма, номинальных групп и экспертных оценок, что позволяет повысить объективность полученных результатов.