Лекции и учебные пособия по системному анализу

Системный анализ

«Системный анализ и проектирование»

Е. Н. Живицкая

Оглавление    
Лекция 2, «Понятие системы» Лекция 4, «Математическое описание систем» (1 часть)

Лекция 3: Системы. Модели систем

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

Первое определение системы

Начнем с рассмотрения искусственных, т.е. создаваемых человеком систем. Как уже отмечалось, любая деятельность человека носит целенаправленный характер. Наиболее четко это прослеживается на примере трудовой деятельности. Цели, которые ставит перед собой человек, редко достижимы только за счет его собственных возможностей или внешних средств, имеющихся у него в данный момент. Такое стечение обстоятельств называется «проблемной ситуацией». Проблемность существующего положения осознается в несколько «стадий»: от смутного ощущения что «что-то не так», к осознанию потребности, затем к выявлению проблемы и, наконец, к формулировке цели.

Цель — это субъективный образ (абстрактная модель) несуществующего, но желаемого состояния среды, которое решило бы возникшую проблему. Вся последующая деятельность, способствующая решению этой проблемы, направлена на достижение поставленной цели, т.е. как работа по созданию системы. Другими словами: система есть средство достижения цели.

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

N Цель Система
1 В произвольный момент указать время Часы
2 Обеспечить выпечку хлеба в заданном ассортименте для большого количества людей Пекарня
3 Передать зрительную и звуковую информацию на большое расстояние практически мгновенно Телевидение
4 Обеспечить перемещение людей в городе Городской транспорт

Отметим, что далеко не просто сформулировать цели так, чтобы имелось действительно очевидное соответствие между целями и системами. Например, только слова «практически мгновенно» в примере 3 отличает цель телевидения от цели кино или пересылки видеокассет. В то же время, между целью (абстрактной и конечной моделью) и реальной системой нет, и не может быть однозначного соответствия: для достижения заданной цели могут быть избраны разные средства — системы. С другой стороны, заданную реальную систему можно использовать и для других целей, прямо не предусмотренных при ее создании.

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

Модель «черного ящика»

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

Во-вторых, в определении системы косвенно говорится о том, что хотя «ящик» и обособлен, выделен из среды, но не является полностью от нее изолированным.

Модель черного ящика

Рис.3.1 — Модель «черного ящика»

Иначе говоря, система связана со средой и с помощью этих связей воздействует на среду. Эти связи называются выходами системы. Подчеркнем еще раз, что выходы системы в данной графической модели соответствуют слову «цель» в словесной модели системы (в первом определении). Кроме того, система является средством, поэтому должны существовать и воздействия на нее, т.е. такие связи со средой, которые направлены извне в систему, которые называются входами системы.

В результате мы построили модель системы, которая получила название «черного ящика» (см. рис.3.1). Это название образно подчеркивает полное отсутствие сведений о внутреннем содержании системы. В модели задаются только входные и выходные связи системы со средой, т.е. множество X и Y входных и выходных переменных. Такая модель, несмотря на внешнюю простоту и на отсутствие сведений о внутреннем строении системы, часто оказывается очень полезной. Отметим, однако, что построение модели «черного ящика» не является тривиальной задачей, так как на вопрос о том, сколько и какие именно входы и выходы следует включать в модель, ответ не прост и не всегда однозначен.

Модель состава системы

При рассмотрении любой системы обнаруживается, что ее целостность и обособленность, отображенные в модели черного ящика, выступают как внешние свойства. Внутренность же «ящика» оказывается неоднородной, что позволяет различать составные части самой системы. При более детальном рассмотрении некоторые части системы могут быть, в свою очередь, разбиты на составные части и т.д. Те части системы, которые мы рассматриваем как неделимые, называются элементами. Части системы, состоящие более чем из одного элемента, называют подсистемами. При необходимости можно ввести обозначения или термины, указывающие на иерархию частей. В результате получается модель состава системы, описывающая из каких подсистем и элементов она состоит (см. рис.3.2).

Модель состава системы

Рис.3.2.(a) — Модель состава системы

Пример модели состава системы:

Система Подсистема Элементы
Система телевидения «Орбита» Подсистема передачи Центральная телестудия
Антенно-передающий центр
Канал связи Среда распространения радиоволн
Спутники ретрансляторы
Приемная подсистема Местные телецентры
Телевизоры потребителей

Рис. 3.2.(b) — Модель состава системы

Модель структуры системы

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

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

Когда мы рассматриваем некую совокупность объектов как систему, то из всех отношений мы выбираем важные, т.е. существенные для достижения цели. Точнее, в модель структуры (в список отношений) мы включаем только конечное число связей, которые существенны по отношению к рассматриваемой цели. Например, при расчете механизмов не учитываются силы взаимного притяжения его деталей, хотя, согласно закону всемирного тяготения, такие силы объективно существуют. Зато вес деталей учитывается обязательно.

Второе определение системы. Структурная схема системы

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

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

Рассмотрим систему «синхронизируемые часы». Считаем, что в состав такой системы входят три элемента: датчик, индикатор и эталон времени. Структура часов определяется следующими отношениями между парами элементов:

Пара элементов Связь между ними
Датчик и индикатор Однозначное соответствие
Эталон и датчик Приблизительное соответствие
Индикатор и эталон Периодическое сравнение и устранение расхождения

Описанные связи указаны стрелками 1-3 между элементами на рис.3.3. Вход 4 изображает поступление энергии извне, вход 5 соответствует регулировки индикатора, вход 6 — показанию часов.

Структурная схема системы синхронизируемые часы

Рис.3.3 — Структурная схема системы синхронизируемые часы

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

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

Пример графа

Рис.3.4 — Пример графа

Если направления связей не обозначаются, то граф называется неориентированным, при наличии стрелок — ориентированным. Данная пара вершин может быть соединена любым количеством ребер; вершина может быть соединена сама с собой (тогда ребро называется петлей). Если в графе требуется отразить другие различия между элементами или связями, то либо приписывают ребрам различные веса (взвешенные графы), либо раскрашивают вершины или ребра (раскрашенные графы).

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

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

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

Линейные, древовидные, матричные и сетевые структуры

Рис. 3.5 — Линейные, древовидные, матричные и сетевые структуры

Динамические модели систем

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

Системы, в которых происходят какие бы то ни было изменения со временем называются динамическими, а модели, отображающие эти изменения, — динамическими моделями систем.

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

Функционирование и развитие

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

Развитием» называют то, что происходит с системой при изменении ее целей. Характерной чертой развития является тот факт, что существующая структура перестает соответствовать новой цели. Для обеспечения новой функции приходится изменять структуру, а иногда и состав системы, т.е. перестраивать всю систему. Возможны и такие системы, для функционирования которых какие-то ее подсистемы должны быть постоянно в развитии. Типы динамических моделей.

При математическом моделировании некоторого процесса его конкретная реализация описывается в виде соответствия между элементами множества входов системы X «возможных значений» x и элементов упорядоченного множества T «моментов времени» t, т.е. в виде отображения:

T → X: x(t) ∈ XT, t ∈ T.

С помощью этих понятий строятся математические модели систем.

Рассматривая выход y(t) системы как ее реакцию на входы x(t)= u(t),v(t) (управляемые u(t) и управляемые v(t)), можно представить модель «черного ящика» как совокупность двух процессов (см. рис.3.6):

XT = {x(t)} и YT = {y(t)}, t ∈ T

Динамическая модель черного ящика: задание процесса на входах и выходах системы

Рис.3.6 — Динамическая модель «черного ящика»: задание процесса на входах и выходах системы

Если даже считать y(t) результатом некоторого преобразования Ф процесса x(t), т.е. y(t)=Ф[x(t)], то модель «черного ящика» предполагает, что это преобразование неизвестно. В том случае, когда имеем модель «белого ящика» соотношение между входом и выходом должно быть описано. Способ описания зависит от того, что нам известно и в какой форме можно использовать эти знания. На практике наблюдая входы и выходы системы можно восстановить функцию y=Ф(x). По существу это задача о переходе от модели «черного ящика» к модели «белого ящика» по наблюдениям входов и выходов при условии безинерционности системы.

Общая математическая модель динамики

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

η: Z × T → Y, что y(t) = η[t, z(t)]

Явная зависимость от t введена для учета возможности изменения зависимости выхода от состояния с течением времени. Это отображение называется отображением выхода.

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

μα: Z × X() → Z,

заданных для всех значений параметров

t ∈ T, τ ∈T и τ ≤ t

Это означает принятие аксиомы о том, что состояние в любой момент t однозначно определяется состоянием z и отрезком реализации входа х( )

z(t) = μα[Zτ, X()] = σ[t, τ, Zτ, X()].

Такое отображение называется переходным отображением.

Итак, математическая модель системы, соответствующая уровню «белого ящика», — это задание множества входов, состояний и выходов, и связей между ними:

X →σ Z →η Y

Конкретизируя множества X, Z и Y и отображения можно перейти к содержательным моделям различных систем. Говорят о дискретных или непрерывных по времени системах в зависимости от того, дискретно или непрерывно множество Т. Далее, если множества X, Z и Y дискретной по времени системы имеет конечное число элементов, то такую систему называют конечным автоматом. Это довольно простой класс систем в том смысле, что для исследования конечных автоматов необходимы лишь методы логики и алгебры. В то же время это широкий и практически важный класс, так как в него входят все дискретные (цифровые) измерительные, управляющие и вычислительные устройства.

Если X, Z и Y — линейные пространства, а есть- линейные операторы, то и система называется линейной. Если к линейной системе предъявить дополнительные требования, состоящие в том, чтобы пространства имели топологическую структуру, а отображения были непрерывны в этой топологии, то мы приходим к гладким системам. Не вдаваясь в математические подробности, отметим, что задание топологической структуры множества позволяет строго определить основные понятия анализа на этом множестве, например сходимость последовательностей на нем, а так же вводить метрику (меру близости между элементами пространства).

Стационарные системы

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

h[t, z(t)] = h[z(t)],

σ[t, t0, z, x(.)] = σ[t+τ0, t0+τ, z,xτ(.)].

Конкретизация моделей динамических систем на этом, конечно, не заканчивается. Приведенные модели скорее всего являются просто примерами, которые можно рассматривать отдельно. Но на одном свойстве реальных динамических систем следует остановиться. Речь идет о подчинении реальных систем принципу причинности. Согласно этому принципу, отклик системы на некоторое воздействие не может начаться раньше самого воздействия. Это условие, очевидное для реальных систем, совсем не автоматически выполняется в рамках их математических моделей. При этом модель, в которой нарушается принцип причинности, совсем не является «плохой», бесполезной. Примером служит модель фильтра с конечной полосой пропускания. Отклик такой системы на короткий импульс имеет вид Sin(wt)/(wt), т.е. начинается в минус бесконечности. Несмотря на явное нарушение принципа причинности, такую модель широко используют в радиотехнике. Однако, как только возникает вопрос о практической реализации такого фильтра, используются различные допущения. В связи с этим одна из проблем теории динамических систем состоит в выяснении условий физической реализуемости теоретических моделей, т.е. конкретных ограничений, которые приходится накладывать на модель при соблюдении принципа причинности.

Подведем итог

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

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

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

Общие сведения о методологии IDEF0

Создание современных информационных систем представляет собой сложнейшую задачу, решение которой требует применения специальных методик и инструментов. Неудивительно, что в последнее время среди системных аналитиков и разработчиков значительно вырос интерес к CASE-технологиям и инструментальным CASE-средствам, позволяющим максимально систематизировать и автоматизировать все этапы разработки программного обеспечения: СASE-средство верхнего уровня Bpwin, поддерживающее методологии IDEFO. Erwin — case средство, позволяющее осуществить прямое и обратное проектирование базы данных, поддерживает методологию IDEF1X. Сase-средство BPwin значительно облегчают задачу создания информационной системы, позволяя осуществить декомпозицию сложной системы на более простые с тем, чтобы каждая из них могла проектироваться независимо, и для понимания любого уровня проектирования достаточно было оперировать с информацией о немногих ее частях.

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

Стандарт IDEF0 базируется на трех основных принципах:

  1. Принцип функциональной декомпозиции — любая функция может быть разбита на более простые функции;
  2. Принцип ограничения сложности — количество блоков от 2 до 8 (в BPwin) условие удобочитаемости;
  3. Принцип контекста — моделирование делового процесса начинается с построения контекстной диаграммы, на которой отображается только один блок — главная функция моделирующей системы.

Специализированным средством создания IDEF0 диаграмм является BPwin. Это лучшее средство в своем классе. Пакет BPWin предназначен для функционального моделирования и анализа деятельности предприятия. Модель в BPWin представляет собой совокупность SADT-диаграмм, каждая из которых описывает отдельный процесс в виде разбиения его на шаги и подпроцессы. С помощью соединяющих дуг описываются объекты, данные и ресурсы, необходимые для выполнения функций. Имеется возможность для любого процесса указать стоимость, время и частоту его выполнения. Эти характеристики в дальнейшем могут быть просуммированы с целью вычисления общей стоимости затрат — таким образом выявляются узкие места технологических цепочек, определяются затратные центры. BPWin может импортировать фрагменты информационной модели из ERWin (при этом сущности и атрибуты информационной модели ставятся в соответствие дугам SADT-диаграммы). Генерация отчетов по модели может осуществляться в формате MS Word и MS Excel.

Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы — главные компоненты модели, все функции и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Диаграммы строятся при помощи блоков (см. рис.1.1).Каждый блок описывает какое-либо законченное действие. Четыре стороны блока имеют различное предназначение. Слева отображаются входные данные — исходные ресурсы для описываемой блоком функции (исходная информация, материалы); Справа показываются выходные ресурсы — результирующие ресурсы, полученные в результате выполнения описываемой блоком функции; Сверху управление — то, что воздействует на процесс выполнения описываемой блоком функции и позволяет влиять на результат выполнения действия (средства управления, люди); Механизм изображается снизу — это то, посредством чего осуществляется данное действие (станки, приборы, люди и т.д.).

Построение диаграммы Bpwin

Рис.3.7 — Построение диаграммы Bpwin

Иерархия диаграмм

Построение SADT-модели начинается с представления всей системы в виде простейшей компоненты — одного блока и дуг, изображающих интерфейсы с функциями вне системы. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг — они также представляют полный набор внешних интерфейсов системы в целом. Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.

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

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

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

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели.

Как уже отметили главный процесс — это создать курсовой проект. На входе этого процесса — исходные данные по заданию. В качестве управляющего воздействия выступает методическое пособие, ГОСТы, необходимые требования.

Механизм осуществления создания курсового проекта — программное обеспечение, с помощью которого представлен материал и разработан проект и исполнитель проекта(студент)

Блок Создать курсовой проект

Рис.3.8 — Блок «Создать курсовой проект»

Блок Создать курсовой проект

Рис.3.9 — Блок «Создать курсовой проект»

Декомпозиция блока Произвести анализ предметной области

Рис.3.10 — Декомпозиция блока «Произвести анализ предметной области»

Декомпозиция блока Создать проект

Рис.3.11 — Декомпозиция блока «Создать проект»

Оглавление    
Лекция 2, «Понятие системы» Лекция 4, «Математическое описание систем» (1 часть)