CASE-средства


Содержание лекционного занятия:

  • Общие сведения о CASE-средствах
  •  Основные возможности CASE-средств

Общие сведения о CASE-средствах

За последнее десятилетие в области технических средств программирования сфор­мировалось новое направление — CASE-технология (Computer-Aided Software/ System Engineering). CASE-технология представляет собой совокупность методо­логий анализа, проектирования, разработки и сопровождения сложных систем и под­держивается комплексом взаимосвязанных средств автоматизации. При использовании методологий структурного анализа появился ряд ограничений (сложность понимания, большая трудоемкость и стоимость использования, неудоб­ство внесения изменений в проектные спецификации и т. д.). CASE-технологии с самого начала развивались именно с целью преодоления этих ограничений путем автоматизации процессов анализа и интеграции поддерживающих средств.

Основные возможности CASE-средств

Современные СASE-средства охватывают обширную область поддержки многочис­ленных технологий проектирования информационных систем: от простых средств анализа и документирования до полномасштабных средств автоматизации, покры­вающих весь жизненный цикл программного обеспечения.

Наиболее трудоемкими этапами разработки информационной системы являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечива­ют качество принимаемых технических решений и подготовку проектной доку­ментации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать суще­ствующую информационную систему, перестраивать ее в соответствии с постав­ленными целями и имеющимися ограничениями.

В наиболее полном виде CASE-средства обладают следующими характерными особенностями:

  • единый графический язык. CASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно по­нятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двумер­ными схемами (которые проще в использовании, чем многостраничные описа­ния), позволяющими заказчику участвовать в процессе разработки, а разработ­чикам — общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему;
  • единая база данных проекта. Основа CASE-технологии — использование базы данных проекта (репозитория) для хранения всей информации о проекте, ко­торая может совместно использоваться разработчиками в соответствии с их правами доступа. Содержимое репозитория включает не только информацион­ные объекты различных типов, но и отношения между их компонентами, а так­же правила использования или обработки этих компонентов. Репозиторий мо­жет хранить объекты различных типов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логику обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т. п.;
  •  интеграция средств. На основе репозитория осуществляются интеграция CASE-средств и разделение системной информации между разработчиками. При этом возможности репозитория обеспечивают несколько уровней интеграции: общий пользовательский интерфейс по всем средствам, передачу данных между сред­ствами, интеграцию этапов разработки через единую систему представления фаз жизненного цикла, передачу данных и средств между различными плат­формами;
  •   поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и/ или модификации, а также планирование, контроль, руководство и взаимодей­ствие, то есть функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитория. В частно­сти, через репозиторий могут осуществляться контроль безопасности (ограни­чения и привилегии доступа), контроль версий и изменений и т. п.;
  •  макетирование. CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах раз­работки оценить, насколько она устраивает его и приемлема для будущих поль­зователей;
  • генерация документации. Вся документация по проекту генерируется автомати­чески на базе репозитория (как правило, в соответствии с требованиями действу­ющих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку лю­бые изменения в проекте автоматически отражаются в репозиторий (известно, что при традиционных подходах к разработке программного обеспечения доку­ментация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения);
  • верификация проекта. CASE-технология обеспечивает автоматическую вери­фикацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом;
  •  автоматическая генерация программного кода. Генерация программного кода осуществляется на основе репозитория и позволяет автоматически построить до 85-90% текстов на языках высокого уровня.
  • сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-тех­нологии характеризуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать мо­дель системы из ее кодов и интегрировать полученные модели в проект, авто­матически обновлять документацию при изменении кодов, автоматически из­менять спецификации при редактировании кодов и т. п.

      Далеко не все CASE-средства поддерживают все указанные выше возможности. По­этому обычно к CASE-средствам относят любой программный продукт, автоматизи­рующий ту или иную совокупность процессов жизненного цикла программного обес­печения и обладающий следующими основными характерными особенностями:

  •  наличие мощных графических средств для описания и документирования ин­формационной системы, обеспечивающих удобный интерфейс с разработчи­ком и развивающих его творческие возможности;
  • интеграция отдельных компонентов CASE-средств, обеспечивающая управля­емость процесса разработки информационной системы;
  • использование специальным образом организованного хранилища проектных метаданных (репозитория).

Вопросы для самоконтроля:

  1. Изложите требования, которым должна отвечать информационная технология.
  2. Что такое инструментарий информационной технологии?

Рекомендуемая литература:

  1. Избачков Ю.С., Петров В.Н., Информационные системы: Учебник для вузов. 2-е изд. – СПб.: Питер, 2005.-656
  2. Информатика: Учебник/Под ред. проф. Н.В. Макаровой, - М.: Финансы и статистика, 1997, 2000.