Б.А.Позин

РосНИИ ИТ и АП, (095) 971-64-67, pozin@ritap.msk.su


Модели описания систем
Классификация CASE-средств
Характеристика upper CASE
Классификация языков четвертого поколения
Направления развития CASE-средств

Разработка информационных систем становится в последние годы распространенной задачей, решаемой федеральными, региональными органами управления и коммерческими структурами: банками, торговыми домами и т.п. Проекты такого рода по масштабу могут быть небольшими, средними, большими и сверхбольшими (уникальными). Типичными примерами уникальных проектов являются информатизация Центрального Банка РФ, Государственной налоговой службы, управления космическими аппаратами и т.п. Обычно большие и уникальные проекты характеризуются многоуровневой структурой объектов автоматизации, их разнесенностью в пространстве, сложной технологией функционирования, базой данных большого объема и/или высокой сложности, временем жизни, превышающим срок жизни оборудования, использованием в информационной системе части уже имеющегося оборудования.

Наиболее адекватной представляется разработка архитектуры сложных прикладных информационных систем (ИС) на основе концепции открытых систем. Основная цель создания систем как открытых состоит в возможности экономически и технически эффективного объединения в единую гетерогенную систему разных видов оборудования и программного обеспечения на основе применения стандартизованных интерфейсов между компонентами системы. Такой подход потенциально позволяет повторно использовать наиболее наукоемкий продукт - программные средства - на разных вычислительных платформах без перепрограммирования и тем самым экономить значительные финансовые средства. С другой стороны, такой подход позволяет поэтапно наращивать вычислительную мощность прикладной системы в соответствии как с потребностями пользователя, так и с его финансовыми возможностями.

case01.gif

Рисунок 1.

Международная организация по стандартизации ИСО выработала концепцию построения переносимых ИС из готовых переносимых компонент (Рис.1). Согласно рекомендации ИСО, основные компоненты ИС следует выбирать из числа переносимых, имеющих стандартизованные интерфейсы: операционную систему, систему управления базами данных (POSIX, SQL и др.), компоненты интерфейса прикладных программ с другими прикладными программами (API) и с конечным пользователем (CUI, GUI).

Проекты средней, высокой сложности и уникальные рекомендуется создавать с помощью CASE-средств и языков четвертого поколения (4GL). Целесообразность применения CASE-средств (upper CASE), прежде всего интегрированных, определяется возможностью точного учета требований конечного пользователя к проектируемой ИС, значительным снижением уровня системных ошибок в проекте до начала программирования и тем самым снижением общей трудоемкости разработки и особенно отладки программ. Наконец, с применением CASE-средств у заказчика появляется возможность более осознанно планировать инвестиции в создание ИС и ее внедрение в организации, поскольку все неавтоматизированные процессы описаны и могут быть оценены и технологически, и с позиций трудоемкости. Целесообразность использования языков четвертого поколения определяется несколькими факторами: снижением трудоемкости программирования сложных программных средств (не отдельных компонент) в несколько раз (5-10); значительным снижением стоимости и трудоемкости сопровождения; автоматическим выполнением международных стандартов, предоставляемым средой 4GL; переносимостью прикладной ИС при использовании переносимого 4GL.

Модели описания систем

В различных CASE-средствах применяются разные модели описания автоматизируемых систем и баз данных. Модели описывают различные свойства систем и баз данных, важные с точки зрения их автоматизации, а также позволяющие количественно оценить параметры проектов. Обычно модели имеют графическую нотацию, используемую как проектировщиками, так и системными аналитиками при взаимодействии с заказчиком на стадии обследования. Следует отметить, что спектр свойств систем различного назначения очень широк, и не все они к настоящему времени отражены в адекватных моделях. Однако для класса информационных систем организационного типа (Management Infirmation Systems - MIS) адекватные модели разработаны (Gane & Sarson, Shlaer-Melor, Yourdon / DeMarco, Merise, Buhr и др.) и поддерживаются соответствующими средствами автоматизации.

case02.gif

Рисунок 2.

Рассмотрим виды моделей, которые потенциально необходимы для адекватного проектирования ИС и баз данных (Рис.2). Расширяя класс автоматизируемых систем, рассмотрим в качестве "максимального" объекта территориальную систему, функционирующую в режиме реального времени и имеющую распределенную базу (базы) данных. Описание такой системы требует применения нескольких моделей.

Поток требований на такую систему может быть весьма сложным и иметь "собственные" правила построения, как правило, статистические. Примерами таких потоков могут быть "регулярные" - космическая обстановка при эксплуатации спутников, планового воздушного, морского, речного движения, работа прокатного стана и т.п.; либо нерегулярные - "налеты" самолетов для систем управления оружием, аварийные ситуации для систем управления реакторами и т.п. Модель внешней обстановки необходима прежде всего для проектирования систем реального времени, однако она может быть полезна и для территориальных систем класса MIS. В настоящее время такие модели на международном уровне пока не опубликованы.

Сложная система, особенно территориальная, обычно имеет внутренние правила или ограничения на функционирование. Такие ограничения связаны обычно с разницей во времени, оснащении, функциональной нагрузки компонент системы, расположенных в разных точках пространства. Опубликованные к настоящему времени модели, используемые при обследовании (анализе) систем, пока не имеют средств описания таких правил и их использования при моделировании и отладке ИС.

Наиболее распространенными и отработанными являются модели, описывающие поведение систем, технологию их работы без привязки ко времени (Gane & Sarson, Yourdon/DeMarco и др.) или в привязке ко времени (например, Buhr, Booch, разные варианты модели State / Transition).

Ряд моделей ориентирован на описание структуры реализации ИС на основе предварительно полученных знаний о функционировании автоматизируемой системы. К этому классу относятся модели Constantine, часть объектно-ориентированной модели Booch и др.

Модели данных в настоящее время развиты и широко используются для проектирования реляционных баз. Наиболее известными в этом классе являются модели IDEF1X (реляционная), модели Чена, Бахмана и др. Для сетевых и смешанных баз данных общепризнанные модели, по имеющейся информации, отсутствуют.

Классификация CASE-средств

Существует два поколения CASE-средств (рис.3). Первое поколение характеризуется наличием разобщенных средств, повышающих производительность труда и улучшающих качество проектирования на отдельных этапах или операциях разработки. В настоящее время реализация CASE-средств направлена на создание интегрированной среды комплексной автоматизации процессов проектирования, разработки и сопровождения, реализующих некоторую методологию проектирования ПС. Это направление названо второй генерацией CASE. В средствах этой генерации охватываются не только традиционные процессы проектирования и разработки, но и работы по анализу готового ПС (re-engineering) с целью устранения ошибок и, главное, оптимизации характеристик, а также и по укрупненному описанию готового ПС с целью проектирования нового по прототипу уже созданного (reverse engineering). Эти процессы, в первую очередь, традиционны для сопровождения и модификации ПС.

case03.gif

Рисунок 3.

Средства второго поколения, как правило, ориентированы на решение задачи комплексной автоматизации процесса разработки и сопровождения ИС. Хотя обычно результатом проектирования с помощью upper CASE является проектная документация, а в некоторых случаях и прототип интерфейса с конечным пользователем, имеется практическая потребность в автоматическом использовании проектной информации для генерации части ИС. В этой связи upper CASE обычно содержит мосты к СУБД и языкам четвертого поколения. С помощью этих мостов осуществляется генерация SQL-текстов для описания логической структуры баз данных или текстов на языке четвертого поколения (в некоторых случаях - каркасов программ на языке третьего поколения). Иногда объем генерируемой части может составлять до 50-70% прикладной программы. Однако создание работающего приложения все-таки остается задачей программиста. Работа на языках четвертого поколения, к тому же по хорошо проработанному проекту, позволяет существенно снизить трудоемкость создания программ, но обычно не позволяет вовсе исключить программистский труд.

Интегрированные CASE-средства, представленные на рынке, обычно поддерживают стандарт Министерства Обороны США DoD-STD-2167A, регламентирующий состав и содержание проектной документации на программное средство или ИС. Одновременно этот стандарт фактически регламентирует и модель жизненного цикла. Именно поэтому многие upper CASE содержат средства поддержки выпуска проектной документации в соответствии с требованиями этого стандарта.

Характеристика upper CASE

Средства upper CASE различаются применяемыми моделями систем и баз данных, степенью привязки к СУБД, степенью открытости и доступными платформами.

case04.gif

Рисунок 4.

Обычная схема реализации upper CASE состоит в том, что сердцем такого средства является объектно-ориентированное хранилище (repository), доступ к которому имеют все подсистемы. Хранилище содержит сведения о каждом элементе проекта отдельно вне зависимости от способа их получения: из графического редактора или таблиц. Общую схему современного upper CASE (Рис.4) можно охарактеризовать наличием подсистем для ввода и проверки моделей, управления конфигурацией проекта, интерфейсов с СУБД и языком четвертого поколения и генерации кода (включая средства реинжиниринга), а также средствами документирования проекта и средствами коммуникации с другими upper CASE. Последние только начали появляться в последнее время, особенно в связи с образованием консорциумов "вокруг" удачно реализованных хранилищ. Существуют upper CASE, ориентированные на поддержку определенных методологий и свободные от такой ориентации.

Классификация языков четвертого поколения

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

case05.gif

Рисунок 5.

Суть понятия "язык четвертого поколения" состоит в создании среды разработчика прикладной программы. Обычно в 4GL собственно язык программирования в явном виде отсутствует. Его заменяет совокупность заполняемых таблиц или рисуемых программистом экранов, меню и т.п. По способу создания прикладной программы 4GL подразделяются (Рис.5) на реализующие генерацию (Oracle), либо компилирующие, либо интерпретирующие прикладную программу (PRO-IV) с помощью библиотек процедур или классов (объектов). В последние годы появились более сложные интерпретаторы, основанные на сращивании некоторых свойств 4GL и upper CASE. Типичным примером являются средства класса WorkFlow. По отношению к СУБД языки четвертого поколения подразделяются на СУБД-зависимые и СУБД-независимые. Первые обычно поставляются вместе с СУБД (Oracle, Informix, Ingres, Progress и др.). Естественно, что они не имеют самостоятельного значения. СУБД-независимые 4GL обычно соединяются с несколькими СУБД с помощью мостов и позволяют создавать приложения для работы с несколькими СУБД в одной прикладной системе (PRO-IV, JAM, Uniface). Программы, написанные на таких языках, не только практически переносимы, но представляют собой абсолютно лучшее решение для гетерогенных сетей, а также систем, использующих несколько СУБД.

case06.gif

Рисунок 6.

Для функциональной полноты язык четвертого поколения должен обеспечивать (Рис.6) поддержку международных стандартов протоколов и интерфейсов, в том числе с конечным пользователем, генерацию отчетов, взаимосвязи с upper CASE и СУБД, прототипирование и реинжиниринг. Обычно 4GL обеспечивает создание переносимых приложений. Многие 4GL содержат словари разработки (аналог хранилища в upper CASE), что увеличивает их мощность и обеспечивает потребности взаимодействия с upper CASE и средств реинжиниринга.

Направления развития CASE-средств

Направления развития CASE-средств определяются потребностями практики. Для upper CASE они ориентированы на:

  • расширение применяемых моделей описания автоматизируемых систем;
  • охват автоматизацией новых архитектур ИС, включая схему клиент/сервер;
  • более глубокий уровень контроля целостности проекта;
  • интеграцию с многими 4GL, СУБД и CASE;
  • использованием новых платформ, прежде всего рабочих станций.

Для языков четвертого поколения:

  • заимствование элементов upper CASE для повышения эффективности 4GL при создании простых и средней сложности приложений;
  • появление и развитие проблемно-ориентированных 4GL;
  • развитие средств создания приложений для архитектуры клиент/сервер;
  • развитие графических, гипертекстовых и мультимедийных компонент.