Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТАуправление-диссертация СПб.docx
Скачиваний:
8
Добавлен:
25.04.2019
Размер:
4.33 Mб
Скачать

1. Системный анализ проблемы создания специального программного обеспечения информационных систем

/./. Современные представления о специальном программном обеспечении информационных систем и управлении его качеством

В предисловии к учебному пособию "Информационные системы", под­готовленному кафедрой "Информационные системы в экономике и менедж­менте" Санкт-Петербургского государственного технического университета для студентов, обучающихся по специальности 071900 "Информационные системы (по областям применения)" указывается, что "Нет единой трактовки понятия "Информационная система1', устоявшейся классификации информа­ционных систем, общепринятого представления о структуре информационной системы,..." (/91/, с. 3). Приведенная цитата весьма наглядно характеризует сложившуюся практику: сочетание неопределенности понятия "информаци­онная система" с его широким применением (в том числе в документах нор­мативного характера). Дискуссии по поводу того, что считать информацион­ной системой, продолжаются и в настоящее время - например, /92/.

В целом преобладают следующие подходы к определению информаци­онной системы:

информационная система рассматривается как часть (первая очередь) АСУ /91/ (хотя, например, по классификации в /93/ АСУ является частным видом информационной системы);

информационная система фактически отождествляется с АСУ, но ис­пользование нового термина подчеркивает применение современных техно­логий, архитектур и средств, и преследует цель обойти негативную реакцию заказчиков (потребителей) на термин "АСУ", обусловленную во многом от­рицательным опытом внедрения всевозможных АСУ на протяжении несколь­ких десятилетий (например, /94,95/);

по /7/ под информационными системами понимается одна из двух раз­новидностей целевых систем автоматизации (другую составляют системы ре­ального времени);

информационной системой называют систему, реализующую информа­ционную технологию /96/.

Ряд авторов также использует термины "автоматизированная информа­ционная система", "информационно-техническая система*1, "информационно- управляющая система" с целью подчеркнуть использование средств вычисли­тельной техники и типы решаемых задач управления (см., например, /97- 101/), однако по /102/ любое управление есть выработка информационных, управляющих и организационных решений, и с этих позиций любая инфор­мационная система используется в целях управления.

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

Основными признаками (характерными свойствами) рассматриваемых в настоящей работе ИС являются:

принадлежность к автоматизированным системам;

преобладание интерактивного режима функционирования;

наличие собственной информационной базы;

создание в рамках работ по автоматизации функционального, системно- аналитического или организационно-технологического уровня (определение и детальное описание этих уровней приведено в /33, 81, 82,85/);

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

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

Для потенциальных потребителей рынка информационных технологий возможны три основных способа стать владельцами информационных сис­тем:

приобрести один или несколько из имеющихся на рынке "коробочных" продуктов и адаптировать его к конкретным практическим нуждам и услови­ям эксплуатации путем соответствующей организации применения;

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

осуществить разработку уникальной системы — либо собственными си­лами, либо путем привлечения сторонней организации-разработчика.

Суть, достоинства и недостатки каждого из этих способов обсуждаются, в частности, в /104, 105/. В данном случае важно лишь то, что потребитель становится владельцем информационной системы, в которой выполнение ал­горитмов содержательной обработки информации в интересах решения при­кладных задач возлагается на программное обеспечение. Основу такого ПО доставляет программная реализация специального математического обеспе­чения управления /106/.

В соответствии с /5/ ПО ИС в общем случае составляют общее программное обеспечение (ОПО) и специальное программное обеспечение (СПО).

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

Возвращаясь к трем перечисленным выше способам приобретения ИС, можно отметить, что в первом и втором случаях речь может идти о создании ИС на основе как ОПО, так и СПО, а в третьем только на основе СПО, кото­рое впоследствии может тиражироваться в качестве "типового решения".

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

В создании современных ИС за последнее десятилетие главный акцент усилий и затрат практически полностью сместился в область разработки именно специального программного обеспечения, что объясняется следую­щим:

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

рынок программных средств достаточно сильно насыщен общесистем­ным программным обеспечением — операционными системами, системами управления базами данных, сервисными программами и т. д., что делает не­рентабельной разработку таких средств в рамках проекта конкретной ИС.

Достижения современной индустрии программирования в совокупности со специфическими особенностями процессов создания программного обес­печения

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

Кроме того, исторически сложившееся жаргонное разделение средств вычислительной техники на "жесткое" и "мягкое" оборудование фактически привело к тому, что на практике длительное время зачастую к разработке СПО причисляли создание и тесно связанных с ним математического, инфор­мационного и лингвистического обеспечения, и рассматривали ИС как про­граммно-аппаратную систему, в которой все, что не относится к техническим средствам, есть средства программные (за исключением, разумеется, персона­ла, документации и т. д.) /107 -109/.

Учитывая вышеизложенное и*направленность данной работы, из даль­нейшего рассмотрения исключены вопросы создания (выбора) О ПО, а также технического, организационного, правового и др. обеспечения.

Особо следует отметить, что создание ИС и их СПО является одной из существенных составляющих жизнедеятельности любого современного инду­стриально развитого государства:

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

ИС применяются практически во всех сферах жизнедеятельности со­временного общества, а осуществление государственного управления, реше­ние

ряда других задач (например, оборонного характера) без применения со­ответствующих ИС объективно невозможно ввиду конечности интеллекту­альных возможностей человека по запоминанию и преобразованию информа­ции/106, 109/;

информационное противоборство, борьба за достижение превосходства в информационной сфере стали неотъемлемыми атрибутами национальной безопасности /111/ (в частности, в Доктрине информационной безопасности Российской Федерации указано следующее: "Третья составляющая нацио­нальных интересов Российской Федерации в информационной сфере включа­ет в себя развитие современных информационных технологий, отечественной индустрии информации, в том числе индустрии средств информатизации, те­лекоммуникации и связи, обеспечение потребностей внутреннего рынка ее продукцией и выход этой продукции на мировой рынок, а также обеспечение накопления, сохранности и эффективного использования отечественных ин­формационных ресурсов. Б современных условиях только на этой основе можно решать проблемы создания наукоемких технологий, технологического перевооружения промышленности, приумножения достижений отечествен­ной науки и техники"—/3, u. 1/).

В целом в масштабах государства потенциально возможные свойства ИС и их СПО определяются рядом компонентов, схематично показанных на рис. 1.1. Не останавливаясь на анализе приведенной схемы (она подробно рассматриваемся в /82/), можно заметить, что в конечном итоге определяю­щую роль играют содержание и технологическая поддержка создания СПО ИС, концентрирующие в себе достижения науки и техники и отражающие со­стоятельность всей системы производства СПО.

Все вышеизложенное свидетельствует о важности и актуальности работ, направленных на совершенствование создания СПО ИС.

Одним из центральных понятий технологический основ создания СПО ИС является понятие его жизненного цикла, роль которого определяется за­висимостью технологической схемы производства СПО и организационно- технического обеспечения технологии создания СПО от структуры и содер­жания процессов, составляющих жизненный цикл /112 -114/.

Рис. 1.1. Основные компоненты, определяющие потенциальные свойства ИС и их СПО

Жизненный цикл (ЖЦ) любого ПО обычно определяется как непрерыв­ный процесс, который начинается с момента принятия решения о создании ПО и заканчивается в момент его полного изъятия из эксплуатации /113/. Относительно ЖЦ ПО необходимо учитывать следующее: в настоящее время имеется достаточно много трактовок содержания ЖЦ ПО, зачастую принципиально отличающихся друг от друга в том числе за счет учета специфики рассматриваемого ПО (см., например, /112,114 -117/);

в основе жизненного цикла лежит та или иная схема жизненного цикла, фиксирующая последовательность смены стадий и этапов ЖЦ и соответст­вующих им состояний ПО (в настоящее время широко используются каскад­ная и спиральная схемы и их различные модификации - /7,118/);

ЖЦ СПО неразрывно связан с ЖЦ ИС;

имеется ряд стандартов, регламентирующих содержание состав и со­держание стадий и этапов Ж11 ПО, среди которых ведущую роль имеют меж­дународные стандарты ISO/IOC 12207 и 1ЕЕЕ 1074-1995, а также ГОСТ ЕСПД 19.102-77, ГОСТ 24.602-86 и ГОСТ 34.601-90 /115,119/.

Следует отметить, что ГОСТ ЕСПД и ГОСТы серий 24 и 34 предпола­гают использование каскадной схемы ЖЦ и во многом морально устарели. Кроме того, организациями - производителями СПО могут применяться от­раслевые стандарты и стандарты предприятий, уточняющие и дополняющие национальные стандарты применительно к организации создания программ­ного обеспечения определенного назначения и (или) в определенных услови­ях (как, например, отраслевой стандарт "Организация производства про­граммного обеспечения коммутационных систем. Технология промышленно­го производства программного продукта. Основные положения" /120/, и ме­тодика Oracle CDM (Custom Development Method) по разработке прикладных информационных систем, являющаяся стандартом предприятия /121/).

В силу своего предназначения (решение прикладных задач) СПО ИС всегда является программным продуктом (ПП) - то есть продуктом промыш­ленного производства, отчуждаемым от разработчиков с целью его после­дующей эксплуатации 1X221. СПО как вид промышленной продукции облада­ет рядом особенностей* основными из которых являются:

уникальный характер производства* обусловленный уникальностью са­мих ИС и областей их применения - как правило, СПО ИС создается в еди­ничных экземплярах* разрабатывается зачасгую годами и непереносимо из одной ИС в другую без существенной модификации;

сложность и объем СПО требуют коллективной организации труда по его созданию, причем коллективы разработчиков включают в себя специали­стов различного профиля;

создание СПО осуществляется в тесной взаимосвязи с созданием других видов обеспечения ИС;

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

Существенную специфику в создание СПО вносят и две объективные закономерности* отрицательно сказывающиеся на общей эффективности про­цесса создания СПО:

наличие так называемого "мертвого времени ошибки"* то есть сущест­вование отрезки технологического времени, на протяжении которых ошибка какого-либо этапа проектирования себя не обнаруживает, причем наиболее длителен период недосягаемости для выявления ошибок конечного пользова­теля (заказчика)/1/;

стоимость обнаружения и исправления каждой ошибки не линейно (в 10 - 100 раз) возрастает по мере приближения к завершающим этапам созда­ния СПО/123/.

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

Свойства СПО и процесса его создания характеризуются показателями качества. Поскольку требуемое качество (или требования к качеству) является внешним критерием процесса создания СГ10, проблема управления качеством является одной из центральных проблем промышленного производства СПО.

Так, по данным Департамента но торговле и промышленности Велико­британии при внедрении проектов информационных технологий на предпри­ятиях потери из-за низкого качества программного обеспечения составляют в среднем около 20% от общего объема потерь, а по разным оценкам аналогич­ный показатель для России достигает величины от 30 до 50% /124/.

Существенно, что именно несоответствие качества создаваемого СПО предъявляемым к нему требованиям, выявляемое в ходе промежуточного или итогового контроля, придаем процессу создания СПО итеративный характер.

Организация управления качеством требует решения ряда задач, под­робно рассматриваемых, например, в /122, 125, 126/, среди которых цен­тральное место занимает определение самого понятия качества СПО и переч­ня характеризующих его показателей.

Несмотря на то, что попытки формального определения качества ПО осуществлялись практически на всем историческом периоде программирова­ния как вида деятельности, удовлетворительного решения этой задачи до сих пор не найдено. Предложены самые различные подходы к трактовке понятия качества ПО, в том числе с разбивкой показателей качества по стадиям жиз­ненного цикла, аспектам применения и т. д. (/126 - 131/ и др.). Имеются и не­востребованные на практике государственные стандарты "первого поколения»

в области качества ПО /132, 133/, так как попытки унифицировать пока­затели качества ПО оказались несостоятельными в силу зависимости их пе­речня от целого ряда факторов, которые делают невозможным применение подобного подхода.

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

Данный подход базируется на ряде международных и национальных стандартов (стандарты группы "ISO 9000" (имеются ряд соответствующих стандартов ГОСТ Р), ISO 8402, ISO/IEC 12119, ГОСТ Р ИСО 9126 и др. - /115, 119, 134/), а основными используемыми моделями качества являются модели СММ и Trillium /115, 128, 135 - 138/.

Capability Maturity Model (СММ) была разработана Software Engineering Institute (S1:I) совместно с Университетом Корнеги-Меллона и рассматривает процесс разработки программного обеспечения как поэтапное достижение компанией определенного уровня зрелости. Согласно модели СММ выделя­ется пять уровней управления качеством в ходе создания ПО - на первом уровне каждый проект рассматривается как абсолютно новая задача, а на пя­том уровне все действия заранее расписаны и происходит постоянный про­цесс их усовершенствования.

Модель Trillium, созданная в 1994.г. фирмами Bell Canada, Northern Telecom и Bell-Northern Research, основана на CMM и дает иную трактовку уровней управления качеством.

Одна из важнейших особенностей управления качеством именно СПО состоит в том, что ИС либо создаются как уникальные изделия, либо тиражи­руются в виде относительно малого количества экземпляров. Это делает не­возможным применение методов управления качеством, широко используе­мых при осуществлении массового производства (как, например, бета- тестирование ОПО). Применение методологий типа Total Quality Management (TQM) в данном случае становится весьма проблематичным в силу их ориен­тации на потоковое производство с "обратной связью" /139/.

Как следует из вышеизложенного, современное состояние в области ка­чества ПО (а следовательно - и СПО) можно охарактеризовать следующим образом:

отсутствует единая система показателей качества, и возможность ее соз­дания представляется весьма сомнительной;

осуществляется переход от попыток стандартизации понятия и показа­телей качества ПО к унификации и стандартизации систем управления каче­ством у разработчиков;

оценка производителей ПО с позиций качества создаваемого ПО осуще­ствляется (должна осуществляться) по степени совершенства используемой ими системы управления качеством создаваемого ПО, определяемой в резуль­тате аудита и сертификации.

Таким образом, роль и значение СПО ИС в современной жизни весьма высоки и продолжают возрастать, процесс его создания во многом остается искусством, критерии этого процесса и его результатов весьма расплывчаты, а капшаловложения в создание СПО ИС характеризуются сочетанием относи­тельно высоких риска и прибыли /140 -142/.

  1. Анализ положения в области технологической поддержки жизнен­ного цикла специального программного обеспечения информационных систем

В мировой практике создания ПО достаточно длительное время имеет место противоречие между требуемыми объемом и функциональностью соз­даваемого ПО, и его качеством, что обусловлено:

ростом возможностей вычислительной техники, расширением сферы применения ЭВМ, возрастанием перечня и важности решаемых с помощью ПО задач;

видоизменением продукта труда — ПО приобрело характер промыш­ленного продукта, его разработка носит коллективный характер;

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

Как следствие сложившейся ситуации, более чем два десятилетия ди­намика роста производительности труда программ истов на несколько поряд­ков ниже динамики снижения стоимости ЭВМ и роста их вычислительной мощности и надежности /122/.

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

Все вышеизложенное в полной мере относится и к СПО, для которого можно выявить две стратегии исследований в области повышения качества СПО и производительности процессов его создания: поиск частных решений п переход к индустрии создания СПО.

Первая стратегия предполагает создание и применение высокоэффек­тивных средств (подходов) методологического и инструмен1ального характе­ра применительно к конкретным типам СПО, областям применения создавае­мого СПО, классам решаемых посредством СПО задач и т. д. В этом случае достигаемый эффект является следствием узкой специализации создаваемых и используемых средств. В зависимости от степени формальности, направ­ленности, инструментальной поддержки и широты охвата работ по созданию СПО частные решения носят название методологий, принципов, стратегий, подходов, методов, технологий и т. д. В качестве примеров частных решений различного характера, получивших развитие в последние годы, можно при­вести визуальное и сборочное программирование, технологии COM (Compo­nent Object Model) и ActiveX, MIDAS (Multi-tiered Distributed Application Ser­vices) и CORBA (Common Object Request Broker Architecture) и т. д. (/143 - 148/ и др.)- Составление детальной классификации и подробного перечня ча­стных решений является практически неразрешимой задачей - большинство организаций, делающих ставку на создание СПО, стремятся либо создать свое "ноу хау", либо "диктовать свою моду", заявляя о создании оригиналь­ных методологических и инструментальных средства и стремясь возвести их в ранг стандарта "ле факто".

Вторая стратегия предполагает проведение работ по унификации, стандартизации процессов создания СПО, разработку и внедрение индустри­альных технологий его производства. В идеале данное направление преду­сматривает создание цехов и заводов гибкого автоматизированного производ­ства ПО, организуемого по конвейерному или роторному принципу /122, 125, 126/.

На сегодняшний день абсолютное большинство работ в области повы­шения эффективности процессов создания ПО выполняется в рамках первого направления:

оно более экономично (с позиций затрат и сроков их окупаемости);

объем и сложность СПО, создаваемого мелкими и средними производи­телями, не порождают в явном виде проблем, требующих обязательного пе­рехода к промышленным методам производства ПО.

Применительно к созданию СПО термин "технология" используют в различных аспектах - методологическом, реализационном, индустриальном и прагматическом /70/ (рис. 1.2).

Не приводя детального описания всех компонентов, показанных на рис. 1.2 (оно имеется в /60, 70/), следует отметить, что технологии проектирова­ния, разработки, изготовления и сопровождения СПО делают акцент на инду­стриальных аспектах создания, внедрения и поддержания (сопровождения) СПО. В их основе лежит формализация схемы жизненного цикла СПО, опре­деление составляющих се процессов (работ, операций), методологическая и инструментальная поддержка заявленных стадий и этапов жизненного цикла.

Первенство в данном направлении достаточно долго прочно удержива­ют CASE-технологии (Computer-Aided Software/System Engineering) (/7, 118/ и др.). CASE-технология представляет собой совокупность методологий анали­за, проектирования, разработки и сопровождения сложных систем программ­ного обеспечения, поддержанную комплексом средств автоматизации (CASE- средств). В свою очередь, С А SB-средства - это инструментарий для систем­ных аналитиков, разработчиков и программистов, позволяющий значительно увеличить производительность их труда. Имеются вариации CASE- технологий, учитывающие специфику количества и организации труда разра­ботчиков, характер создаваемого СПО и т. д. - например, методология быст­рой разработки приложений RAD (Rapid Application Development) (соотноше­ние CASE и RAD рассматривается, в частности, в /149/).

В качестве примера типовой последовательности работ, предусматри­ваемой CASE-технологиями, на рис. 1.3 приведена схема создания ИС, под­держиваемая CASE-средством Designer/2000 фирмы Oracle /150/, которое от­носят к числу наиболее развитых и эффективных средств /151/. В соответст­вии с базирующимися на методологии IDEFlx /152, 153/ CDM фирмы Oracle (см. п. 1.1) и приведенной схемой основным содержанием создания ИС явля­ется разработка ряда формализованных описаний (моделей), фиксирующих функциональную структуру ИС, ее информационную модель и т. д., и дальнейшая

полуавтоматическая генерация структуры базы данных и функцио­нальных приложений.

Из всей совокупности индустриальных технологий наиболее объемлю­щими являются технологии промышленного производства программного продукта (ТПППП). Под Tl 1111111 понимается технология, способная в тече­ние заданного времени производить определенное количество копий про­граммных средств или больших программных комплексов, реализованная в виде технологической линии как совокупности автоматизированных звеньев, специализированных по стадиям, этапам и операциям создания I !П, обеспечивающих

объемлю­щими являются технологии промышленного производства программного продукта (ТПППП). Под TI1111 111 понимается технология регламентированное, своевременное и качественное выполнение всех операций, предусмотренных технологическим процессом /122,125/. По/125,126/ТПППП должна: быть "гибкой", "базовой" и "сквозной";

иерархически вписываться в производство программных комплексов, программно-аппаратных комплексов и систем как ее органическая часть;

содержать базовое ядро и механизм адаптации дня настройки на созда­ние СПО в рамках конкретного проекта;

обеспечивать декомпозицию процесса производства до уровня элемен­тарных технологических операций;

максимально автоматизировать технологические операции и процес­сы;

обеспечивать возможность использования (участия) специалистов "по­ниженного" уровня профессиональных способностей - то есть ориентирована на "массового" производителя;

регламентировать и обеспечивать опережающее документирование ре­зультатов операций;

обеспечивать возможность нормирования интеллектуального труда раз­работчиков, планирования и управления процессом производства.

Имеющиеся концепции ТПППП /ИЗ, 117, 122, 154, 155/базируются на декомпозиции процессов, составляющих жизненный цикл ПО, и средств, обеспечивающих технологические процессы жизненного цикла. Согласно /113/ базовыми компонентами технологической системы производства ПП являются:

методическое обеспечение технологии, которое составляют принятые принципы построения технологии с поддерживающей ее технологической системой, а также конкретные методы создания ПП;

обеспечение внедрения технологии - рекомендации, обеспечивающие устойчивость процесса внедрения технологической системы и сокращающие его трудоемкость;

организационно-технологическое обеспечение технологии, которое рег­ламентирует вопросы организации работ в соответствии с принятой техноло­гией;

инструментально-технологическое обеспечение пехнологической сис­темы, предназначенное для эффективного выполнения работ в рамках техно­логической системы.

В настоящее время имеется достаточно большое количество техноло­гий, в различное время заявленных как ТТТТ1ГТП - например, семейство тех­нологий "Яуза", "Протва", "Прометей", Н-технология, МВП-Т технология, RTST++ и др. (/120, 155-158/). Причинами многообразия ТПППП являются ориентация авторов технологии на определенные классы разрабатываемых программных средств, вид получаемого продукта, типы средств вычисли­тельной техники. Однако практически всем имеющимся технологиям прису­щи определенные недостачки, к числу основных из которых можно отнести: наличие ограничений, резко сужающих возможности применения (ис­пользуемые средства, классы задач и типы создаваемого СПО);

ориентация на процессы непосредственно программирования и слабая поддержка процессов проектирования и (или) комплексирования и аттесто­вания конечной продукции;

сложность решения ряда принципиальных проблем, вытекающих из пе­речисленных выше требований к ТПППП.

Кроме того, опыт последнего десятилетия показал, что высокие темпы эволюции парка средств вычислительной техники не дают возможности вы­полнить анализ объекта исследования (процессов промышленного создания ПО) и синтез технологических решений в сроки, соизмеримые со сроком морального

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

Существенно, что в нашей стране интерес к созданию ТПППП в по­следнее время значительно снизился, что вызвано следующими основными причинами:

возникающие сомнения в состоятельности указанного выше подхода к формированию концепций ТПППП, сформированного в 80-х годах, в услови­ях лавинообразного роста номенклатуры средств вычислительной техники и инструментальных средств создания С110;

на смену государственным заказчикам "больших" АСУ /(08/ пришло множество заказчиков из сферы малого и среднего бизнеса, вынужденных решать "сиюминутные11 проблемы путем внедрения ИС (складской и иной учет, бухгалтерские расчеты, электронная коммерция и т. д.), для создания которых технологии класса ТПППП не требуются.

В то же время объективно существует отдельный и достаточно большой класс ИС, к которым очносятся как эксплуатируемые АСУ (и в большинстве своем морально, а чаще - и технически устаревшие), так и вновь создаваемые ИС в области государственного управления, обороны и безопасности и т. д. Для таких систем, называемых далее в настоящей работе информационно- управляющими автоматизированными системами (ИУАС), характерно сле­дующее:

большие объем, сложность и распределенное асинхронное функциони­рование разнородных компонентов;

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

по используемым техническими и программными средствам системами, уже имеющимися в эксплуатации (см., например,/159,160/);

сочетание процессов организационного и технологических* управле­ния;

достаточно высокая длительность создания, сложность задач проекти­рования, корпоративный характер процесса создания;

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

принадлежность к ''критическим*1 системам с повышенными требова­ниями к их программно-технологической безопасности/161/.

Когда возникает вопрос о создании СПО ИС описанного выше класса, переход к промышленным технологиям становится единственной разумной альтернативой (только CASE-тсхнологий, которые не обеспечивают решение всех возникающих задач (см., например, /56/), в данном случае крайне недос­таточно), причем использование импортируемых технологий и средств, равно как и размещение заказов на создание этого СПО за рубежом, являются недо­пустимыми/21, 161/.

ТПППЛ для разработки СПО ИУАС в настоящее время отсутствует, а по ряду причин (и прежде всего - лавинообразного роста количества эксплуа­тируемых ИУАС, нуждающихся в технической модернизации, неизбежно приводящей к необходимости реинжиниринга их СПО) можно ожидать, что потребность в технологиях подобного класса в ближайшее время будет воз­растать /82/,

  1. Причины ограниченности адаптации функциональности информа­ционных систем в процессе их эксплуатации

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

целей создания ИС (Sc), предъявляемых к ней требований (SR) и ресур­сов, выделяемых на ее создание (S\V);

перечня задач (Z), подлежащих решению с помощью данной ИС и тре­бований к их решению (Zr) (отличаются от S« тем, что формулируются при­менительно к каждой задаче из Z и носят полностью функциональный харак­тер - оперативность решения задачи, точность получаемых результатов, фор­ма представления результатов и т. д.);

методик решения задач (ZM), определяющих организацию .решения за* дач из Z с помощью данной ИС.

Далее, исходя из U = (Sc» SR, Sw, Z, ZR, ZM) выбирается система управ­ления базой данных (СУБД), формируется база данных (БД) (а точнее - опре­деляется ее структура X* и производится разметка таблиц и каталогов базы данных) и тем или иным образом (разработка, адаптация или использование готовых реализаций) формируется набор функциональных приложений, в ко­торых программно реализовано множество алгоритмов содержательной обра­ботки данных Ха, объединяемых управляющими алгоритмами функциональ­ных приложений.

Для упрощения дальнейшего рассмотрения целесообразно считать, что управляющие алгоритмы функциональных приложений не зависят от содер­жания Xj и Хв - их задачей является ожидание действий пользователя, инициа­лизирующих выполнение какого-либо процесса вычислений, и вызов соответ­ствующего элемента из X» Такое упрощение не снижает общности дальней­ших рассуждений — оно носит, в основном, конструктивный характер (влияет только на программную реализацию архитектуры ИС и определяет конструк­цию приложений), во многом соответствует современной идеологии объект- но-ориснтировакной реализации программ /103,162/ и даже канонизируется в отдельных работах по методологии создания приложений /163/.

Таким образом, содержательно при создании ИС осуществляется про­цесс синтела, который можно записать как

[ (Sc, SR, Sw) -»(Z,ZR)->ZMJ^(Xd,Xa) (1.1)

Рассматривая создание конкретной ИС, от (1.1) можно перейти к записи Щс) - On (tc), (U(tc)) = 0р (0„ (О),

где U(t«) - совокупность (Sc, Sr, Sw, Z, Z«, ZM), зафиксированная при создании ИС в некоторый момент времени 1С (более строго, 1с представляет

собой интервал проектирования системы, на котором определяются состав­ляющие U, но в данном контексте это несущественно);

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

0Р - оператор конкретного процесса реализации результатов проектиро­вания в совокупность алгоритмов обработки и структур баз данных.

Такая формализация содержания создания ИС является несколько по­верхностной, однако в данном случае важен факт, что U(tc) - 0„ (tc) = const (если не рассматривать исправление ошибок в U).

Закономерность (1.1), отражающую сущность императивного програм­мирования (а точнее - реализации ИС с использованием императивного про­граммирования), один из 4,огцови >современного программирования, автор языков протраммирования Паскаль и Оберон проф. Н. Вирт зафиксировал даже в названии своего бестселлера "Алгоритмы + структуры данных н про­граммы" /164/. И хотя речь в этой монографии шла не об ИС, а о более "при­митивных" программных системах второй половины 70-х годов, общая зако­номерность сохранила свою справедливость для современных ИС. Более того

  • она получила гипертрофированное развитие: большинство разработчиков ИС, являющихся поклонниками литературы "что-нибудь за 21 день'1 скажет, что создать относительно "небольшую" ИС довольно просто - надо взять СА$К-средства, описать структуру данных, экранные формы и формы отче­тов, и выполнить автоматическую кодогенерацию, а если потребуется, то до­полнить получившийся код приложений уникальной реализацией функцио­нальных возможностей (конкретные расчетные формулы, специфические пре­образования данных и т. д.). А если что-то не учли, пропустили - для этого

случая и существует спиральная схема ЖЦ, и можно выполнить еще одну итерацию разработки. Некая доля истины в таком ответе есть - достаточно вернуться к рис. 1.3.

Несмотря на все недостатки подобного подхода к созданию ИС (см. критический анализ в /165» 166/)» он весьма популярен в силу относительно низких временных и материальных затрат, необходимых для получения пред­ставляемого пользователям результата разработки (особенно первой, а воз­можно - и единственной редакции). Справедливости ради следует отметить, что применение данного подхода зачастую оправдано - он, несомненно, име­ет свою область эффективного применения, и альтернатив ему с точки зрения возможности повышения производительности труда разработчиков практиче­ски нет.

Более того, большинство современных методологии создания информа­ционных систем (особенно корпоративных) предполагают концентрацию уси­лий проектировщиков на начальных этапах проектирования (что само по себе абсолютно справедливо), предполагая максимально возможную автоматиза­цию процесса реализации (оператора 0Р) за счет автоматической кодогенера- ции в рамках типовой архитектуры и технологии обработки (среди которых лидирующее положение занимает архитектура "клиент-сервер" и ее раз­личные модификации) - /103,118,153,167 - 172/ и др.

Тем не менее, как показано ниже, проблемы эффективного автоматизи­рованною решения прикладных задач с созданием ИС не заканчиваются.

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

функциональность ИС находится в прямой зависимости от структуры БД и алгоритмов функциональных приложений;

состоятельность ИС в решении конкретных прикладных задач опреде­ляется ее функциональностью и содержимым (наполнением) ее базы данных в виде совокупности конкретных данных D (см. рис. 1.4).

Следует заметить, что термины "функциональность" и "состоятель­ность", применяемые в отношении ИС (см., например, /173/) можно тракто­вать как потенциал ИС и ее фактическую готовность к решению прикладных задач.

В силу объективных законов развития природы и общества любая сис­тема не является статичной. В том числе это относится и к суперсистемам, за­дающим определенные требования к ИС, и к предметным областям примене­ния ИС, также определяющим часть требований. Кроме того, может иметь место изменение сопряжений ИС с взаимодействующими системами - при наличии таких систем.

Таким образом, требования к ИС потенциально динамичны. В данном контексте под требованиями понимается вся совокупность U = (Sc» Sr, Sw, Z, Zr, Zm) - при этом даже не важно, как они взаимосвязаны, важно лишь то, что реализация (Х^ А*) выполнена разработчиками для некоторого U, зафиксиро­ванного в ходе разработки как U(tc) и до сдачи системы в эксплуатацию счи­тавшегося неизменным.

Определим различие между требованиями U(tc), зафиксированными при создании ИС и реализованными в ней, и требованиями, которым должна от­вечать система п соответствии со свойствами ее окружения в данный момент времени [.'(0 как AU(t,tc) = U(t) - U(tc). Очевидно, что дискретно-непрерывная функция AU(t,tc) оо при t оо4

Чем больше величина AU(t,tc), тем меньше эффективность ИС как инст­румента решения прикладных задач. Рано или поздно наступает момент t*p, когда AU(t*p,tc) начинает превышать некоторую критическую величину ДЦф, после чего эксплуатация ИС нецелесообразна или невозможна. Причем речь

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

Своевременная модернизация ИС позволяет уменьшить величину AU, однако любые изменения в U и, как следствие, в (Х;; А») требуют участия раз­работчиков ИС и не всегда тривиальны. Достаточно легко описать часто встречающуюся на практике ситуацию, когда эффективнее (дешевле и быст­рее) создать новую ИС, чем вносить изменения в эксплуатируемую систему. Также можно привести ряд примеров, когда по тем или иным причинам мо­мент tKp наступал еще до завершения создания системы.

ИС может иметь некоторую способность адаптации к изменениям U, которая позволяет обеспечить достаточно эффективное применение ИС в не­которой области U(tc)±Ua и может быть осуществлена без привлечения разра­ботчиков. Однако такая адаптация по определению не может затрагивать X, и, как правило, весьма ограничена по возможностям изменения Х^. На практике количество ИС, в которых пользователю предоставляется некоторая возмож­ность изменения состава хранимых данных, весьма мало, а способы реализа­ции этих возможностей, как правило, уникальны и не переносимы без суще­ственной модификации на конструкции других ИС - см., например, /173 - 176/. Поэтому данная возможность никак не решает в методологическом пла­не проблему корректировки пользователем структуры БД - тем более, что та­кая корректировка зачастую требует и одновременной коррекции программ­ных кодов процедур X,.

В классификации ИС, приведенной в /93/, подкласс 1 определяется как "системы с неизменным алгоритмом обработки, но изменяющимися данны­ми". а подкласс 2 - как "системы с адаптивным алгоритмом обработки, то есть алгоритм настраивается на условия применения; настройка осуществляется

путем либо изменения управляющих коэффициентов, либо автоматиче­ского выбора алгоритма из множества равносильных алгоритмов" (/93/, с. 108)-рис. 1.5.

Социальное

пространство

Рис. 1.5. Классификация информационных систем (по С. Расторгуеву)

Нели речь идет об автоматизированных ИС, то для систем подкласса 1 адаптация достигается варьированием содержимого БД, а для систем под­класса 2 первом случае возможность адаптации отсутствует, а во втором она ограничена выбором компонентов из множества X* и не предполагает его из­менения (поэтому сочетание "адаптивный алгоритм обработки" в приведен­ной цитате несколько некорректно - речь идет, скорее, об "алгоритме адап­тивной обработки”, ибо сам алгоритм как совокупность императивов фикси­рован).

Привлечение разработчиков для модернизации системы имеет смысл, если U(t)«£ (U(tc)±Ua). Модернизация позволяет внести изменения в (Aj. Аа), преобразовав их в (V. V) и обеспечив U(t<>) = U(t) (или, по крайней мере, U(tc) » U(t)) (см. рис. 1.4).

В зависимости от величины различий U(t) и U(cc), а также ряда других факторов модернизация может осуществляться в рамках или сопровождения, или перепроектирования (реинжиниринга) ИС. Существенно, что затраты на модернизацию Wm зависят от величины функционалов различий n(U(t), U(tc))

и n((^.uw.a

На практике разработчики ИС и их СПО признают актуальность, слож­ность и высокую стоимость сопровождения СПО (см, например, оценки в /177 - 179/). В то же время на фоне создания ИС проблематика ее последую­щего сопровождения как бы отходит "на второй план": заказчики в большин­стве своем не могут адекватно представить и оценить, во что выльется сопро­вождение приобретаемой ими ИС (какую "головную боль" они приобретают, и в какую зависимость от разработчиков попадают), а разработчиков такое положение устраивает, ибо дает гарантированный источник отнюдь не ма­леньких доходов.

В связи с вышеизложенным можно также отметить, что широко распро­страненные CASE-тсхнологии и средства, в частности, направлены не только и не столько на повышение производительности труда программистов, как это часто декларируется, но и для того, чтобы "отодвинуть" момент наступле­ния Ц) путем сокращения сроков создания ИС и использования при разработ­ке как можно более адекватного описания U, а также сократить затраты на сопровождение путем максимально возможного упрощения технологических действий по модернизации ИС. Повышение производительности труда в дан­ном случае есть способ (а точнее - один из способов) достижения этой цели. Таким образом, основной эффект в технологических достижениях последнего

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

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

Описанная выше ситуация хорошо известна и осознанна. В частности, дебаты по поводу кризиса императивного программирования, ограниченно­сти алгоритмическою подхода к описанию процессов, несовершенства техно­логий создания ПО и т. д. продолжаются уже несколько десятилетий — см., например,/125,128, 146, 167,180/.

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

  1. Структуризация проблемы совершенствования создания и обеспе­чения эффективного функционирования специального программного обеспе­чения информационных систем

Обобщая изложенное в пп. 1.1-1.3, можно утверждать, что в настоящее время в области создания и обеспечения эффективного функционирования СПО ИС имеется весьма актуальная проблема, заключающаяся в необходи­мости совершенствования способов и средств осуществления этих процессов, обусловленная сложившимся несоответствием между:

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

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

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

уникальные или тиражируемые ИС длительного применения с потенци­альной неопределенностью и (или) высокой динамикой требований к их функциональности;

ИС однократного применения;

ИУАС, основные особенности которых перечислены в п. 1.2.

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

Д ля ИС первого типа (ИС длительного применения с потенциальной неопределенностью и (или) высокой динамикой требований к их функцио­нальности) существующая технологическая поддержка создания СПО наибо­лее эффективна и направлена на сокращение сроков создания СПО, обла­дающее требуемым качеством, затрат на его создание и сопровождение (спо­собы достижения этих целей подробно рассматриваются в современных CASE-технологиях "второго поколения" -/7,118,181,182/ и др.).

По отношению к ИС первого типа рассматриваемая проблема транс­формируется в проблему необходимости совершенствования возможностей адаптации функциональности подобных ИС, вызванную противоречием меж­ду статичностью их функциональности и динамикой предъявляемых к ним функциональных требований. Основной причиной данного противоречия яв­ляется архитектурно-технологические особенности используемой методоло­гии создания ИС первого типа (в том числе на базе современных CASE- технологий и объектно-ориентированного подхода, ибо объекты как средство абстракции /162,183/ также по сути своей статичны), что ведет к сложности и высокой стоимости изменения функциональности ИС во время их эксплуата­ции, и снижает их общую эффективность применения (см. п. 1.3). Очевидный подход к решению данной проблемы заключается в поиске принципов, мето­дологии и способов построения СПО и ИС в целом, обеспечивающих сущест­венно более высокую степень адаптивности функциональности в сочетании с максимальным осуществлением этой адаптации непосредственно пользовате­лями ИС.

ИС второго типа - это ИС, создаваемые для однократного применения, то ссть для использования в течение относительно непродолжительного пе­риода времени, ограниченного решением единовременной (уникальной, разо­вой) задачи. К ИС этого типа относятся, например, системы информационной поддержки разного рода выставок и конференций, средства разработки пере­ходных

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

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

Как отмечалось в п. 1.2, существенным тормозом в создании СПО ИС третьего типа (ИУАС) является отсутствие соответствующих ТПППП, обу­словленное противоречием между требованием к унификации процессов соз­дания СПО ИУАС в рамках ТПППП и уникальностью создаваемых больших и сложных (различие в этих понятиях трактуется по /108, 184/) ИУАС, а так­же необходимостью фиксации базиса технологии и динамикой технологиче­ской поддержки создания СПО (в широком смысле этой поддержки - то есть принципов, подходов, методов, средств: концепций, архитектур, профилей, протоколов, средств разработки и реализации и т. д.).

Основной задачей, подлежащей решению в этой области, является под­держка процессов создания СПО ИУАС широким набором средств решения задач проектирования, разработки и управления качеством, которые не на­кладывают ограничений на организацию и содержание осуществляемых процессов

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

Проблематика создания ИС всех трех указанных выше типов достаточ­но взаимосвязана:

задачи повышения эффективности функционирования СПО ИС предпо­лагается решать посредством адекватных решений по его созданию;

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

решение указанной выше задачи для ИС первого и второго типа дает возможность поиска новых подходов к формированию организационно- методологического базиса ТПППП СПО ИУАС, предполагающих создание ядра ТПП! III с высокой степенью его адаптации в интересах конкретных про­ектов ИУАС.

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

  1. Возможность повышения эффективности создания и. фуикциоии- рования информационных систем путем внесения элементов синтаксической вариантности и метауправления

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

Проведенный анализ результатов исследований в данной области и опыта создания ИС с интуитивными частными решениями по обеспечению повышенной адаптируемости этих систем (/103, 168, 174, 185 - 189/ и др.) по­зволяет предположить, что перспективным нетрадиционным подходом к по­лучению удовлетворительного решения рассматриваемой проблемы может послужить переход к созданию ИС более высокой семантической сложности в сочетании с введением элементов метауправления функциональностью ИС.

Для определения класса семантической сложности, к которому принад­лежит информационная система, можно воспользоваться классификацией се­мантической сложности формальных лингвистических систем, предложенной А. И. Губинскнм /8/. В ней используются следующие обозначения:

у - множество символов алфавита;

v - множество правил соединения символов алфавита друг с другом в выражения (цепочки), допустимые (правильные) в данном языке;

<v,v> - синтаксис системы;

а = cty иа, - множество правил изменения синтаксиса (а* - множество правил изменения синтаксиса, ocv - множество правил изменения правил со­единения символов);

λ - множество семантически правильных выражений или формул (на­бор аксиом или истинно интерпретируемых правильных выражений или фор­мул);

<0 - множество правил вывода (множество правил получения следствий из X - новых правильно построенных выражений);

<Х,й)> - семантика системы;

Р — рх ^ Р«й - множество правил изменения семангики.

Согласно /8/ (с. 51), "... по нарастающей семантической сложности можно выделить следующие классы систем:

Фоо ~ формальные синтаксически неизменные системы, относящиеся к классу несемантических, описываемые кортежем

<T>oi>= <7,v>;

Ф01 - формальные синтаксически-варнантные системы, относящиеся к классу несемантических (Ф<>), описываемые кортежем

Фо1 = <Y,v,a>;

Ф| ~ формальные семантически неизменные системы, описываемые кортежем

Ф, = <Y,v,ot1X><D>;

Ф2 - семиотические (семантически изменяющиеся, или суперсеманти- ческие) системы, описываемые кортежем

Фг = <y,v,a,X,co,f)>

Данная классификация воспроизведена полностью как имеющая ключе­вое значение для настоящего исследования и трактовки его результатов.

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

Абстрагируясь от собственно вычислительной среды ИС, семантики ис­пользованных языков программирования и реализационных вариантов конст­рукции составляющих ИС, и используя описание компонентов ИС, приведен­ное в п. 1.3, можно считать, что описания реализованной структуры БД и реа­лизуемых процессов обработки данных и есть предложения, описывающие функциональность ИС.

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

Алфавит у языка указанной формальной лингвистической системы (ко­торый можно рассматривать как язык реализации функциональности (ЯРФ)) образуют идентификаторы структур хранения данных в БД и заданных на них отношений (yd), а также идентификаторы алгоритмов обработки данных (у,). Синтаксис ЯРФ определяется его алфавитом и правилами v композиции сим­волов алфавита в логически правильные (синтаксически допустимые) цепоч­ки (предложения), описывающие структуру БД (то есть А^) и процессы обра­ботки данных (то есть кл). В свою очередь, правила v есть правила, являю­щиеся результату приложения синтаксических правил инструментальных лингвистических средств, использованных при создании БД и функциональ­ных приложений ИС, к алфавиту у. Следовательно, можно записать: у = уй \jу,-алфавитЯРФ;

Gft = (y,v) - грамматика, описывающая синтаксис ЯРФ;

) .r(Gr) - собственно ЯРФ, то есть множество всех терминальных цепо­чек, порождаемых Gr;

X = Х<| и Ха - совокупность предложений ЯРФ (то есть \ с Lr(Gr)), реа­лизованных в ИС и определяющих ее функциональность.

Предложения λ имеют денотационную и вычислительную модели се­мантики. Первая из них определяет соотношение данных предложений с объ­ектами предметной области, для информационного моделирования которых использованы эти предложения» а вторая — соотношение с вычислительной семантикой (семантикой вычислительной среды ИС) последовательности им­перативов, к выполнению которых сводится выполнение этих предложений.

В силу фиксации (Xd, К) в программной реализации ИС, построенных по описанной в n. 1.3 "классической" методологии, подобные ИС можно от­нести к классу синтаксически неизменных, несемангичсских систем. Именно фиксированность (Л* Х„) и приводит к необходимости привлечения разработ­чиков для изменения любого из этих компонентов в случае необходимости модернизации ИС.

Модернизация ИС может затрагивать либо только Xj или Ха (хотя изме­нения в Xj в большинстве случаев требуют адекватных изменений в Ха), либо и алфавит у с соответствующими изменениями в (X* Ха). В первом случае мо­дернизация осуществляется в рамках неизменного синтаксиса, а во втором - предполагает изменение и самого синтаксиса ИС (следует также учитывать, что изменение алфавита неизбежно ведет к изменению правил композиции символов алфавита, то есть правил v). Соответственно, адаптацию функцио­нальности ИС можно классифицировать как несинтаксическую или синтакси­ческую.

Согласно приведенной выше классификации семантической сложности формальных лингвистических систем, наиболее сложными в этом аспекте яв­ляются

семантические системы. Однако массовое создание ИС подобного класса, лежащее в области интересов теории и практики искусственного ин­теллекта, на сегодняшний день являегся задачей, весьма далекой от своего удовлетворительного решения - как по методологическому аппарату, так и по средствам реализации (/189 - 195/ и др.). Кроме того, привнесение в ИС сложности семантических систем не всегда целесообразно с позиций соотнесения сложности инструмента и сложности задач, для решения которых он исполь­зуется.

Промежуточное место между синтаксически и семантическими систе­мами занимают синтаксически вариантные, несемантические системы, харак­терной чертой которых является наличие правил изменения синтаксиса.

Следовательно, формальная лингвистическая система ИС будет синтак­сически вариантной при наличии правил изменения алфавита ЯРФ и правил композиции символов этого алфавита.

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

С учетом введенных ранее обозначений синтаксическая вариантность ИС в первом приближении есть предоставление пользователю возможности варьирования (у* у») (а значит - и правил v), и (или) (Х*ь Хд).

В контексте синтаксическом вариантности ИС следует также отметить два достаточно интересных момента:

информационные системы с возможностью синтаксической адаптации в классификации по С. Расторгуеву отсутствуют - см. рис. 1.5;

понятие синтаксической вариантности достаточно давно существует в естественных языках - и не только в русском (см., например, /196 - 198/), од­нако попытка его применения к построению ИС производится впервые.

Реализация синтаксической вариантности в ИС предполагает введение нового языка - языка описания функциональности (ЯОФ), предоставляемого пользователю для задания (описания) (y<j, уа) и (X* Лв) - рис. 1.7.

По своей сути это должен быть предметно-ориентированный язык дек­ларативного типа (по /199/ - контекстно-зависимый (но не в смысле вида пра­вил грамматики, а в смысле зависимости от применения) проблемно- ориентированный язык информационного управления), синтаксис и семанти­ка которого определяются при создании конкретной ИС (на рис. 1.7 этот язык обозначен как Lc а его грамматика - как Gc).

! Предметгая иС'л.им. и прикладные задачи, подлежащие решению

Рис. 1.7. Использование языков описания и реализации функциональное™

Предложения на ЯОФ, порождаемые (создаваемые и изменяемые) поль­зователем, имеют отображение на элементы ЯРФ. Вычислительная семантика ЯОФ определяет указанное выше отображение, а денотационная семантика ЯОФ подобна денотационной семантике ЯРФ и определяет соотношение предложений на ЯОФ с объектами области решения прикладных задач.

Существенно, что синтаксис ЯОФ также может как фиксированным, так и вариантным языком. Во втором случае над ЯОФ должен вводиться еще один язык и т. д., то есть данная цепочка языков потенциально не ограничена.

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

Таким образом, ЯОФ представляет собой лингвистическое средство реализации синтаксической вариантности ИС.

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

Поскольку, манипулируя предложениями на ЯОФ, пользователь осуще­ствляет управление синтаксисом ЯРФ и (или) описаниями на ЯРФ, а предло­жения на ЯРФ определяют структуру БД и возможные процессы содержа­тельной обработки данных (то есть обработки данных в интересах решения прикладных задач), в синтаксически вариантной информационной системе реализуется двухуровневая схема управления. Верхний уровень управления по данной схеме является уровнем метауправления.

В то же время ЯОФ не является метаязыком для ЯРФ в смысле опреде­ления метаязыка, принятого в теории компиляции (см., например, /200/): ЯОФ

  • эго мегаязык для управления функциональностью СВИС, а не для описания ЯРФ. Учитывая изложенное, совокупность предложений на ЯОФ Uc (см. рис. 1.7) можно рассматривать как совокупность компонентов метаинформации, имеющейся в ИС. Каждый компонент метаипформации (КМИ) ис является одним предложением на ЯОФ Lc, то есть uc е Lc.

Метауправление (МУ) является методом, в том или ином виде доста­точно широко используемым в современных ИС. В частности, манипулирование

данными в СУБД осуществляется с использованием метаданных, описывающих структуру и характеристики хранимых данных (см., например, /169, 201, 202/). Другим широко известным применением является использование метаданных в языке HTML - данные тега МЕТА выступают в качестве метаданных, используемых браузерами и поисковыми машинами в Интернет (/203/ и др.). В недавно принятом стандарте OMG "Средства метаобъекто в" (Meta Object Facilities (MOF)) определяется набор средств (интерфейсов CORBA) для создания мстаобьектов и интероперабельных метамоделей и оперирования ими /204/.

Однако МУ как метод управления функциональностью ИС с целью их адаптации является оригинальным подходом к использованию метауправле­ния

Такое применение метауправления основывается на определении, при­веденном в 19/, в соответствии с которым используемая с той или иной целью модель данных делится на два уровня. На первом уровне, который является управляющим по отношению ко второму, задаются определения, понятия и синтаксические ограничения языка представления данных, а на втором - в рамках языка, определенного на первом уровне, производится формирование некоторых описаний, представляющих собой совокупности структурирован­ных предметных сведений. Данное определение сформулировано в /9/ приме­нительно к проблематике создания средств автоматизации специфицирова­ния, и для использования по отношению к ИС должно быть несколько изме­нено.

Наиболее целесообразным вариантом определения МУ в контексте управления функциональностью ИС представляется следующее: пусть функ­циональность ИС определена описаниями (Ха, Х„), a L - предметно­ориентированный язык пользователя, тогда данная ИС будет обладать воз-можностью

МУ своей функциональностью, если существует отображение Н вида

(1.2)

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

Особенностью приведенного выше определения МУ является то, что отображение вида (1.2) является обязательным атрибутом синтаксически ва­риантной ИС, но, если оно не затрагивает алфавит (yj, уа), то соответствую- тую ИС можно рассматривать как синтаксически неизменную информацион­ную систему с метауправлением функциональностью. Более того, частным случаем применения МУ в ИС является вариант, когда совокупность КМИ фиксируется при разработке ИС. Особенности перечисленных возможных ва­риантов применения МУ также подлежат учету в ходе исследований законо­мерностей применения МУ в интересах построения адаптивных ИС.

Относительно целесообразности рассмотрения МУ в объеме, выходя­щим за рамки СЙИС, следует заметить, что, как справедливо указано в /205/, все зависит от "точки отсчета” - то есть от того, что считать алфавитом и ка­кую форму представления данных выбрать, ибо "... различные выборы при­водят к формальным системам, совершенно различным по своему виду и ка­чествам " (/205/, с. 235).

В данном случае это означает, что "технически" несложно представить любую ИС с МУ как синтаксически вариантную. Однако такой подход некон­структивен, ибо, не внося существенных содержательных особенностей в рас­смотрение МУ, приводит к неоправданному усложнению формальных описа­ний. Кроме того, определение СВИС, принятое в настоящей работе, по своей сути

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

Обобщая вышеизложенное, в первом приближении можно выделить

три варианта построения ИС с позиций возможности адаптации ее функциональ­ности:

синтаксически неизменные ИС с множеством КМИ, зафиксированным при их создании - возможность адаптации как таковая отсутствует, примене­ние МУ влияет только на конструкцию ИС;

синтаксически неизменные ИС с множеством КМИ, которое может мо­дифицироваться пользователем во время эксплуатации системы — адаптация ограничена варьированием описаний (Xj, Ха) в рамках неизменного алфавита (У<ь У»)» зафиксированного при создании системы, и осуществляется без при­влечения разработчиков, так как не требует изменения программного кода (хотя по отношению к Х^ это не столь однозначно, ибо фактически определя­ется реализацией);

синтаксически вариантные ИС, допускающие изменение пользователем как (Xj, X»), так и (v<j, уа) - адаптация ограничена синтаксисом ЯОФ и осущест­вляется либо пользователем (если его действия не изменяют синтаксиса ИС), либо пользователем и разработчиками (в противном случае).

В последнем случае разработчики привлекаются для программной реа­лизации изменений в ул, а возможно - и в yd и (или) Xj, причем точки внесения изменении достаточно локализованы.

Ранжирование описанных выше вариантов по предпочтительности их применения на практике зависит от специфики создаваемой ИС и особенно­стей организации и обеспечения процесса ее создания.

В приведенном выше описании вариантов имелась некоторая неопреде­ленность с точки зрения необходимости участия разработчиков в изменении

структуры базы данных. Современные CASE-средства позволяют существен­но минимизировать участие человека в формировании системного каталога базы данных (например, в продукте ERwin после описания логической струк­туры данных достаточно минимальных действий по доопределению физиче­ской структуры» после чего автоматически формируется скрипт на SQL для разметки таблиц и индексов /153/). Существуют и другие примеры реализа­ции в ИС возможности изменения состава структур хранения данных и их взаимосвязей. Однако следует учитывать, что для доступа к данным с целью их алгоритмической обработки должны применяться процедуры, которые в абсолютном большинстве случаев используют идентификаторы таблиц, по­лей и индексов, и в которых предусматривается использование задаваемых над данными отношений. Поэтом)- в дальнейшем при рассмотрении абстракт­ных ИС будем считать, что изменение как y<j, так и требует обязательного участия разработчиков - независимо от того, затрагивает ли оно у,. В то же время в конкретных реализациях ИС это положение может не выполняться, что не является каким-либо противоречием приводимым формальным описа­ниям абстрактных ИС и лишь означает, что для данного примера ИС оказа­лась возможной эффективная реализация подобных изменений.

Как следует из описания понятия синтаксической вариантности ИС и МУ функциональностью, применение МУ существенно изменяет принципы построения ИС. В частности, управляющий алгоритм функциональных при­ложений должен быть независим от описаний и Ла, а в состав ИС в общем случае должны входить средства, обеспечивающие формирование и выполне­ние этих описаний.

Использование синтаксической вариантности и (или) МУ в некоторой степени затрагивает и сам процесс создания ИС, а также в необходимых слу­чаях позволяет вводить в эксплуатацию ИС с ^сформированными или не полностью сформированными алфавитом и (или) описаниями и ХЛ.

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

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

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

Исходя из вышеизложенного, а также учитывая определение и роль специального ПО в ИС, даже без формального анализа влияния внедрения синтаксической вариантности и МУ в методологию построения ИС на соот­ношения и закономерности, описанные в п. 1.3, можно утверждать, что дан­ный подход можно рассматривать как одно из малоизученных, перспектив­ных направлений повышения эффективности создания и функционирования ИС и их специального ПО.

1.6. Задачи исследования

Анализ общей проблемы совершенствования создания и обеспечения эффективного функционирования СПО ИС и возможного подхода к ее реше­нию путем внесения элементов синтаксической вариантности и метауправле­ния в конструкцию СПО и технологии его создания, рассмотренные в пп. 1.4 и 1.S соответственно, позволили определить цель исследования как разработку методологических основ построения синтаксически вариантных информаци­онных систем с элементами метауправления их функциональностью, обеспе­чивающих совершенствование создания спекального программного обеспе­чения информационных систем и его эффективного функционирования.

Структура данного исследования, направленного на достижение ука­занной выше цели, схематично показана на рис. 1.8.

Новизна предлагаемого подхода и специфика перечисленных в п. 1.4 типов рассматриваемых ИС определили следующую стратегию достижения цели исследования:

разработка концептуальных основ построения информационных систем на основе формализма синтаксически вариантных лингвистических систем и мето­да метауправления, охвагывающих общие принципы и закономерности приме­нения метауправления функциональностью в информационных системах;

разработка моделей и методов построения систем формирования, пред­ставления и обработки метаинформации, общие для информационных систем с метауправлением;

разработка моделей и методик построения некоторых типовых систем обработки информации как приложение метауправления функциональностью к созданию СПО ИС первого и второго типа;

выделение инвариантной составляющей создания СПО ИУАС и разработка предложений по ориентации организационно - методологического

базиса соответствующей ТПППП, поддерживаемого синтаксически вариант­ными средствами.

В последнем случае наиболее сложными и малоисследованными сред­ствами поддержки создания СПО ИУАС выступают полунатурные модели, для которых целесообразно определить инварианты и императивы их по­строения и применения.

Выбранная стратегия позволила сформировать следующий перечень за­дач исследования:

  1. исследование особенностей автоматизированных информационных систем и существующего положения в области создания их специального ПО;

  2. анализ проблемы совершенствования создания и обеспечения и эф­фективного функционирования специального ПО ИС различных типов и воз­можности ее решения на основе применения метода метауправления;

  3. исследование возможностей формализации структуры и процессов функционирования ИС с метауправ^ением их функциональностью с позиций формально-лингвистических систем;

  4. анализ применимости средств представления знаний и методов тео­рии компиляции для построения формальных моделей представления, фор­мирования и обработки компонентов метаинформации, пригодных для прак­тической реализации ИС с метауправлением их функциональностью;

  5. апробация применения метауправления к построению СПО ИС на примерах ИС различного типа и назначения, разработка множества соответ­ствующих частных моделей и методик;

  6. поиск возможного определения содержания базиса технологий про­мышленного производства СПО ИС специального назначения, поддерживае­мого множеством синтаксически вариантных средств;

  7. разработка элементов методологии полунатурного моделирования среды погружения СПО, инвариантных к специфике создаваемых ИС.

Выводы по первой главее

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

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

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

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

  1. Общая проблема необходимости совершенствования способов и средств создания и обеспечения эффективного функционирования СПО ИС имеет свою специфику для ИС различных типов, и требует поиска нетради­ционных подходов, способных обеспечить повышение адаптивности функ­циональности ИС, рентабельность создания ИС однократного применения и создание инвариантного базиса ТПППП для СПО ИУАС.

  2. В качестве одного из малоизученных, перспективных подходов к со­вершенствованию создания и обеспечению эффективного функционирования СПО ИС является внесение в конструкцию ИС элементов синтаксической ва­риантности и метауправления. Синтаксис ИС составляют компоненты, ком­позиция которых определяет се функциональность, и правила этой компози­ции. Метауправление функциональностью заключается в варьировании ме­таописаний, отображаемых на структуру базы данных и алгоритмы обработки данных. Осуществление синтаксической вариантности требует наличия мета­управления, однако в необходимых случаях могут быть построены и синтак­сически неизменные ИС с метауправлением.

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