Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МодСистЛЕКЦ / Методология моделирования ситем

.doc
Скачиваний:
14
Добавлен:
17.04.2015
Размер:
139.26 Кб
Скачать

Концепция и принципы моделирования систем.

Основополагающими принципами моделирования систем служат концептуальные положения общей теории систем.

Одним из таких положений является применение системного подхода к моделированию любой системы.

При системном подходе процесс моделирования целесообразно разделить на следующие этапы.

1.Описание объекта исследований, их целей и критериев на вербальном уровне.

2.Определение концепции представления системы/процесса.

3. Формулировка проблемы, декомпозиция на задачи.

4.Формализация проблемы.

5.Построение модели.

6.Проверка адекватности модели

7. Исследование свойств изучаемой системы с помощью ее модели.

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

Формирование критериев осуществляется после того, как будут определены цели. Это и понятно, ибо по сути дела критерии отражают цели, хотя и не совпадают с ними полностью.

Ясно, что представление проблемы не каком-либо формальном языке возможно только после того, как будет дано ее описание на естественном языке. На практике формулирование проблемы носит итеративный характер. Этому факту имеется много объяснений. В частности, неопределенность и недостаточность сведений для решения первоначально поставленной задачи.

В основе моделирование систем лежат фундаментальные понятия общей теории систем (ОТС) или системологии.

Центральным понятием ОТС является понятие системы.

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

У разных авторов можно найти различные определения данного понятия. В то же время все они исходят из основных свойств системы. К таким свойствам в первую очередь относят то, что в результате объединения элементов в единое целое, система может выполнять задачи, которые не доступны отдельным элементам. Естественные системы обладают еще одним важным свойством – оптимальностью. Они способны оптимальным образом, т.е. с наилучшей эффективностью выполнять свою задачу. Конечно, при создании искусственных систем следует также исходить из этого принципа.

Система – понятие относительное. В самом деле, элементом системы может быть тоже система. В таком случае говорят, что система состоит из подсистем. В свою очередь подсистемы могут содержать в себе другие подсистемы и т.д.

Особенности процесса моделирования систем определяются видом последних.

Классификация служит инструментом познания. Классификация позволяет расширять поле знаний. Она является базовой функцией познавательной деятельности человека.

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

  • по степени сложности структуры и поведения – простые и сложные;

  • по степени организованности- плохо организованные, хорошо организованные и самоорганизующиеся;

  • по характеру поведения – детерминированные, вероятностные или стохастические, игровые;

  • по взаимодействию с внешней средой – открытые и закрытые,

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

Согласно ОТС любой системе присуще свойство структурированности.

Анализ структуры исследуемой сложной системы преследует цель расчленения ее на отдельные составляющие.

Простейшую часть системы в общей теории систем принято называть элементом. Аристотель в это понятие вкладывал следующий смысл: простейший, неделимый, конечный, лежащий в основе чего-либо.

Сегодня это понятие наполнено новым содержанием. Оно может носить как абсолютный, так и относительный характер.

Абсолютное понятие элемент обладает наиболее существенными свойствами рассматриваемой системы, в том числе и свойством целостности. В то же время он представляет собой наименьшую часть системы.

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

В практических приложениях системный элемент представляет собой предел членения системы с точки зрения конкретной задачи и поставленной цели исследования.

В системологии дается следующее определение этому понятию.

Элемент – это относительно самостоятельная часть системы, рассматриваемая на данном уровне анализа как единое целое с интегральным поведением, направленным на реализацию присущей этому целому функции.

Таким образом, элемент обладает свойствами целостности и целенаправленности.

Целостность отражает завершенную полноту структуры системного элемента и степень независимости его от окружающей среды. Степень независимости элемента характеризуют факторами независимости. При этом факторы целесообразно делить на две группы – внешние и внутренние.

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

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

Способность элемента выполнять свои функции называют целенаправленностью. Системный элемент должен обладать вполне определенной логикой своего поведения, т.е. алгоритмом выполнения заданной функции/функций.

В ОТС вводится понятие модели функционирования элемента.

Модель функционирования элемента – совокупность действий, необходимых для осуществления целевой функции, описанных на каком-либо языке. По своей сути такая модель предписывает набор действий элемента для реализации его цели. Конкретизация действий в зависимости от конкретных условий происходит в соответствии с контекстом системного элемента.

Модель функционирования в общем случае не регламентирует способы и средства реализации системного элемента.

При построении модели системного элемента следует учитывать следующие факторы.

1.Элемент должен быть связан с другими элементами системы и взаимодействовать с ними.

2. Взаимодействие элементов друг на друга осуществляется путем выдачи и приема сигналов.

3. Внутренние свойства элемента характеризуется своими функциональными параметрами.

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

5. Функционирование элемента происходит во времени с заданной временной направленностью.

Некоторые части системы не могут выполнять независимые функции. В то же время они состоят из однородных элементов. Такие части принято в общем случае называть компонентами системы.

Следующим фундаментальным понятием системологии является связь.

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

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

Любую сложную систему можно представить как совокупность характеристик. S = F (H, T, R, L), где H – назначение системы (набор выполняемых функций); Т – структура системы, R – связи системы, L – совокупность сигналов на входе (внешних воздействий на систему)и выходе

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

  • множество контролируемых управляемых независимых переменных, называемых влияющими факторами;

  • множество контролируемых независимых, но неуправляемых переменных;

  • множество неконтролируемых переменных, называемые возмущениями.

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

Изучаемую систему можно представить различными структурами. Для отображения взаимосвязей элементов системы часто используют так называемые сетевые структуры. Различают линейные, древовидные, кольцевые и иерархические структуры.

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

Строгое описание сетевых структур можно дать с помощью теории множеств. Теория множеств позволяет установить и правила преобразования сетей.

Пусть дано некоторое множество Х элементов. Элементы представляют собой узлы системы. Данное множество Х разобьем на подмножества X o и X i (i = 1, 2, 3, … n). Затем каждому элементу исходного множества Х поставим в соответствие некоторое его подмножество, т.е. установим закон, по которому элементу х € Х какое-то подмножество. Таким образом определены связи между узлами сети. Множество Х и заданный закон соответствия определяют понятие сети.

Понятие графа определяется аналогично понятию сети. В качестве элементов множества Х выступают вершины графа.

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

Поскольку в общем случае ИС считается неоднородной, ее целесообразно разбить на однородные составляющие подсистемы. Разделение системы на уровни, говорят стратификация системы, возможна, если множества входной Х и выходной Y представимы в виде декартовых произведений. Это означает, что множества X и Y образуют два независимых базиса:

X= (X1 Xi…Xn);

Y= (Y1 Yi…Yn.)

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

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

При анализе информационной системы используются следующие понятия ее иерархии.

Систему называют полной, если ее технологический цикл включает следующие процессы:

- ввод всех видов информации, присущей данной предметной области;

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

  • вывод или представление данных в формах вывода согласно заданию без привлечения других систем.

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

.

Интегрированная система

И

Системный уровень

Подсистема

Ло\кальная

Распределенная

Процесс

Локальный

Распределенный

Системный

Задача

Интегрированная система является верхним уровнем. На этом уровне выплняются все процессы, присущие ИС.

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

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

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

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

К основным принципам моделирования относятся:

  • использование единой информационной базы для автоматизированных процедур в процессе моделирования системы;

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

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

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

  • проведение многовариантного моделирования;

  • оптимизация параметров искомой молели и ее комплексная оценка.

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

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

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

Мы уже говорили, что одним из основных требований, предъявляемым к современным ИС, является обеспечение открытости системы. Согласно стандарту открытая система должна обеспечивать:

  • возможность переноса ( мобильность ) прикладных систем с минимальными изменениями на широкий диапазон систем;

  • совместную работу ( интероперабельность ) с другими прикладными системами на локальных и удаленных платформах;

  • взаимодействие с пользователями в стиле, облегчающем им переход от системы к системе ( мобильность пользователей.

В качестве других основных требований можно выделить следующие.

  1. Обеспечение единого информационного пространства:

- пространственная распределенность пользователей;

  • внутрисистемная информационная связанность;

  • множественность интерфейсов; виртуальность и однородность их технической реализации.

  1. Настриваемость на конкретные приложения и пользователей, в том числе настраиваемость спецификаций:

  • описания структуры, состава, функций и полномочий;

  • пользовательского интерфейса ( запросы, формы, отчеты );

  • передачи данных в системе при различных схемах коммуникации ( локальные, корпоративные и глобальные вычислительные сети, электронная почта);

  • сервисов;

  • межситемных интерфейсов ( персональный, удаленный, телефонный и виртуальный доступ, видеодоступ, использование пластиковых карточек и дрю ).

  1. надежность, защищенность и безопасность:

  • резервирование, в том числе техническое и информационное дублирование;

  • множественность уровней защиты;

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

Эволюция методов моделирования программного обеспечения информационных систем.

Технология создания программного обеспечения ЭВМ в значительной степени определяет не только трудозатраты на разработку программных продуктов, но и их функциональные возможности. В эволюции методологии разработки программного обеспечения можно указать несколько заметных этапов.

На первом этапе, когда появились первые ЭВМ, предметом забот была прежде всего сама аппаратура вычислительной техники. Вполне естественно, что программы разрабатывались на языке конкретной ЭВМ, т.е в кодах команд ее АУ. Да и сами программы создавались в основном для решения научно-технических задач.

По мере развития вычислительных машин возрастало и значение их программного обеспечения. В середине ХХ- столетия появились языки программирования высокого уровня, поскольку усложнились программы и резко повысились требования как к их качеству, так и к их надежности. Значительно упростив само программирование, в следствие чего и ускорив процесс разработки программ, языки высокого уровня позволили существенно расширить круг задач, решаемых с помощью ЭВМ. Однако это совершенно не означало, что решены все проблемы, связанные с созданием программного обеспечения. Для успешного решения указанных проблем имеющихся средств все время оказывается недостаточно. Развитие аппаратного и программного обеспечения информационных систем влечет за собой и расширение области их применения, а значит, и постановку новых задач. Новые задачи потребовали разработки новых и совершенствования имеющихся методов их решения. Ярким примером этому служат экспертные системы.

Понимание того, что новые более совершенные языки программирования не обеспечат решение многих вопросов разработки программ произошло не сразу. Однако осознание этого факта явилось причиной интенсивных поисков путей решения возникших вопросов моделирования и проектирования информационных систем В частности, целью многих исследований стала повышение надежности программного обеспечения. Ответ на вопрос, почему добиться безошибочной работы программы труднее, чем, скажем, арифметического устройства ЭВМ, остается до сих пор открытым. Поэтому то стала бурно развиваться теория доказательства правильности программ. На пути разработки методов доказательства корректности программы возникли проблемы. К последним в первую очередь следует отнести определение самого понятия “корректность программы” и сложность разработанной программы. В настоящее время описание того, что должна выполнять программа, намного больше объема самой программы. Даже описание технологии работы с программным продуктом очень часто превышает объем самого продукта. Например, руководство по использованию СУБД. Для многих программ вообще не удается дать их формального описания.

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

В то же время надо признать, что исследования в этом напрвлении продолжаются. Естественно, продолжаются и работы по созданию новых языков программирования, а также работы по автоматизации процесса программирования.

Автоматизация программирования долгое время была не достижимой целью теории и практики разработки информационных систем. Сегодня на рынке предлагается большое количество средств автоматической разработки программного обеспечения. Здесь можно указать на CASE-cредства (Сомрuter Aided Software Engineering). Следует, правда, заметить, что CASE-средства оказались не способными достичь ожидаемых от них выгод и результатов. Они не стали панацеей, решающей все проблемы практики программирования. Качество программ, разработанных с помощью CASE-средств далеко не всегда оказывается достаточно высоким в том случае, когда программы являются очень сложными. В то же время надо признать, что опыт разработки CASE- средств дал очень много для теории и практики моделирования ИС В частности, он показал, что автоматизация может охватывать все этапы жизненного цикла ИС, включая анализ и формулировку требований, проектирование баз данных и приложений, генерацию кода программ, их тестирование, документирование, конфигурационное управление и управление проектом.

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

В основе структурного подхода лежат два принципа: процедурный стиль программирования и функциональная декомпозиция программы сверху вниз. При этом основной единицей программы служит процедура.

Объектно-ориентированный подход к созданию программных продуктов предусматривает объектную декомпозицию. Каждый объект объединяет как данные, так и процедуру их обработки . Объекты объединяются в классы. Модель информационной системы при таком подходе представляет собой совокупность классов объектов и связей между объектами.

Как мы видим, оба подхода к разработке программных продуктов содержат ключевой момент – декомпозицию программы на составные части.

Структурный подход поддерживается языками процедурного программирования (Фортран, Алгол-68, PL/1, Паскаль, Симула). Появление объектно-ориентированных языков привело к новому направлению в теории и практике программирования. Наиболее широкое применение нашли такие объектно-ориентированные языки, как Си++, CLOS, Эйфффель, Java. Первым, как и единственно “настоящим” объектно-ориентированным языком программирования, многими специалистами принято считать Смолток.

Почему один и тот же язык одни считают объектно-ориентированным, другие – не объектно- ориентированным. Строго говоря, объектно-ориентированные языки должны обладать свойствами наследования, полиморфизма и инкапсуляции. Свойство наследования считается наиболее важным. Например, П. Вагнер дает такое определение: объектно-ориентированный = объекты + классы объектов + наследование. Отсюда следует, что языки программирования, манипулирующие с объектами, но не обладающими свойством наследования, например, Ада, Модула, Клу, не могут быть отнесены к объектно-ориентированным. В этом смысле и Visual Basic не является полностью объектно-ориентированным языком, хотя большинство относят его к таковым.

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

-