3.1. МЕТОДЫ МОДЕЛИРОВАНИЯ И МОДЕЛИ РАЗРАБОТКИ ИС
Обычно бывает трудно, а иногда и невозможно проследить за поведением реальных систем в разных условиях или изменить эти системы. Решить данную проблему помогают модели. Построив модель системы, можно многократно возвращаться к начальному её состоянию, а также наблюдать за поведением её в изменяющихся условиях.
Модель (лат. “modulus” – мера) – объект-заместитель объекта-оригинала, обеспечивающий изучение некоторых свойств последнего; упрощенное представление системы для её анализа и предсказания, а также получения качественных и количественных результатов, необходимых для принятия правильного управленческого решения.
При решении конкретной задачи, когда необходимо выявить определённое свойство изучаемого объекта, модель оказывается не только полезным, но и порой единственным инструментом исследования. Один и тот же объект может иметь множество моделей, а разные объекты могут описываться одной моделью.
Единая классификация видов моделей затруднительна в силу многозначности понятия “модель” в науке и технике. Её можно проводить по различным основаниям: по характеру моделей и моделируемых объектов; по сферам приложения и др.
Моделирование – представление объекта моделью для получения информации о нём путём проведения экспериментов с его моделью.
Под термином “моделирование” обычно понимают процесс создания точного описания системы; метод познания, состоящий в создании и исследовании моделей.
Моделирование облегчает изучение объекта с целью его создания, дальнейшего преобразования и развития. Оно используется для исследования существующей системы, когда реальный эксперимент проводить нецелесообразно из-за значительных финансовых и трудовых затрат, а также при необходимости проведения анализа проектируемой системы, т.е. которая ещё физически не существует в данной организации.
Для формирования модели используются:
Все модели можно разбить на два больших класса: предметные (материальные) и знаковые (информационные).
Для проектирования ИС используют информационные модели, представляющие объекты и процессы в форме рисунков, схем, чертежей, таблиц, формул, текстов и т.п.
Информационная модель – это модель объекта, процесса или явления, в которой представлены информационные аспекты моделируемого объекта, процесса или явления.
Она является основой разработки моделей ИС.
Для создания описательных текстовых информационных моделей обычно используют естественные языки.
Наряду с естественными языками (русский, английский и т.д.) разработаны и используются формальные языки: системы счисления, алгебра высказываний, языки программирования и др.
Основное отличие формальных языков от естественных состоит в наличие у формальных языков не только жёстко зафиксированного алфавита, но и строгих правил грамматики и синтаксиса.
С помощью формальных языков строят информационные модели определённого типа – формально-логические модели.
При изучении нового объекта сначала обычно строится его описательная модель, затем она формализуется, те есть выражается с использованием математических формул, геометрических объектов и т.д.
Процесс построения информационных моделей с помощью формальных языков называют формализацией.
Модели, построенные с использованием математических понятий и формул, называют математическими моделями.
Модель должна учитывать как можно большее число факторов. Однако реализовать такое положение затруднительно особенно в слабоструктурируемых системах. Поэтому зачастую стремятся создавать модели достаточно простых элементов, с учётом их микро- и макросвязей. Это позволяет получать обозримые результаты. Фрагмент классификации методов моделирования представлен на рис. 3.1.
Рис. 3.1. Классификация методов моделирования.
Обычно различают реальное (материальное, предметное) и мысленное (идеализированное, концептуально-методологическое) моделирование.
Концептуально-методологическое моделирование представляет собой процесс установления соответствия реальному объекту некоторой абстрактной конструкции, позволяющий получить характеристики объекта. Данная модель, как и всякая другая, описывает реальный объект лишь с некоторой степенью приближения к действительности.
Концептуальное моделирование представляет собой структурированный процесс создания систем, состоящий из следующих этапов:
Важнейшей формой системного анализа сложных систем является имитационное моделирование на ЭВМ, описывающее процессы функционирования систем в виде алгоритмов. Его применяют в случаях, когда необходимо учесть большое разнообразие исходных данных, изучить протекание процессов в различных условиях. Процесс имитации на любом этапе может быть приостановлен для проведения научного эксперимента на вербальном (описательном) уровне, результаты которого после оценки и обработки могут быть использованы на последующих этапах имитации.
Существует нескольких методов и принципов построения информационных систем (автоматизированных ИС), среди которых можно выделить: методы “снизу-вверх” и “сверху-вниз”, принципы “дуализма”, многокомпонентности и др.
Метод “снизу-вверх”
Опыт и методы работы отечественных программистов сформировались в крупных вычислительных центрах (ВЦ), основной целью которых было не создание тиражируемых продуктов, а выполнение задач конкретного учреждения. Современные руководители зачастую прибегают к нему, полагая, что им удобно иметь своих специалистов. Разработка программ “снизу-вверх”, осуществляемая квалифицированными программистами, позволяет автоматизировать, как правило, отдельные рабочие процессы.Такой метод весьма затратный и всё реже используется, особенно в малых и средних предприятиях.
Метод “сверху-вниз”
Развитие коммерческих и иных современных структур послужило основанием к формированию рынка различных программных средств. Наибольшее развитие получили ИС, ориентированные на автоматизацию ведения бухгалтерского аналитического учёта и технологических процессов. В результате появились ИС, разработанные сторонними, как правило, специализированными организациями и группами специалистов “сверху”, в предположении, что одна ИС сможет удовлетворять потребности многих пользователей.
Такая идея ограничила возможности разработчиков в структуре информационных множеств БД, в использовании вариантов экранных форм, алгоритмов расчёта и, следовательно, лишила возможности принципиально расширить круг решаемых задач. Заложенные “сверху” жёсткие рамки (“общие для всех”) ограничивают возможности ИС. Стало очевидным, что для успешной реализации задач полной автоматизации организации следует менять идеологию построения автоматизированных информационных систем (АИС).
Принципы “дуализма” и многокомпонентности
Развитие систем и предприятий, увеличение числа их филиалов и клиентов, повышение качества обслуживания и другое вызвали существенные изменения в разработке и функционировании АИС, в основном базирующиеся на сбалансированном сочетании двух предыдущих методов.
Новый подход ориентирован на специализированное программное обеспечение (СПО), возможность адаптации программного аппарата к практически любым условиям и различным требованиям инструктивных материалов и принятым правилам работы. Кроме того, гибкая система настроек СПО в АИС при проведении модернизации одного из компонентов позволяет не затрагивать центральную часть (ядро) АИС и другие её компоненты, что значительно повышает надёжность, продолжительность жизни ИС и обеспечивает наиболее полное выполнение требуемых функций.
Такой подход лег в основу “принципа дуализма”. Его реализация потребовала построения АИС нового поколения в виде программных модулей, органически связанных между собой, но в то же время способных работать автономно.
Многокомпонентная система обеспечивает соблюдение основополагающего принципа построения АИС – отсутствия дублирования ввода исходных данных.
Информация по операциям, проведённым с применением одного из компонентов системы, может использоваться любым другим её компонентом. Модульность построения АИС нового поколения и принцип одноразового ввода дают возможность гибко варьировать конфигурацией этих систем. Такая структура позволяет включить в АИС нового поколения компоненты создания хранилищ данных, разделяя системы оперативного действия и системы поддержки принятия решения.
Кроме того, одно из достоинств принципа многокомпонентности, являющегося базовым при создании АИС нового поколения, состоит в возможности поэтапного внедрения ИС. На первом этапе внедрения устанавливают или заменяют уже устаревшие компоненты ИС, нуждающихся в обновлении ПО. На втором этапе происходит развитие системы с подсоединением новых компонентов и отработкой межкомпонентных связей. Возможность применения такой методики внедрения обеспечивает её достаточно простое тиражирование и адаптацию к местным условиям.
Из сказанного можно предположить, что автоматизированная информационная система нового поколения – это многокомпонентная система с распределённой базой данных.
Процессы создания моделей носят этапный характер. Основные виды моделей, типа “каскад” (“водопад”), “водоворот” и “спираль” описаны во второй главе. Возвращение к их рассмотрению связано с особенностями использования этих моделей в процессе разработки ИС.
Каскадная модель ИС состоит из последовательно выполняемых этапов. Каждый этап полностью заканчивается до того, как начнется следующий. Этапы не перекрываются во времени: следующий этап не начинается до тех пор, пока не завершится предыдущий. Возврат к предыдущим этапам не предусмотрен или всячески ограничен. Исправление ошибок происходит лишь на стадии тестирования. Результат появляется только в конце разработки ИС. Критерием появления результата является отсутствие ошибок и точное соответствие полученной ИС первоначальной её спецификации.
Для этой модели характерна автоматизация отдельных несвязанных задач, не требующая выполнения информационной интеграции и совместимости, программного, технического и организационного сопряжения. В рамках решения отдельных задач каскадная модель по срокам разработки и надёжности оправдывала себя. Применение каскадной модели к большим и сложным проектам вследствие большой длительности процесса проектирования и изменчивости требований за это время приводит к их практической нереализуемости.
Поэтапная (итерационная) модель с промежуточным контролем
Эта модель известна как итерационная модель или “водоворот”. В ней, так же, как и в модели “водопад” используется последовательность расположения этапов создания ИС. Но каждый следующий этап имеет обратную связь с предыдущими этапами. Исправление ошибок происходит на каждом из этапов, сразу при выявлении проблемы – промежуточный контроль. Следующий этап не начинается, пока не завершится предыдущий. При первом проходе по модели сверху вниз, как только обнаружена ошибка, осуществляется возврат к предыдущим этапам (снизу вверх), вызвавшим ошибку. Этапы оказываются растянутыми во времени. Результат появляется только в конце разработки ИС, как и в модели “водопад”.
Спиральная модель
В этой модели результат появляется фактически на каждом витке спирали. Этот промежуточный результат анализируется, и выявленные недостатки ИС побуждают проведение следующего витка спирали. Таким образом последовательно конкретизируются детали проекта и в итоге выбирается и доводится до реализации обоснованный вариант. Спираль завершается тогда, когда клиент и разработчик приходят к согласию относительно полученного результата.
Модель состоит из последовательно расположенных этапов (как и “водопад”) в пределах одного витка спирали. Внутри витка спирали этапы не имеют обратной связи. Анализ результата осуществляется в конце витка и инициирует новый виток спирали. Исправление ошибок происходит при тестировании на каждом витке спирали. Ошибки, которые не могут быть исправлены и требуют более глубоких структурных изменений, инициируют новый виток спирали. Этапы могут перекрываться во времени в пределах одного витка спирали. Результат появляется в конце каждого витка спирали и подвергается подробному анализу. При переходе от витка к витку происходит накопление и повторное использование программных средств, моделей и прототипов. Процесс ориентирован на развитие и модификацию ИС в процессе её проектирования, на анализ рисков и издержек во время проектирования.
Основная особенность данного метода состоит в концентрации сложности на начальных этапах разработки ИС (анализ, проектирование). Сложность и трудоёмкость последующих этапов в пределах одного витка спирали относительно невысокие. При этом методе предлагается способ снижения затрат в целом при разработке ИС (и любого иного ПО) за счёт предотвращения потенциальных ошибок на этапах её анализа и проектирования. При этом используется подход к организации проектирования ИС “сверху-вниз”, когда сначала определяется состав функциональных подсистем, а затем постановка отдельных задач.
Процессы моделирования всё чаще осуществляются с использованием специальных компьютерных программных средств, позволяющих автоматизировать эту деятельность.
Автоматизированная система моделирования (АСМ) – компьютерная система, предназначенная для оказания помощи пользователю по представлению нужной ему задачи в виде определённой математической схемы, принятой в данной системе, решить задачу (провести моделирование по полученной схеме) и проанализировать результаты.
АСМ состоит из трёх основных компонент: функциональное наполнение, язык заданий и системное наполнение.
Функциональное наполнение является совокупностью конструктивных элементов (модулей), из которых составляется схема (модель).
Системное наполнение – это набор программ, отражающих специфику реализации АСМ и обеспечивающих собственно функционирование системы: трансляцию и исполнение заданий, поддержку базы знаний о предметной области и т.д.
Язык заданий (ЯЗ) служит для описания задач, вводимых в систему.
Средствами и инструментом автоматизированного проектирования и разработки информационных систем являются CASE-средства и системы (Глава1), ориентированные на поддержку разработки информационных систем.