Содержание курса
Инфраструктура (ландшафт) для организации проектной деятельности
Инжиниринг бизнес-процессов заказчика. 1. Применение UML Activity
Разработка логической структуры данных. 2. Паттерны проектирования применительно к структуре данных.
Моделирование поведения целевой системы. 1. Теория систем Часть 2
Моделирование поведения целевой системы. 2. Поведенческие диаграммы UML
Моделирование поведения целевой системы. 3. Моделирование процессов управления
Формирование спецификаций требований на создание целевой ИС
Управление изменениями требований и организация эффективного взаимодействия в команде производства ИТ продукта
Организация процессов проектирования в производстве ИТ-продукта
После того как мы определились с перечнем основных сценариев, выявили сущности предметной области и спроектировали для них хранилище, необходимо соотнести все эти артефакты друг с другом, распределив поведение системы по ее классам.
Как обычно зададим цели на следующий этап работ: На основании выявленных сущностей и процессов, разрабатываемого целевого продукта спроектировать поведение системы, распределив ее по классам.
Добавим на диаграмме, иллюстрирующей наш процесс, новый элемент – Модель поведения, связанный, как упоминалось выше, со Сценариями и Моделью данных.

1. Теория систем. Часть 2
На шаге, выявления функции разрабатываемого продукта, мы начали рассматривать основные свойства системы, с точки зрения системного анализа, затронув статические и динамические свойства. Теперь же, когда мы моделируем поведение системы, продолжим обзор характеристик, связанных с изменчивостью, а также поговорим о синтетических свойствах.
1.1. Свойство системы Изменчивость со временем
В любой системе происходят изменения, которые надо учитывать, предусматривать и закладывать в проект будущей системы, способствовать или противодействовать им, ускоряя или замедляя их при работе в продукте. При этом внутренними изменениями называют только такие, при которых состав и структура системы фиксируемы, а изменения между частями динамичны.
Поскольку система, как мы рассмотрели ранее, обладает составом и структурой, то все изменения – это преобразования либо в составе, либо в структуре, либо в них обоих. Исходя из этого общая практика работы с реальными система позволяет разделить изменчивость на две категории:
1) Рост – качественное изменение в основном состава системы
2) Развитие – качественное изменение свойств системы.
Справедливости ради заметим, что есть и обратные процессы росту и развитию – спад и деградация. А всю историю от рождения до гибели со взлетами и падениями – называют жизненным циклом системы.
Термин |
Значение |
Жизненный цикл |
развитие системы, продукта, услуги, проекта или других изготовленных человеком объектов, начиная со стадии разработки концепции и заканчивая прекращением применения. |
На Жизненный цикл существования системы кардинальным образом влияют факторы и условия возникновения внутренней изменчивости. Рассмотрим аспекты форм изменчивости системы:
1) Эволюционная изменчивость
Изменения происходят постепенно, в результате накопления небольших модификаций и адаптации к изменяющимся условиям.
Характеристики:
Постепенность;
Стабильность функционирования;
Отсутствие резких скачков в поведении;
Например, Исхак Адизес представил модель жизненного цикла компании, описав последовательность этапов развития организации. Смотри рисунок ниже.

2) Революционная изменчивость
Изменения происходят резко, в результате значительных внешних или внутренних воздействий.
Характеристики:
Резкий переход к новому состоянию;
Возможна потеря части функциональности;
Высокие риски отказа системы;

Например, доставка заказов курьером-беспилотником. Еще лет 5 назад это было в новинку, а их использование сопряжено с большим количеством неудач и экспериментов.
3) Адаптивная изменчивость
Система изменяется в ответ на внешние воздействия с целью сохранения стабильности работы.
Характеристики:
Поддержание работоспособности при изменении среды;
Минимальные потери функциональности;
Автоматическая подстройка параметров;
Например, самообучающаяся антиспам-система. Система подстраивается под новые виды спама, анализируя входящие письма и пользовательские действия.
4) Деградационная изменчивость
Система постепенно теряет функциональность из-за износа или несовместимости с новыми условиями.
Характеристики:
Постепенное снижение эффективности;
Потеря части функций;
Увеличение числа сбоев и ошибок;

Вспомните мессенджер Skype.
Не вспомнили?
А вед еще совсем недавно он был одной из самых популярных коммуникационных систем.
5) Управляемая изменчивость
Система изменяется целенаправленно для повышения эффективности и функциональности.
Характеристики:
Выполнение заранее спланированных изменений;
Улучшение производительности;
Добавление новых функций;
Например, переобучение(дообучение) нейросети.
В Кибернетике есть принципы, дополняющие понимание внутренней изменчивости:
Принцип саморегуляции - фундаментальный принцип Кибернетики, согласно которому сложные системы способны поддерживать устойчивое состояние и компенсировать внешние или внутренние возмущения без вмешательства извне с помощью внутренних механизмов обратной связи. Таким образом саморегуляция основана на механизмах обратной связи (преимущественно отрицательной) и ее важной характеристикой является способность системы адаптироваться к изменениям среды, сохраняя целостность и функциональность.
Для реализации саморегуляции обычно используют механизмы:
Негативная обратная связь (отрицательная обратная связь). Система реагирует на отклонение, снижая эффект этого отклонения и возвращая систему в равновесие.
Положительная обратная связь. Система реагирует на отклонение, усиливая это отклонение до достижения нового состояния равновесия.
Адаптивная обратная связь. Система накапливает опыт и использует его для выбора оптимальных стратегий в будущем.
Дискретная обратная связь. Регулирование происходит скачкообразно по заранее заданным порогам.
Таким образом для эффективного воспроизведения принципа саморегуляции системы, ее необходимо наделить следующими ключевыми элементами:
1) Цель или эталонное состояние — состояние, к которому стремится система.
2) Входные данные — информация о состоянии системы и среды (показания датчиков, сигналы и т.д.).
3) Обратная связь — механизм получения информации о результате работы системы.
4) Оценка отклонений — сравнение текущего состояния с эталонным.
5) Коррекция поведения — автоматическое изменение параметров системы для устранения отклонений.
Принцип гомеостаза. Фундаментальный принцип Кибернетики, согласно которому любая сложная система стремится поддерживать внутреннее равновесие и стабильность в условиях внешних воздействий и изменений среды.
Суть принципа состоит в том, что система имеет устойчивое состояние (гомеостаз), которое обеспечивает её нормальное функционирование. При внешних или внутренних нарушениях система стремится вернуться к равновесию с помощью механизмов саморегуляции. Основой гомеостаза является обратная связь, заставляющая систему анализировать отклонения и корректировать своё поведение.
Например, при переломе кости руки, ткани опухают и твердеют, а боль заставляет принять меры реабилитации.
При этом важно учитывать суть второго закона термодинамики (Энтропия):
Во всех замкнутых системах со временем происходит увеличение энтропии (меры хаоса). Любая система без внешнего вмешательства стремится перейти в состояние максимальной энтропии — полного беспорядка.
Это приводит к тому, что:
Упорядоченные структуры со временем разрушаются.
Энергия системы постепенно рассеивается, становится менее доступной для выполнения работы.
Процессы самопроизвольно идут в сторону деградации и равновесия с окружающей средой.
В кибернетике принцип возрастания энтропии объясняет, почему без регулярного контроля и обратной связи сложные системы приходят в состояние хаоса. Например, без обновления и контроля программного кода сложная система становится нестабильной. Поэтому введения в управление механизмов контроля и корректировки поведения системы снижает энтропию. Пример, внедрение бизнес-правил в компании для повышения эффективности и контроль за их четким соблюдением.
В экономике энтропия проявляется в снижении конкурентоспособности компании без адаптации к рынку. Например, без инноваций и реагирования на рыночные изменения бизнес приходит в упадок.
1.2. Свойство системы Существование в изменяющейся среде
Изменяется не только данная система, но и все остальные, окружающие ее. Для данной системы это выглядит как непрерывное изменение окружающей среды.
Неизбежность существования в постоянно изменяющемся окружении имеет множество последствий для самой системы, начиная с необходимости ее приспособления к внешним переменам, чтобы не погибнуть, до различных других реакций системы.
При этом под внешней средой следует считать:
Физические факторы — температура, давление, климат, природные катаклизмы.
Социальные факторы — изменения в поведении пользователей, спросе, общественных ценностях.
Экономические факторы — колебания цен, кризисы, инфляция.
Политические факторы — изменения в законодательстве, санкции, геополитическая нестабильность.
Технологические факторы — развитие новых технологий, появление альтернативных решений.
Все эти факторы могут влиять как на элементы системы, так и на ее структуру, обосновывая рассмотренное выше свойство «Изменчивость со временем».
В Кибернетике есть принципы, дополняющие понимание о внутренней изменчивости:
Принцип адаптации. Фундаментальный принцип кибернетики, согласно которому система способна изменять своё поведение и внутреннюю структуру в ответ на изменения внешней среды для сохранения эффективности и достижения целей.
Принято рассматривать следующие механизмы адаптации:
Программная адаптация. Система использует заранее заложенные алгоритмы адаптации (например, термостат).
Обучающая адаптация. Система учится на основе накопленного опыта (например, машинное обучение).
Эволюционная адаптация. Система изменяет структуру в процессе проб и ошибок (например, биологическая эволюция).
Суть реализации принципа адаптации схожа с методами Самоорганизации системы:
1) Реакция на внешние и внутренние изменения. Система должна выявлять отклонения от нормы и изменять свою стратегию управления для возвращения к стабильности.
2) Обратная связь как основа адаптации. Система получает информацию о своих действиях и результатах через механизмы обратной связи и использует её для анализа и корректировки поведения.
3) Самообучение и улучшение алгоритмов. Продвинутые адаптивные системы могут анализировать накопленный опыт и изменять алгоритмы управления для повышения эффективности.
4) Гибкость в выборе стратегии. Система должна иметь возможность переключаться между различными способами управления в зависимости от условий.
5) Поддержание устойчивости в изменяющейся среде. Адаптивная система должна сохранять работоспособность даже при значительных изменениях внешней среды.
Перейдем к синтетическим свойствам:
1.3. Свойство системы Эмерджентность
Пожалуй, это свойство более всех остальных говорит о природе систем.
Суть его в том, что объединение частей в систему порождает у системы качественно новые свойства, которых нет и не было ни у одной из ее частей. Другими словами: свойства системы не сводятся к свойствам ее частей, даже не выводятся из нее, а присущи только системе в целом. Система есть нечто большее, нежели простая совокупность частей.
Исходя из определения, за эмерджентные свойства ответственность лежит не на частях, а на структуре системы. Поэтому системные свойства прежде всего определяются из того, как действует не каждая часть, а тем, как взаимодействует каждая из них.
При этом улучшение работы части в системе, как правило, не улучшают работу самой системы (а иногда даже ухудшают).
Гради Буч привел наглядное объяснение этого свойства на примере:
«Самолет — это совокупность деталей, каждая из которых сама по себе стремится упасть на землю. Но благодаря своим непрерывным совместным усилиям они преодолевают эту тенденцию».
В отличие от других свойств эмерджентные свойства не могут быть полностью предсказаны на основе анализа отдельных компонентов системы и возникают только при сложных и динамичных взаимодействиях элементов системы. Эмерджентные свойства зависят от структуры системы и характера связей между элементами.
Поэтому рассматривая эмерджентность системы важно учитывать следующие аспекты:
Невозможность линейного анализа. Невозможно изучить систему только через анализ её элементов — важнее учитывать взаимодействия между ними.
Ограниченность контроля. Невозможно полностью управлять системой, если её поведение определяется эмерджентными свойствами.
Потенциал для инноваций. Эмерджентность открывает возможности для появления новых функций и поведения, которые невозможно спроектировать напрямую.
Риски и уязвимости. Неожиданные эмерджентные эффекты могут привести к кризисам, поломкам или социальным потрясениям.
Например, Марк Цукерберг, развивая идею социальной сети Facebook, вряд ли мог предположить, что когда число пользователей перевалит за 2 миллиарда, у нее возникнет побочное эмерджентное свойство – возможность влиять на президентские выборы в США 2020 года. Цукербергу тогда даже пришлось предстать перед судом.
1.4. Свойство системы Неразделимость на части
Это свойство является простым следствием эмерджентности, его практическая важность столь велика, а его недооценка встречается так часто, что мы обратим на него особое внимание. Если нам нужна сама система, а не что-то иное, то ее нельзя разделять на части, поскольку оставшаяся после изъятия части система – это другая система. У нее другой состав, отсюда у нее и другая структура, отсюда у нее и другие свойства (в том числе и эмерджентные).

Еще одно важное уточнение: часть, изъятая из системы – это не то же самое, что эта часть в системе.
Поэтому рассматривая неразделимость системы важно учитывать:
Потеря функциональности при разложении. Если система функционирует как единое целое, её невозможно восстановить путём простой сборки компонентов.
Сложность восстановления после разрушения. При нарушении связей между элементами часто невозможно вернуть систему в исходное состояние.
Важность поддержания структуры. Для сохранения работоспособности системы необходимо поддерживать её структуру и связи между элементами.
Невозможность локального управления. В сложных системах нельзя просто «починить» отдельный элемент, если проблема кроется в характере взаимодействия элементов.
Например, при изменении программного обеспечения недопустимо анализировать только отдельный изменяемый модуль без учёта того, как он взаимодействует с другими. Только с учетом связей между компонентами можно гарантировать стабильность и производительность системы.
1.5. Свойство системы Ингерентность
Будем говорить, что система тем более ингерентная, чем лучше она согласована, приспособлена к окружающей среде, совместима с нею по ключевым функциям. Например, если электроприбор произведен для Европы и имеет рабочее питание 220 вольт, он будет не ингерентен в США, где напряжение в розетках 110 вольт. Но ингерентность может быть восстановлена через посредника, если применить специальный переходник-адаптер.
Очень важно учитывать, что особое значение ингерентности приобретается по отношению к той функции, которую необходимо применить. Например, если сравнивать приспособленность дельфина и аквалангиста к пребыванию в воде, то представитель морской фауны явно выигрывает, а если важна функция сварки в воде, то порядок ингерентности аквалангиста резко повышается.
Рассмотрим ключевые черты ингерентности как свойства системы:
Врожденность и неизменность. Ингерентные свойства изначально заложены в структуре системы и не могут быть изменены без разрушения системы. Например, ингерентное свойство алмаза – твердость, основывается на том, что при стабильных условиях атомы углерода организуются в алмазную кристаллическую решётку.
Неразрывная связь с сущностью системы. Если ингерентное свойство исчезает, система перестаёт быть самой собой. Например, при нарушении условий (температуры или давления) алмаз может превратиться в графит — термодинамически более стабильную форму углерода при обычных условиях.
Зависимость от внутренней природы системы. Ингерентные свойства зависят от устройства системы, а не от внешних условий. Например, твердость алмаза основана на кубической (алмазной решетке): каждый атом углерода связан с четырьмя другими по тетраэдрической схеме.
Стабильность и устойчивость. Ингерентные свойства сохраняются в течение существования системы, несмотря на внешние воздействия. Например, использование алмазов для резки, сверления, шлифовки, полировки твёрдых материалов практически не снижает его свойства - твердость.
Почему ингерентность важна в системном анализе?
Невозможность устранения без разрушения системы. Ингерентные свойства нельзя изменить без нарушения работоспособности системы.
Ограничения при модернизации. При проектировании систем необходимо учитывать ингерентные ограничения, заложенные в их структуре.
Надежность и предсказуемость. Ингерентные свойства делают поведение системы стабильным и предсказуемым.
Зависимость от внутренней природы. Внешние изменения не могут повлиять на ингерентные свойства, если они заложены в самой структуре системы.
Поскольку, как было сказано выше, ингерентность не абсолютное свойство системы, а привязано к некоторой конкретной функции, то при упорядочивании разных систем по степени ингерентности, в зависимости от рассматриваемой функции, даст разный результат.

Например, в разных карточных играх одни те же комбинации дают разный выигрыш.
1.6. Свойство системы Целесообразность.
В создаваемых человеком системах подчиненность всего (и состава, и структуры) поставленной цели признана фундаментальным свойством любой искусственной системы.
Цель, ради которой создается система определяет, какое эмерджентное и ингерентное свойство будет обеспечивать реализацию цели, а это в свою очередь диктует выбор состава и структуры системы. Одно из определений системы так и гласит: система есть средство достижения цели.
В Кибернетике есть схожий принцип:
Принцип целеустремленности, один из ключевых принципов кибернетики, согласно которому любая сложная система функционирует и развивается с учётом поставленной цели. Поэтому система функционирует на принципе стремления к достижению поставленной цели. Процессы в системе настраиваются так, чтобы минимизировать отклонения от намеченной цели. В процессе достижения цели система использует обратную связь, чтобы корректировать поведение и адаптироваться к изменениям внешней среды.
Управление системой всегда осуществляется в контексте поставленной цели — без цели система либо функционирует хаотично, либо её поведение нельзя считать управляемым.
Суть принципа целеустремлённости:
1) Наличие цели. У системы должна быть чётко сформулированная цель, к которой направлено её поведение.
2) Коррекция поведения на основе обратной связи. Система постоянно получает информацию о состоянии среды и о результате своих действий, чтобы скорректировать своё поведение для достижения цели.
3) Измеримость результата. Результат достижения цели должен быть измеримым и сопоставимым с исходной задачей.
4) Стабильность при достижении цели. Система должна стремиться к устойчивому состоянию после достижения цели и избегать чрезмерных колебаний.
5) Адаптация к изменяющимся условиям. Если среда изменяется, система должна корректировать свою стратегию для сохранения курса на достижение цели.
Например, в сфере образования. Преподаватели, учебные планы, расписание, инфраструктура — все подчинено единой цели: дать студентам знания, навыки и ценности, пригодные для применения в текущих реалиях производственного сегмента. Если система (ВУЗ) теряет цель (например, администрация заботится только о формальных рейтингах и отчетах), эффективность подготовки специалистов в учебном заведении падает.
В следующей части мы перейдем к рассмотрению практических приемов моделирования поведения.