|
||||||
|
||||||
|
||||||
|
||||||
Современные средства программной инженерии для создания открытых прикладных информационных системРазработка информационных систем становится в последние годы распространенной задачей, решаемой федеральными, региональными органами управления и коммерческими структурами: банками, торговыми домами и т.п. Проекты такого рода по масштабу могут быть небольшими, средними, большими и сверхбольшими (уникальными). Типичными примерами уникальных проектов являются информатизация Центрального Банка РФ, Государственной налоговой службы, управления космическими аппаратами и т.п. Обычно большие и уникальные проекты характеризуются многоуровневой структурой объектов автоматизации, их разнесенностью в пространстве, сложной технологией функционирования, базой данных большого объема и/или высокой сложности, временем жизни, превышающим срок жизни оборудования, использованием в информационной системе части уже имеющегося оборудования. Наиболее адекватной представляется разработка архитектуры сложных прикладных информационных систем (ИС) на основе концепции открытых систем. Основная цель создания систем как открытых состоит в возможности экономически и технически эффективного объединения в единую гетерогенную систему разных видов оборудования и программного обеспечения на основе применения стандартизованных интерфейсов между компонентами системы. Такой подход потенциально позволяет повторно использовать наиболее наукоемкий продукт - программные средства - на разных вычислительных платформах без перепрограммирования и тем самым экономить значительные финансовые средства. С другой стороны, такой подход позволяет поэтапно наращивать вычислительную мощность прикладной системы в соответствии как с потребностями пользователя, так и с его финансовыми возможностями. ![]() Международная организация по стандартизации ИСО выработала концепцию построения переносимых ИС из готовых переносимых компонент (Рис.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 и др.) и поддерживаются соответствующими средствами автоматизации. ![]() Рассмотрим виды моделей, которые потенциально необходимы для адекватного проектирования ИС и баз данных (Рис.2). Расширяя класс автоматизируемых систем, рассмотрим в качестве "максимального" объекта территориальную систему, функционирующую в режиме реального времени и имеющую распределенную базу (базы) данных. Описание такой системы требует применения нескольких моделей. Поток требований на такую систему может быть весьма сложным и иметь "собственные" правила построения, как правило, статистические. Примерами таких потоков могут быть "регулярные" - космическая обстановка при эксплуатации спутников, планового воздушного, морского, речного движения, работа прокатного стана и т.п.; либо нерегулярные - "налеты" самолетов для систем управления оружием, аварийные ситуации для систем управления реакторами и т.п. Модель внешней обстановки необходима прежде всего для проектирования систем реального времени, однако она может быть полезна и для территориальных систем класса MIS. В настоящее время такие модели на международном уровне пока не опубликованы. Сложная система, особенно территориальная, обычно имеет внутренние правила или ограничения на функционирование. Такие ограничения связаны обычно с разницей во времени, оснащении, функциональной нагрузки компонент системы, расположенных в разных точках пространства. Опубликованные к настоящему времени модели, используемые при обследовании (анализе) систем, пока не имеют средств описания таких правил и их использования при моделировании и отладке ИС. Наиболее распространенными и отработанными являются модели, описывающие поведение систем, технологию их работы без привязки ко времени (Gane & Sarson, Yourdon/DeMarco и др.) или в привязке ко времени (например, Buhr, Booch, разные варианты модели State / Transition). Ряд моделей ориентирован на описание структуры реализации ИС на основе предварительно полученных знаний о функционировании автоматизируемой системы. К этому классу относятся модели Constantine, часть объектно-ориентированной модели Booch и др. Модели данных в настоящее время развиты и широко используются для проектирования реляционных баз. Наиболее известными в этом классе являются модели IDEF1X (реляционная), модели Чена, Бахмана и др. Для сетевых и смешанных баз данных общепризнанные модели, по имеющейся информации, отсутствуют. Классификация CASE-средствСуществует два поколения CASE-средств (рис.3). Первое поколение характеризуется наличием разобщенных средств, повышающих производительность труда и улучшающих качество проектирования на отдельных этапах или операциях разработки. В настоящее время реализация CASE-средств направлена на создание интегрированной среды комплексной автоматизации процессов проектирования, разработки и сопровождения, реализующих некоторую методологию проектирования ПС. Это направление названо второй генерацией CASE. В средствах этой генерации охватываются не только традиционные процессы проектирования и разработки, но и работы по анализу готового ПС (re-engineering) с целью устранения ошибок и, главное, оптимизации характеристик, а также и по укрупненному описанию готового ПС с целью проектирования нового по прототипу уже созданного (reverse engineering). Эти процессы, в первую очередь, традиционны для сопровождения и модификации ПС. ![]() Средства второго поколения, как правило, ориентированы на решение задачи комплексной автоматизации процесса разработки и сопровождения ИС. Хотя обычно результатом проектирования с помощью upper CASE является проектная документация, а в некоторых случаях и прототип интерфейса с конечным пользователем, имеется практическая потребность в автоматическом использовании проектной информации для генерации части ИС. В этой связи upper CASE обычно содержит мосты к СУБД и языкам четвертого поколения. С помощью этих мостов осуществляется генерация SQL-текстов для описания логической структуры баз данных или текстов на языке четвертого поколения (в некоторых случаях - каркасов программ на языке третьего поколения). Иногда объем генерируемой части может составлять до 50-70% прикладной программы. Однако создание работающего приложения все-таки остается задачей программиста. Работа на языках четвертого поколения, к тому же по хорошо проработанному проекту, позволяет существенно снизить трудоемкость создания программ, но обычно не позволяет вовсе исключить программистский труд. Интегрированные CASE-средства, представленные на рынке, обычно поддерживают стандарт Министерства Обороны США DoD-STD-2167A, регламентирующий состав и содержание проектной документации на программное средство или ИС. Одновременно этот стандарт фактически регламентирует и модель жизненного цикла. Именно поэтому многие upper CASE содержат средства поддержки выпуска проектной документации в соответствии с требованиями этого стандарта. Характеристика upper CASEСредства upper CASE различаются применяемыми моделями систем и баз данных, степенью привязки к СУБД, степенью открытости и доступными платформами. ![]() Обычная схема реализации upper CASE состоит в том, что сердцем такого средства является объектно-ориентированное хранилище (repository), доступ к которому имеют все подсистемы. Хранилище содержит сведения о каждом элементе проекта отдельно вне зависимости от способа их получения: из графического редактора или таблиц. Общую схему современного upper CASE (Рис.4) можно охарактеризовать наличием подсистем для ввода и проверки моделей, управления конфигурацией проекта, интерфейсов с СУБД и языком четвертого поколения и генерации кода (включая средства реинжиниринга), а также средствами документирования проекта и средствами коммуникации с другими upper CASE. Последние только начали появляться в последнее время, особенно в связи с образованием консорциумов "вокруг" удачно реализованных хранилищ. Существуют upper CASE, ориентированные на поддержку определенных методологий и свободные от такой ориентации. Классификация языков четвертого поколенияЯзыки четвертого поколения представляют собой очень развитый к настоящему времени класс средств. Основная цель их создания состояла в том, чтобы снизить трудоемкость программирования и требования к уровню квалификации программистов. Одновременно в рамках таких языков решаются проблемы соблюдения в прикладных программах международных стандартов, поддержки метода создания приложений от прототипа, создания приложений сложной архитектуры, например, клиент/сервер. ![]() Суть понятия "язык четвертого поколения" состоит в создании среды разработчика прикладной программы. Обычно в 4GL собственно язык программирования в явном виде отсутствует. Его заменяет совокупность заполняемых таблиц или рисуемых программистом экранов, меню и т.п. По способу создания прикладной программы 4GL подразделяются (Рис.5) на реализующие генерацию (Oracle), либо компилирующие, либо интерпретирующие прикладную программу (PRO-IV) с помощью библиотек процедур или классов (объектов). В последние годы появились более сложные интерпретаторы, основанные на сращивании некоторых свойств 4GL и upper CASE. Типичным примером являются средства класса WorkFlow. По отношению к СУБД языки четвертого поколения подразделяются на СУБД-зависимые и СУБД-независимые. Первые обычно поставляются вместе с СУБД (Oracle, Informix, Ingres, Progress и др.). Естественно, что они не имеют самостоятельного значения. СУБД-независимые 4GL обычно соединяются с несколькими СУБД с помощью мостов и позволяют создавать приложения для работы с несколькими СУБД в одной прикладной системе (PRO-IV, JAM, Uniface). Программы, написанные на таких языках, не только практически переносимы, но представляют собой абсолютно лучшее решение для гетерогенных сетей, а также систем, использующих несколько СУБД. ![]() Для функциональной полноты язык четвертого поколения должен обеспечивать (Рис.6) поддержку международных стандартов протоколов и интерфейсов, в том числе с конечным пользователем, генерацию отчетов, взаимосвязи с upper CASE и СУБД, прототипирование и реинжиниринг. Обычно 4GL обеспечивает создание переносимых приложений. Многие 4GL содержат словари разработки (аналог хранилища в upper CASE), что увеличивает их мощность и обеспечивает потребности взаимодействия с upper CASE и средств реинжиниринга. Направления развития CASE-средствНаправления развития CASE-средств определяются потребностями практики. Для upper CASE они ориентированы на:
Для языков четвертого поколения:
|
||||||
> | ||||||
|