Содержание курса

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

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

Термин

Значение

Границы проекта (project scope)

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

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

Чтобы правильно проектировать функции системы, для начала необходимо четко понимать, что же такое система?

А для этого погрузимся ненадолго в теорию систем.

1.    Теория систем. Часть 1 (начало)

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

С точки зрения происхождения системы могут подразделяться на:

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

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

  • технические (автомобили, электростанции);

  • абстрактные (философия, математика, экономика);

  • социальные (семья, этнос, социальная сеть).

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

  • экологические (сочетание физических, биологических, технических и социальных систем);

  • организационные (группы, государства, партии);

  • процессные (алгоритмы, технологии, жизненный цикл);

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

Рассмотрим основные свойства системы, помогающие познавать ее.

Статические свойства:

1.1.  Свойство системы Целостность.

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

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

Например, если из Кубика Рубика изъять один из элементов, то смысл его существования, как головоломки полностью теряется.

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

1.2.  Свойство системы Открытость.

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

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

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

Основные характеристики открытых систем:

  • Обмен с внешней средой — получение и отдача энергии, информации или вещества.

  • Эволюция — развитие системы через взаимодействие с внешней средой.

  • Неполная автономность — зависимость от внешних условий для поддержания существования.

  • Открытые границы — наличие каналов обмена с внешней средой.

Основываясь на этих размышлениях, логично сделать выводы о преимуществах открытых систем:

  • Гибкость и адаптация к изменениям внешней среды.

  • Возможность эволюции и саморазвития.

  • Способность к обмену ресурсами с другими системами.

  • Устойчивость за счёт динамического равновесия.

  •  Взаимодействие с другими системами для повышения эффективности

Но есть и обратная сторона медали, взглянув на которую явно высвечиваются и недостатки:

  • Зависимость от внешней среды — отсутствие ресурсов может привести к сбоям.

  • Уязвимость к внешним воздействиям — внешние кризисы могут дестабилизировать систему.

  • Сложность управления — высокая степень взаимодействия делает систему менее предсказуемой.

  • Проблемы с равновесием — избыточный или недостаточный поток ресурсов нарушает баланс.

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

Термин

Значение

Идеально открытая система

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

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

В современном мире совершенно очевидно, что сочетание «идеально открытые», вовсе не означает, превосходство открытых систем. В наш век кибератак это скорее проблема, чем преимущество.

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

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

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

  • Игнорирование внутренней структуры:
    Важным считается только поведение системы на уровне входа и выхода.

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

  • Возможность управления без понимания устройства:
    Для управления системой достаточно подобрать правильное воздействие на входе для получения желаемого результата на выходе.

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

Но вернемся к теории систем и продолжим рассматривать свойства системы.

1.3.     Свойство системы Внутренняя неоднородность.

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

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

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

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

Поскольку, понятие однородности не стандартизировано и может трактоваться по-разному, то возникают разные модели состава подсистем. Отсюда возникает дилемма построения модели состава системы:

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

Подходы в определении состава автомобиля
Подходы в определении состава автомобиля

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

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

1.4.     Свойство системы Структурированность.

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

Это означает наличие:

1)    определенной внутренней организации системы (как целей, содержания);

2)    системообразующих связей элементов (как концепции, методов);

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

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

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

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

  • Система состоит из нескольких уровней управления.

  • Каждый уровень принимает решения в рамках своей компетенции.

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

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

 Рассмотрев Статические свойства, перейдем к Динамическим:

1.5.     Свойство системы Функциональность

Функциональность - способности системы проявлять свою полезность при преобразовании ресурса (объекта функции) в продукт с требуемыми характеристиками, в соответствии с целями, для которых система была создана или существует.

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

В этом контексте, появление цели – это результат осознания потребности, а выполнение функции – реализация потребности.

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

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

  • поведение во внешней среде;

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

  • результаты ее деятельности;

  • продукция, производимая системой.

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

Принципиально важно отдавать себе отчет, что Функциональность системы — это её внешнее свойство, проявляющееся только в процессе взаимодействия с окружающей средой и наблюдаемое только снаружи системы. Это означает:

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

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

  • Разделение уровня структуры и функции. Функциональность — это результат работы системы в контексте внешней среды, а не её внутреннего состояния. Система "не знает", что выполняет полезную функцию — это определяет внешний наблюдатель.

  • Отсутствие обратной связи на уровне сознания. Система может целенаправленно получать обратную связь о результатах своей работы.

  • Функциональность — это внешняя оценка. Функциональность системы оценивается извне — пользователем или наблюдателем.

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

Свойство функциональности напрямую выводит нас на следующее свойство системы.

1.6.     Свойство системы Стимулируемость

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

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

Реакция системы на стимулы может быть разной в зависимости от характера сигнала:

  • Адаптивная — система изменяет поведение для работы в новых условиях.

  • Корректирующая — система устраняет отклонения и восстанавливает стабильное состояние.

  • Предупреждающая — система предотвращает возникновение нежелательных состояний.

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

Внешнее дополнение может включать:

  • Энергетические ресурсы (например, подача топлива для работы двигателя).

  • Информационные ресурсы (например, новые алгоритмы для улучшения работы ИИ).

  • Управляющее воздействие (например, внешнее руководство в кризисной ситуации).

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

Внешнее дополнение может характеризоваться, как положительными эффектам, например:

  • Устойчивость системы возрастает за счёт внешних ресурсов.

  • Повышается эффективность работы системы.

  • Ускоряется процесс адаптации к изменениям среды.

  • Устраняются внутренние дисбалансы и недостатки.

  • Система получает доступ к новому опыту и знаниям.

Так и ограничениями и рисками:

  • Зависимость от внешних ресурсов. Если система становится слишком зависимой от внешнего вмешательства, это снижает её автономность.

  • Несовместимость элементов. Внешнее дополнение может нарушить структуру системы, если оно не соответствует её логике работы.

  • Потеря устойчивости. Чрезмерное внешнее влияние может привести к нестабильности системы.

  • Конфликт целей. Внешнее управление может противоречить внутренним целям системы.

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

  • Если порог слишком низкий → система будет реагировать на незначительные сигналы (избыточная реакция).

  • Если порог слишком высокий → система не будет замечать слабые сигналы (недостаточная реакция).

Параметр

Описание

Пример

Чувствительность

Насколько система восприимчива к слабым сигналам

Датчик света реагирует на изменение освещённости в 1 люкс

Скорость реакции

Время, за которое система реагирует на стимул

Автоматическое торможение срабатывает за 0,1 сек

Точность реакции

Насколько точно реакция соответствует стимулу

Система охлаждения поддерживает температуру с точностью до 0,1°C

Гибкость реакции

Способность системы изменять характер реакции

Режимы работы вентилятора в зависимости от температуры

Избирательность

Способность системы игнорировать незначительные стимулы

Игнорирование шума ниже 30 дБ в системе шумоподавления

Стабильность

Способность сохранять реакцию при повторяющихся стимулах

Стабильная работа при частых командах от пользователя

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

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

Итак, подведя итоги вышесказанному, можно констатировать, что Функции ИТ-системы – это действия компонентов ПО (преобразования входов в выходы), необходимые для выполнения Информационной системой своих задач, обусловленных целью пользователей.

Исходя из свойства «Внутренняя неоднородность» - функции компонента определяются собственными свойствами компонента и его связями с другими компонентами.

Исходя из свойства «Структурированность» - между функциями компонентов имеются связи подчинения и согласования, вследствие чего можно представить иерархическую структуру функций компонентов.

Исходя из свойства «Стимулируемость» и «Функциональность» систему следует рассматривать в совокупности с ее Параметрами – величинами, характеризующими качество, свойствами или режимами работы объекта. Параметры могут быть Выходными, Внутренними и Внешними.

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

2.    Классификация функций системы

По традиции, начнем рассмотрение темы с классификации ключевых элементов - функций системы.

По степени воздействия на внешнюю среду и характером взаимодействия с другими системами, функции делятся на:

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

  • Обслуживающие – обеспечивающие функционирование системы более высокого порядка, например предоставляя простые услуги и сервисы;

  • Противостояния - противодействующие другим системам, например системы безопасности;

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

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

  • Адаптивные - приспосабливающие систему к окружающей среде, например встроенные переводчики языков, проверки орфографии;

По характеру проявления, функции делятся на:

  • Явные - проявляются открыто;

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

По содержанию, функции делятся на:

  • Целевые – направленные на решение основных целей, стоящих перед системой;

  • Ролевые - обуславливаемые ролями, выполняемые системой;

  • Деятельностные - определяющие направления деятельности системы;

По характеру действия, функции делятся на:

  • Непрерывные - действуют непрерывно, постоянно;

  • Дискретные - действуют прерывисто, дискретно;

По характеру времени действия, функции делятся на:

  • Временные - выполняются системой эпизодически;

  • Постоянные - выполняются системой постоянно;

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

В следующей части мы рассмотрим практические инструменты для моделирования функций.

Комментарии (5)


  1. shadovv76
    06.06.2025 06:42

    Я по образованию (прямо по диплому) "системотехник" и 25 лет проектирую системы. Я прочитал эту статью и просто не могу понять в чем смысл этого лонгрида. Зачем эти бесконечные перечисления каких-то классификаций. В чем прикладной смысл всего этого. Это для преподавателей или для инженеров? Наверное если я не напишу, то здесь вообще не будет комментариев потому, что такая подача отталкивает целевую аудитори. Рекомендовал бы использовать реальные примеры для КАЖДОГО классифицированного признака, чтобы хоть что-то запомнилось из прочитанного. Вангую, что в результате данных примеров и их притянутости 80% всех выявленных признаков можно будет отправить в забвение. Общее впечатление, что есть тема надо что то написать страниц на 10. Как в советском фильме: И мы с вами выяснили, что.... Не бывает сна без сновидений, а функциональности без функций :) Хочу подчеркнуть, что не хочу обидеть автора, а критикую только текст!


    1. ARadzishevskiy Автор
      06.06.2025 06:42

      Добрый день! Я тоже по основному образованию системотехник и 36 лет занимаюсь проектированием. По совместительству, последние 6 лет еще преподаю в ВУЗе (и не только), в том числе промышленное проектирование ИС. Этот курс меняется все 6 лет, по результатам обратной связи, в том числе и по этим публикациям. Спасибо всем, кто оставил комментарии .

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

      Для более простой Предметной области пример функционального моделирования будет рассмотрен в следующей части.


      1. shadovv76
        06.06.2025 06:42

        я не ставил под сомнение ваш опыт, а свой указал исключительно с целью, что я не "просто мимо проходил" :)

        что касается преподавания в ВУЗах, то выпускники приходят с довольно очаговыми познаниями и по большей части потому, что не усваивают материал в том числе из-за скучной подачи. так называемые зумеры. И самое то очевидное что это не они должны подстраиваться... Через 10-15 лет это будет их мир.


        1. ARadzishevskiy Автор
          06.06.2025 06:42

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

          Для Зуммеров готовлю дополнительно и видео вариант курса более доступный их пониманию: https://www.youtube.com/watch?v=KTCdJDnLs6g&list=PLoi3EglG5oUpvdNLUG7eQVUczgQkpi9Pf но на YouTube тяжело структурировать материал.


  1. zababurin
    06.06.2025 06:42

    Интересная статья. Попробую вставить к себе )