Информационная модель в проектировании информационных систем. Учебное пособие
.pdf
эскизное моделирование — разработка рисунков (эскизов) в нескольких проекциях, что позволяет еще до изготовления натурной (материальной) модели мысленно исследовать объект, в данном случае будущий самолет, обсудить его аэродинамическую форму и компоновку с экспертами, иногда согласовать с заказчиком и внести коррективы
в эскиз.
Образно-знаковые модели
Вобразно-знаковых моделях применяются условные (знаковые) образы какого-либо вида: схемы, графы, чертежи, графики, планы, карты. Например, географическая карта, план квартиры, родословное дерево, блок-схема алгоритма. К этой группе относятся структурные информационные модели, создаваемые для наглядного изображения структуры, составных частей и связей объектов. Наиболее простые и распространенные информационные структуры — это таблицы, схемы,
графы, блок-схемы, деревья.
Знаковые модели
Взнаковых моделях используются алфавиты формальных языков: условные знаки, специальные символы, буквы, цифры и правила выполнения операций с элементами этих алфавитов. В качестве примеров можно назвать физические или химические формулы, математические выражения и формулы, а также нотную (или табулатурную) запись музыкальных произведений (рис. 3). Наконец, программа, написанная по правилам языка программирования, также является знаковой моделью.
Рис. 3. Пример модели музыкального произведения1
Одним из наиболее распространенных формальных языков в знаковом моделировании является алгебраический язык формул в математике, который позволяет описывать функциональные зависимости между переменными и константами. Математическая модель — это
1 Верхняя строка на рисунке — это классическая нотная запись, а нижняя — табулатурная, т. е. указывающая положение пальцев музыканта на грифе струнного инструмента, в данном случае гитары. Табулатурная запись позволяет воспроизвести музыкальное произведение без знания нот.
11
способ представления информационной модели, в которой взаимосвязи различных параметров объекта отображаются через математические формулы.
Математические модели основаны на формальных языках над конечными алфавитами, а изучаемое явление или процесс в них представлены в виде абстрактных объектов, выражающих:
■■законы природы;
■■внутренние свойства самих объектов;
■■правила логических рассуждений.
Например, математическая модель качества крыла самолета1 основывается на законах природы в области аэродинамики, а математическая модель начисления заработной платы — на правилах, установленных человеком. Выявление потенциального преступника в криминалистике базируется на системе логических рассуждений.
Математическая модель — это, по существу, система уравнений, описывающая физические, химические, биологические или иные процессы, происходящие в объекте (предметной области). В качестве примера можно привести систему математических уравнений для вычисления дохода и прибыли предприятия в соответствии с некоторой при-
нятой методикой.
Понятие компьютерной модели
В тех случаях, когда моделирование ориентировано на исследование моделей с помощью компьютера, одним из его этапов является разработка компьютерной модели.
Компьютерная модель — это виртуальный образ, созданный за счет вычислительных ресурсов, качественно и количественно отражающий внутренние свойства, внешние характеристики и связи моделируемого объекта в контексте целей и задач проектирования.
Компьютерная модель представляет собой образ предметной области, воспроизводящий внешний вид, строение или действие моделируемого объекта посредством электромагнитных (оптических) сигналов. Разработке компьютерной модели предшествует создание вербальных, наглядных образных и образно-знаковых моделей — все эти модели находят свое воплощение в виртуальном образе, формируемом в вычислительной среде.
При проектировании информационных систем речь идет исключительно об идеальных (абстрактных) моделях, преимущественно образных и образно-знаковых. Вербальное моделирование ориентиро-
1 Качество крыла определяется отношением его подъемной силы к лобовому сопротивлению. Чем выше этот показатель, тем лучше аэродинамические характеристики крыла. Вместе с тем качество крыла — это не постоянная величина: она в первую очередь зависит от скорости набегающего потока и угла атаки.
12
вано на разработку описаний, инструкций, регламентов, положений. В ряде случаев при создании информационных систем прибегают и к наглядному моделированию, например для отражения компоновки оборудования информационной системы, его размещения, а также при решении эргономических задач. И все же главное предназначение информационных моделей для информационных систем состоит в описании информационных процессов в моделируемой предметной области.
Граница между вербальными, математическими и информационными моделями может быть проведена весьма условно. В рамках информатики как самостоятельной науки, отдельной от математики, физики, лингвистики и других наук, выделение класса информационных моделей является целесообразным. Информатика имеет самое непосредственное отношение и к математическим моделям, поскольку они являются основой применения вычислительной техники при решении задач различной природы: математическая модель исследуемого процесса или явления на определенной стадии исследования преобразуется в компьютерную (вычислительную) модель, которая затем превращается в алгоритм и компьютерную программу.
Когнитивное моделирование
Из структуры способов представления моделей, изображенной на рис. 2, следует неожиданный вывод, что исходным этапом любого моделирования является воображаемая модель. И действительно, созданию и материальной, и абстрактной (информационной) модели всегда предшествует воображаемая модель, которая формируется в сознании у человека. И лишь на основании этой воображаемой модели фактически начинается натурное или абстрактное моделирование.
С учетом современных достижений когнитивной науки и психологии представляется целесообразным в рамках проблем информационного моделирования рассмотреть его когнитивную составляющую. Понятие когнитивной модели и когнитивного моделирования неразрывно связано с сущностью информации как средства познания окружающего мира человеком.
Действительно, информация — это когнитивный образ, который формируется в сознании человека в результате взаимодействия (объективных) данных и методов доступа к этим данным в контексте этого взаимодействия. В частности, для того чтобы извлечь информацию из данных, зафиксированных на материальном носителе (например, на листе бумаги) в форме текста, необходим целый комплекс методов доступа к этим данным: освещение, зрение, знание языка, на котором
13
изложен материал, владение ключом шифрования (дешифрования), если текст зашифрован, и наконец, знание семантики изложенного материала. В ряде случаев ключевую роль в анализе данных играет контекст местонахождения и формы представления данных.
Например, информация может быть извлечена с листка бумаги путем его нагрева, если сообщение написано так называемыми симпатическими (т. е. невидимыми) чернилами, которые «проявляются» при нагреве либо при обработке специальными химическими веществами. Можно привести еще более сложный пример, когда информация передается с помощью запаха духов (или одеколона), нанесенных на лист бумаги с нейтральным (ничего не значащим для получателя) текстом.
Роль и значение приведенных пояснений с точки зрения когнитивных методов и моделей вытекает из общей концепции моделирования, которое начинается с воображаемого моделирования, т. е. формирования некоторой модели (представления) в сознании у человека на основании некоторых исходных данных. То есть от того, насколько правильно сформировано представление об объекте (предметной области), зависит результат последующего информационного моделирования и качество решения задач на основе этой модели.
Рис. 4. Когнитивный подход при моделировании
При этом следует учитывать, что информационное моделирование — это коллективный труд, чаще всего крупного коллектива, а образное моделирование в принципе сопряжено с рядом существенных недостатков. В частности, в образной модели человек не в состоянии воспроизвести все, даже наиболее существенные, детали предметной области.
14
Во-первых, ситуация преднамеренно упрощается, а во-вторых, формирование образной модели при коллективном изучении проблемы зависит от способа интерпретации предметной области каждым членом коллектива. Наконец, в-третьих, человеку в принципе не свойственно мыслить в количественных терминах — он прежде всего мыслит качественными характеристиками [4]. Таким образом, разработка образной модели — это поиск общего замысла решения, которое в дальнейшем уже будет подробно «раскрыто» в информационной модели, поэтому когнитивная составляющая моделирования выступает на первый план.
Когнитивный подход при формировании образной модели в общем случае представлен на рис. 4. Представленный подход базируется на том положении, что картина мира включает в себя набор убеждений, особенностей восприятия, ценностных и практических установок, которыми человек руководствуется в своей деятельности
ивлияет на процесс принятия решения, в данном случае на формирование образной модели. В процессе восприятия исходных данных
ипроверки гипотез каждый участник коллектива исходит из своих личных ценностных установок, но с учетом замечаний и предложений других членов.
Этапы моделирования
Исходя из приведенных умозаключений по когнитивному моделированию, логику моделирования можно представить в виде цепочки действий, изображенных на рис. 5.
Из представленной на рисунке логики моделирования следует, что по результатам экспериментальных либо теоретических исследований уточняется воображаемая модель, а полученные изменения воплощаются в натурной либо абстрактной модели. Например, экспериментальные исследования аэродинамических характеристик уменьшенной модели летательного аппарата могут вынудить изменить представление о принципах работы и конфигурации крыла, оперения или даже фюзеляжа. На основании этих представлений вносятся изменения и в натурную модель, после чего проводится очередная серия экспериментальных исследований.
Рис. 5. Логика моделирования
15
Описанная выше логика моделирования диктует целесообразность
следующих этапов моделирования:
Содержательная постановка задачи: на этом этапе четко формулируются цели и ставятся задачи моделирования. При этом определяются объекты, которые относятся к решаемой задаче, а также ситуация, которую нужно реализовать в результате ее решения. Для того чтобы задачу можно было описать количественно и использовать при ее решении вычислительную технику, нужно произвести качественный и количественный анализ объектов и ситуаций, имеющих к ней отношение. При этом сложные объекты разбиваются на части (элементы), определяются связи этих элементов, их свойства, количественные и качественные значения свойств, количественные и логические соотношения между ними, выражаемые в виде уравнений, неравенств. В результате решения этой задачи системного анализа объект оказывается
представленным в виде системы.
Математическая постановка задачи: в процессе математической постановки задачи осуществляется построение математической модели объекта и определение методов (алгоритмов) получения решения задачи. На этом этапе может оказаться, что ранее проведенный системный анализ привел к такому набору элементов, свойств и соотношений, для которого нет приемлемого метода решения задачи, в результате приходится возвращаться к этапу системного анализа. Как правило, решаемые на практике задачи стандартизованы, системный анализ производится в расчете на известную математическую модель и алгоритм ее решения, проблема состоит лишь в выборе подхо-
дящего метода.
Разработка программного обеспечения: для сложных объектов, состоящих из большого числа элементов и обладающих большим числом свойств, может потребоваться составление базы данных и средств работы с ней, методов извлечения необходимых для расчетов данных. Для стандартных задач может быть использован подходящий пакет прикладных программ и систем управления базами данных.
На заключительном этапе производится эксплуатация модели и анализ полученных результатов.
Связи между объектами
Если предметная область декомпозируется на объекты, то отношения между различными видами объектов отражаются в информационных моделях как связи. Каждая связь задается в модели определенным именем. Связь в графической форме представляется как линия со стрелками между связанными объектами и обозначается идентификатором связи (например, ER-диаграмма или диаграмма «сущность-связь»).
16
Существует три вида связи: «один-к-одному», «один-ко-многим» и «многие-ко-многим».
Связь «один-к-одному» существует в том случае, когда один экземпляр одного объекта связан с единственным экземпляром другого.
Связь «один-ко-многим» возникает тогда, когда один экземпляр первого объекта связан с одним (или более) экземпляром второго объекта, но каждый экземпляр второго объекта связан только с одним экземпляром первого.
Связь «многие-ко-многим» существует, когда один экземпляр первого объекта связан с одним или большим количеством экземпляров второго и каждый экземпляр второго связан с одним или многими экземплярами первого.
Связи подразделяться на безусловные и условные. В безусловной связи для участия в ней требуется каждый экземпляр объекта. В условной связи принимают участие не все экземпляры объекта. Связь может быть условной как с одной, так и с обеих сторон.
Все связи в информационной модели требуют описания, которое как минимум включает:
■■идентификатор связи;
■■формулировку сущности связи;
■■вид связи (ее множественность и условность);
■■способ описания связи с помощью вспомогательных атрибутов объектов.
Наиболее известная структура, объединенная однонаправленной связью, — это очередь. Возможными обобщениями информационных моделей являются циклическая структура, таблица, стек.
Очень важную роль играет древовидная информационная модель, являющаяся одной из самых распространенных типов классификационных структур. Эта модель строится на основе связи, отражающей отношение части к целому, т. е. связи типа «один-ко-многим». Таким образом, типы данных в программировании тесно связаны с определенными информационными моделями данных.
Еще более общей информационной моделью являются так называемые графовые структуры, которые служат основой решения многих
задач информационного моделирования.
Особенности разработки информационных систем в целях мониторинга и управления в сложных предметных областях
Говоря о создании информационной системы, немаловажным компонентом которой является ее программное обеспечение (ПО), необходимо отметить ряд широко известных методологий (методов и моделей) процесса разработки программного обеспечения (англ. software development process, software process), которые в общем виде можно рас-
17
пространить и на разработку ИС в целом, поэтому в дальнейшем речь будем вести об ИС, подразумевая, в частности, разработку ПО для нее. Обобщая методологии проектирования ИС (в частности ПО), можно
выделить два основных подхода:
Каскадная разработка или так называемая модель водопада (англ. waterfall model), которая выглядит как некий поток работ, последовательно проходящий этапы:
■■определение требований к создаваемой ИС;
■■проектирование будущей ИС, в ходе которого создается проектная документация, описывающая способы и план реализации определенных выше требований;
■■реализация, т. е. собственно создание, ИС как аппаратно-про- граммного комплекса;
■■тестирование и отладка ИС — на этой стадии в некоторой степени могут быть устранены недочеты, проявившиеся на предыдущих стадиях разработки, однако устранение ошибок в требованиях и проекте ИС представляется весьма проблематичным;
■■внедрение — т. е. сдача ИС в эксплуатацию и ее последующая поддержка, осуществляемая в процессе эксплуатации, в основном направленная на устранение ошибок и добавление новой функциональности в ИС.
Каскадный подход в чистом виде предполагает, что переход к следующему этапу происходит только после полного и успешного завершения предыдущего, т. е. возврат к предыдущим этапам или их параллельное выполнение не предусматривается. При управлении большими проектами такой подход (выполнение этапов проекта в строгой последовательности) позволяет кардинально снизить многие риски проекта и сделать более прозрачной его реализацию, а также дает возможность оценивать качество продукта на каждом этапе. Тем не менее это обусловливает недостаточную гибкость такого подхода и объявление самоцелью формального управления проектом, зачастую в ущерб срокам, стоимости или качеству. Для устранения этих недостатков был разработан ряд различных модификаций каскадного подхода (например, модель водоворота), в основном заключающихся в обеспечении возможности возврата на предыдущие этапы, но все они тем не менее сопряжены со значитель-
ным увеличением материальных и временных затрат на разработку. Итеративная разработка (англ. iteration — повторение) предполагает
выполнение каждого из перечисленных выше этапов в режиме постоянного анализа полученных результатов и корректировки предшествующих этапов работы. Создаваемая таким образом ИС на каждом этапе проходит повторяющийся цикл PDCA (англ. plan — do — check — act cycle: планирование — реализация — проверка — оценка). В ходе разработки могут
18
быть изменены существующие или выдвинуты дополнительные требования и ограничения, связанные с принятыми техническими решениями. Именно при итерационной разработке их удается учесть в наиболее полной мере, поскольку именно при таком подходе все участники проекта в полной мере готовы к изменениям. Разновидностями каскадного подхода являются V-модель, спиральная модель, прототипирование.
К преимуществам итеративного подхода также относятся:
■■непрерывное итеративное тестирование, раннее обнаружение конфликтов между требованиями, моделями и реализацией проекта, снижение воздействия ошибок проектирования на ранних стадиях проекта, что ведет к минимизации затрат на их устранение;
■■эффективная обратная связь между участниками проекта, в частности проектной команды с заказчиком ИС, обеспечивающая максимально полное удовлетворение его потребностей, эффективное использование накопленного опыта;
■■возможность реально (но при этом неконкретно) оценить общее состояние проекта и как следствие большая уверенность заказчиков
иисполнителей в его успешном завершении, возможность акцентировать усилия на наиболее важные и критичные направления проекта;
■■более равномерная загрузка участников проекта, более равномерное и предсказуемое распределение затрат по всему периоду создания ИС.
Основным недостатком такого подхода является затрудненность формального и поступательного управления проектом, отсутствие в полной мере завершенных стадий практически до самого конца периода разработки, что затрудняет детальное распределение бюджета проекта между различными этапами и не позволяет отчитаться о завершении каждого из них до окончания всего процесса работы. Это требование не столь существенно в бизнес-структурах, поскольку все работы зачастую могут выполняться одним самостоятельным коллективом исполнителей, а заказчик может позволить себе не требовать формирование промежуточной отчетности, но в сфере госзаказа, в условиях жесткого контроля за финансами, это требование может стать существенным, а кроме того, в таких проектах зачастую задействовано множество независимых коллективов-исполнителей, что требует четкого распределения между ними задач и финансовых средств.
Все же из-за своих преимуществ итеративный подход сейчас является наиболее распространенным. Так, в стандарте PMBoK (англ. Project Management Body of Knowledge), разрабатываемого всемирной некоммерческой организацией «Институт управления проектами» (англ. Project Management Institute, PMI), в 3-й версии формально была закреплена только методика «каскадной модели». Начиная с PMBoK
19
4-й версии (вышедшей в 2013 г.) предлагается как каскадный, так и итеративный подходы, а также сочетающая их гибридная методология управления проектами. К тому же, как будет показано ниже, разработка ИС для сложных предметных областей практически невозможна без
применения итеративного подхода.
Обращаясь к проблематике оценивания и мониторинга состояния дел в сложных предметных областях (мультидисциплинарных
и(или) междисциплинарных, а также носящих комплексный характер), следует отметить, что эти предметные области зачастую далеко не в полной мере изучены или же изучены фрагментарно. Следствием этого является отсутствие достаточно полных, но в то же время общепринятых и практически полезных онтологий (концептуальных схем)
иинформационных моделей объектов и процессов, обеспечивающих информационное описание этих предметных областей в создаваемой ИС. Более того, возможно также практическое отсутствие очевидных или в достаточной мере проработанных методов и моделей самого процесса мониторинга сложной программно-целевой деятельности (а также процесса управления этой деятельностью), учитывающих причинно-следственные зависимости и обеспечивающих правильную постановку целей и задач мониторинга и управления. Отсутствие таких онтологий, моделей и методов вызывает необходимость применения методов когнитивного моделирования, которые, по сути, заложены в описываемом ниже алгоритме формирования проекта ИС.
Всвязи со сказанным выше разработка качественной ИС сложной предметной области «с ходу», методом каскадного проектирования, является делом затруднительным, если не сказать невозможным,
итребует применения циклических (итерационных) методов. С другой стороны, циклический подход в чистом виде (описанном выше) носит достаточно общий характер, плохо поддается формализации в плане управления и сметного финансирования. Вследствие этого необходимо его конкретизировать применительно как к основной задаче мониторинга сложной предметной области, так и к возможной задаче управления ею (или ее отдельными субъектами, имеющими соответствующие «рычаги управления»). В связи с этим предполагается применение гибридного — каскадно-циклического алгоритма формирования мониторинговой (или мониторингово-управляющей) ИС для сложных предметных областей. Примером такого применения может служить организация мониторинга обеспечения национальной безопасности Российской Федерации (НБРФ), в предметную область которой входят практически все без исключения сферы общественной жизни, причем существующие в условиях быстро меняющихся внутренних и внешних условий, приоритетов и ряда других факторов [1, 5, 6].
20
