При подготовке специалиста в области проектирования Информационных систем, важно учитывать конъектуру применения навыков в дальнейшем. Это может быть либо роль «Проектировщик» в каком‑то из проектов, либо постоянная профессия «Проектировщик ИТ‑продуктов».
Для кого предназначен курс?
Для ИТ аналитиков:
В курсе лекций, на примерах, Вы сможете глубже осознать принципы общения с заказчиком, при сборе и формализации требований. Освоить разные методы объяснения неопределенности доступным для большинства заинтересованных лиц способами, а также овладеть методикой построения конвейера по разработке спецификаций требований в ИТ проектах.
Для ИТ разработчиков:
Умение проектировать и с легкостью ориентироваться в моделях и требованиях к продукту предметной области, является важнейшим навыком зрелого программиста. Курс поможет структурировать знания в сфере выполнения проектных работ и эффективного использования их результата.
Для ИТ менеджеров:
Если у Вас случаются срывы сроков и бюджетов проекта, из-за отсутствия детального понимания контекста проекта, состава работ, требований к качеству и т.п., ознакомление с методикой позволит на самых ранних стадиях ИТ проекта с высокой точностью и глубокой детализацией определять объемы работ по созданию целевого продукта. Как следствие - разрабатывать реалистичные план-графики проекта, а также эффективно распределять ресурсы в нем.
Для студентов и выпускников ВУЗов:
Если вы получили специальность, связанную с ИТ, но не видите для себя перспектив на стезе программирования, попробуйте себя в роли ИТ аналитика. Освойте профессию, которая в ИТ проектах является центральной и выступает «мостиком» между заказчиком и остальной командой, реализующей проект.
1. О чем курс
В ходе изучения данного курса, мы с Вами обсудим методы и инструменты, позволяющие идентифицировать неизвестное, познавать непонятное, уточнять неопределенное, а также рассмотрим варианты того, как можно на основании этих исследований качественно сформировать требования для разработки ИТ‑продукта. Применение полученных навыков помогут эффективно сопровождать Заказчика на пути от выявления его болей и «хотелок», к плодотворному использованию программного продукта, раскрывающего его бизнес‑потенциал.
Как и положено в анализе, давайте для начала очертим круг проблем, которые мы должны охватить своим пониманием в ходе рассмотрения курса.
Обычно работа аналитика начинается со встречи … с неопределенностью.
Зачастую возникает необходимость представить и описать то, чего еще и на свете нет. Либо нечто такое многогранное и запутанное, что объяснить и понять целиком никто пока не смог. Существуют и другие формы неизвестности.
Но неопределенность в квадрате зачастую возникает еще на этапе осознания того, как же раскрыть истинную потребность клиента в цифровизации.
О том, как преодолевать подобные сложности и какие для этого существуют инструменты и методики мы будем с вами последовательно шаг за шагом обсуждать в ходе прохождения курса.
Итак, определив глобально область проблем, перейдем к области их решении.
Для начала обозначим Основные цели данного курса. В дальнейшем мы будем на каждом этапе определять цели, которые планируем достигать, и по которым сможем оценивать достигнутый результат.
Словом, мы должны:
Научиться выявлять истинные потребности заказчика и заинтересованных лиц в автоматизации. Формализовывать их в виде понятных структурированных описаний и моделей.
На примерах, рассмотреть возможные варианты «технологических линий» (наборов деловых процессов) позволяющих эффективно проектировать ИТ‑продукты и формировать требования для их реализации.
Отобрать и структурировать приемы и методики для каждого этапа разработки Требований. Подобрать наиболее подходящие варианты использования этих приемов для различных предметных областей, а также в зависимости от уровня подготовки команды.
Описать управленческие приемы, позволяющие аналитику общаться с заинтересованными лицами и эффективно продвигать результаты своего труда в проекте.
Обозначить ключевые моменты процесса разработки Требований для создания ПО, на которых стоит акцентировать особое внимание.
2. Определение предмета автоматизации
Длинный путь формирования требований к ИТ‑продукту, как правило начинается с первого шага, определения самого предмета автоматизации.
Собственно говоря, с одной стороны существует Реальный мир организации, со своими процессами, оборудованием, организационной структурой, продукцией и прочими атрибутами. С другой, вызов — создать Цифрового двойника бизнеса, который обеспечит эффективное достижение его целей, но уже в виртуальном пространстве при помощи целевой Информационной системы.

Между этими мирами на начальном этапе и возникает Облако неопределенности, которое в процессе формирования Требований к ИТ-продукту должно быть заполнено результатом труда проектировщика.
Рисунок дает ясное представление, что проблема существования Облака неопределенности увязывает цели организации и информационные технологии. Проектировщик ИТ-систем и должен стать проводником идей, из мира бизнеса в мир ИТ-технологий и обратно.
Чем конкретно необходимо заполнить облако неопределенности? Давайте разбираться.
Для начала, чтобы мы имели одинаковое представление о сложных терминах, используемых в тексте, давайте разъясним их смысл в глоссарии:
Термин | Значение |
Облако неопределённости | это концепция, описывающая диапазон возможных исходов или вариантов, вызванных отсутствием полной информации или высокой сложностью ситуации. Термин часто используется в управлении проектами, стратегическом планировании, разработке систем и других областях, где точное прогнозирование является затруднительным. |
Образование облака неопределённости чаще всего обусловлено такими причинами:
Недостаток информации;
Сложность системы;
Изменчивость внешней среды;
Человеческий фактор;
Итеративный процесс;
Понимание Реальности может, например, достигаться через создание взаимосвязанных представлений о сущностях и явлениях, характерных для определенной отрасли, сферы деятельности и т. п. Это пространство осознания принято называть Предметной областью.
Термин | Значение |
Предметная область | это реальный или воображаемый мир, обусловленный совокупностью знаний, понятий, задач и объектов, в рамках каковой существуют проблемы, которые необходимо решить при помощи разрабатываемой (целевой) информационной системы. |
В целях описания Предметной области разработано множество методик проектирования, которые позволяют объяснить архитектуру предмета автоматизации в виде некоторого количества моделей и представлений. Обычно они охватывают такие категории, как: бизнес-процессы, сервисные функции, информация, поведение и прочие.

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

2) Исследование характеристик источников исходных данных. Важно анализировать не только данные/информацию, но и источники ее получения. В исходных данных встречаются показатели различной природы, представляемые в различных единицах измерения. Кроме того, данные часто оказываются неполны (фрагментарны) и зашумлены незначимыми, нежелательными элементами, искажающими или затрудняющими понимание.
3) Метод измерения состояний рассматриваемого объекта, предполагает оценивание значений его качественных атрибутов, внутреннего устройства, принципов применения и эксплуатации. Позволяет определить структуру, которая используется для оценки различных устойчивых состояний системы, процесса или субъекта (например, человека), с целью анализа особенностей их качеств, поведения или изменений во времени, под воздействием внешних и внутренних факторов.
4) Моделирование поведения и устойчивости состояний, дает возможность определить реактивность объекта или явления. То есть оценить возможности реагирования на различные воздействия в течении жизненного цикла и происходящие в ответ, изменения показателей значимых характеристик. Определяет теоретическую конструкцию, которая описывает, как индивиды или системы (например, организации, машины) рефлексируют в различных ситуациях. Позволяет прогнозировать их действия, которые можно ожидать в ответ на определенные стимулы или обстоятельства.
5) Анализ окружающей среды, рассматривает объект в процессе его взаимодействия с внешним миром, объясняя какие силы и как могут на него воздействовать, вызывая у него реакцию. Выявляет условия или ситуации, в которых реализуется поведение. Контекст может включать как физические обстоятельства, так и социальные, культурные или экономические факторы.
6) Модель управления, показывает возможности целенаправленного стимулирования поведенческих реакций в жизненном цикле объектов. Определяет теоретическую конструкцию, описывающую принципы, процессы и инструменты, используемые для планирования, организации, мотивации и контроля в рамках рассматриваемой сущности или явления. Помогают систематизировать процессы принятия решений.
7) Самоорганизация сложной системы (синергетика). Объясняет проявление новых свойств и возможностей, порождаемых в результате слаженного взаимодействия отдельных элементов системы и не присущих простой сумме их активностей. Описывает процессы, при которых система, состоящая из множества взаимодействующих элементов, организует свою структуру и поведение без централизованного управления, изменяя глобальный порядок или структуру на уровне всей системы.
8) Сценарный анализ, импульсное моделирование (Форсайт). Метод прогнозирования и оценки будущих событий или состояний, который основан на создании множества возможных сценариев развития ситуации. Помогает оценивать потенциальные риски, возможности и последствия различных вариантов событий и принимать более обоснованные решения в условиях неопределенности и изменчивости внешней среды
Так же существуют и прочие варианты, доступные для большинства исследователей некрупной и незатейливой неопределенности.
Если же неизвестность многоаспектная и запутанная, то требуется более серьезная подготовка для ее познания.
3.2. Метод анализа: Моделирование
Эта концепция рассматривает неопределенности и возможность их оценивания – через создание моделей вариантов допустимых решений. Принцип заключается в том, что при анализе паллиативных факторов, конструируются модели с различными вариантами параметров системы, позволяющими симулировать разные условия для выявление этих факторов и их анализа. Каждая модель является упрощенным аналогом оригинала, и в совокупности они уменьшают неопределенность разрабатываемой системы.
Термин | Значение |
Моделирование | это процесс создания упрощённого представления (модели) реальной системы, процесса или явления с целью анализа, понимания, прогнозирования или автоматизации. |
В корне моделирования лежит стратегия упрощения и абстрагирования:
Ограничение модели только необходимыми для решения задачи аспектами объекта;
Упрощение сложных явлений до ключевых характеристик;
Абстрагирование от лишних (несущественных для исследования) деталей;
Изучению методов моделирования в большей части и будут посвящены разделы данного курса. Тезисно этот процесс можно представить так:
В начале исследования обычно определяют цели заинтересованных лиц, через которые в дальнейшем и происходит первая конкретизация границ Предметной области, а в дальнейшем оценка удовлетворенности в достижении целей автоматизации. Процесс заключается в выявлении всех групп или индивидуумов, которые прямо или косвенно связаны с системой, которым нужно решение, на которых повлияет решение, кто сам влияет на решение и процесс его реализации и прочие, так или иначе связанные с решением. Так же выполняется анализ их влияния и интересов.
В процессе познания Предметной области для подавляющего большинства случаев возникает необходимость анализировать последовательности связанных деловых активностей, а также потребляемых и производимых ими ресурсов, с целю их структурирования и оптимизации или упрощения. Потому при разработке системных моделей эффективно используют методики моделирования бизнес-процессов.
Один из методов познания Предметной области сводится к рассмотрению ее как набора услуг (сервисов), затребованных заинтересованными лицами для решения поставленных перед ними задач. Инструменты для моделирования функций, помогают выявлять ИТ-сервисы разрабатываемой (целевой) системы и конструировать микросервисы.
Поскольку в современных условиях все больший вес приобретает информация, ее состав, качество, ценность и прочие характеристики, то использование методик проектирования информационных моделей, помогает распределять потоки данных, конструировать хранилища и управлять процессами их сбора, защиты, обработки и использования.
Для реактивных систем, одной из центральных моделей становятся поведенческие нотации, описывающие реакцию системы на воздействующие события и дающее понимание того, как система или объект ведёт себя в определённых условиях или при заданных обстоятельствах. Эти алгоритмы так же помогают конструировать модели управления.
При разработке клиентоориентированных систем важную роль играют модели, прототипирования интерфейсов пользователя и принципы взаимодействия с ним.
Все большее место занимают модели безопасности, выявляющие уязвимости, проецирующие угрозы и способы им противостоять.
В результате симбиоза разнообразных моделей, объясняющих непонятность исследуемой реальности с разных точек зрения, облако неопределенности заполняется подробными всесторонними представлениями, позволяющими понять аспекты автоматизируемой предметной области всеми заинтересованными лицами.

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

В этом контексте общая теория систем предполагает, что биологическая, психологическая и социологическая онтологические картины несводимы ни к физической, ни к друг другу, в связи с тем, что они соответствуют различным уровням реальности как таковой. А понятие Системы как раз и является фактором, объединяющим все эти уровни.
Представление неопределенности в виде Системы, состоящей из подсистем и входящей в более крупные метасистемы, позволяет достичь ее понимания через объяснение ее свойств.
Например:
Подчиненность всей организации системы некоторой цели;
Всякая система выступает как нечто единое, целое, обособленное, отличающееся от всего остального;
Части наделяют систему определенной структурой;
Все системы меняются со временем;
Система существует в изменяющемся мире.
Другие…
Таким образом решение проблемы в системном подходе строится на понимании природы сущностей и явлений через обозрение и описание таких их черт и особенностей конструкции, которые:
присущи всем системам без исключения, независимо от их искусственного или естественного происхождения, материального или идеального воплощения;
представляют множество свойств, отобранных по признаку их необходимости для представления целостной системы.
Полученный таким образом список свойств можно назвать дескриптивным (описательным) определением системы. Установив значение этих свойств, приходим к пониманию самой системы:
Свойство системы | Описание свойства | Пример |
Название | Идентификатор системы для распознания | Человек |
Состав | Части системы | Органы: Сердце, легкие, мышцы, кишечник, вены, артерии … |
Внутренняя структура | Внутреннее устройство частей | Органы, соединённые в единую структуру через Сердечно-сосудистую, опорно-двигательную, лимфатическую, нервную системы. |
Происхождение | Источник происхождения системы | Создатель? |
Степень формализации | Есть четкие критерии и правила или субъективное мнение | Научные изыскания |
Состояния | Устойчивые состояния системы | Детство, отрочество, зрелость, старость |
Этому подходу будет посвящен отдельный раздел курса.
Сюда же можно отнести структурное моделирование, основанное на совместном применении методов анализа и синтеза.
Анализ позволяет объяснить целое через его части и их взаимодействие в виде структуры;
В результате синтеза как завершающего этапа процесса «анализ – синтез» можно объяснить место целого в метасистеме, в которую входит система. И определить их взаимодействие и взаимовлияние.
4. Структура курса и этапы обучения
В следующих частях курса мы будем подробно рассматривать выше озвученные подходы, и их использование в процессе формирования Требований к Информационной Системе. В процессе обучения Вы получите навыки в области:
Организация инфраструктуры (ландшафта) для проектной деятельности;
Выявление заинтересованных лиц и их целей;
Инструменты эффективного взаимодействия с заказчиком;
Формализация потребностей заказчика;
Выявление функции системы и управления границами проекта;
Инжиниринг и реинжиниринг бизнес-процессов заказчика;
Разработки логической структуры данных целевого ПО;
Моделирование поведения целевой системы. Моделирование процессов управления;
Формирование спецификаций требований на создание целевого ПО;
Управление изменениями;
Место проектировщика в процессе производства Информационных систем;