Системная инженерия – 2022

Анатолий Левенчук

Учебник «Системная инженерия – 2022» продолжает учебники «Практическое системное мышление – 2022» и «Методология 2022» (обязательные пререквизиты), рассказывая о практиках современной системной (основанной на системном мышлении) безмасштабной (для систем самого разного вида) и непрерывной (эксплуатируемая система постоянно развивается) инженерии. Учебник базируется на совмещении изложения лучших практик программной инженерии, классической «железной» системной инженерии и инженерии предприятия.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Системная инженерия – 2022 предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

© Анатолий Левенчук, 2022

ISBN 978-5-0059-0127-9

Создано в интеллектуальной издательской системе Ridero

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

Книга/курс даст представление о том, чем занимаются инженеры в своей работе, даже если они не называются «инженеры» (например, менеджеры — это инженеры предприятия, врачи — инженеры человеческого тела, агрономы — инженеры урожая).

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

В курсе даётся основное представление об инженерных практиках на самом высоком уровне абстракции, удобном для соотнесения этих практик со многими видами целевых систем, начиная от традиционных для инженерии прошлого простых механических систем через сегодняшние киберфизические системы к живым организмам, личности, сложным социотехническим системам (предприятиям) и далее социальным системам. Излагается не конкретный метод системной инженерии, принятый, например, в NASA или MITRE, или полностью соответствующий учебнику системной инженерии INCOSE, по которому ведётся сертификация профессионалов в системной инженерии. Излагается не метод, который полностью соответствует духу и букве какого-то конкретного одного стандарта практик системной инженерии, например ISO 15288:2015. Нужно помнить, что все эти международные стандарты и публичные документы привязаны к работе в сложнейших аэрокосмических проектах (системный уровень киберфизической системы) и подразумевают обучение на многочисленных специализированных курсах в порядке магистерской подготовки профессиональных системных инженеров киберфизических систем.

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

Наша книга/курс даёт только кругозор по системной инженерии и примерно соответствует содержанию относительно коротких курсов «Foundations of Systems Engineering», которые дают введение в специальность системного инженера. Особенность книги/курса в том, что она даёт кругозор по созданию систем самых разных видов, которые не всегда сегодня ассоциируются с инженерной работой: простых механических систем без встроенных компьютеров (уровень «вещества»), киберфизических систем (со встроенным компьютером), живых существ (от бактерий и растений через животных до человека, взятого как биологическое существо, включая генную инженерию и медицину как инженерные практики), личностей (психология и образование как инженерные практики), организаций (системный менеджмент как инженерия предприятия), сообществ (строительство сообществ, маркетинговые кампании для инженерии клиентуры), обществ (госстроительство, политика как социальная инженерия), человечества в целом.

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

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

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

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

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

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

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

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

Изложение опирается на знакомство с фундаментальными мыслительными практиками интеллект-стека (данный курс завершает знакомство с этими практиками).

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

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

Основной материал курса изложен с использованием не столько стандартов системной и программной инженерии (они вышли до 2015 года, поэтому не отражают произошедшего с тех пор сдвига в непрерывную инженерию, при этом они продолжают использоваться в сильно зарегулированных госорганами больших инженерных проектах создания кибер-физических систем типа атомной электростанции и авианосца, изменений инженерии там можно ожидать очень нескоро), сколько по современной литературе 2017—2022 года. В нашем курсе/книге даны ссылки на почти два десятка учебников системной, программной инженерии и инженерии предприятия, разъясняющих подробно те или иные положения курса. Больше половины этих учебников отсылают к примерам из программной инженерии, но мы надеемся, что при их изучении будут учтены идеи безмасштабности из нашего учебника (а идеи непрерывности в них всех уже есть).

Для примеров в книге/курсе берутся главным образом практики программной инженерии и инженерии киберфизических систем, изредка практики инженерии предприятия. В следующих версиях предполагается увеличить число примеров других систем. Курс не делает акцента на моделеориентированную1 системную инженерию, ибо сегодня другой системной инженерии уже не бывает, вопрос лишь в выборе уровня формальности моделирования, опоры на самые разные языки моделирования. Эти языки системного моделирования отнюдь не все относятся к визуальным языкам начала 21 века, принятым для больших окологосударственных проектов классической системной инженерии. Материал по моделированию, поднимаемый в рамках курсов-пререквизитов по онтологике и коммуникации, системному мышлению, методологии, и примеры построения различных инженерных моделей даются в нашей книге/курсе в их текущем разнообразии. Но упор делается на то, чтобы использовать для инженерного моделирования подручные low code системы (productivity tools), в том числе системы табличного моделирования (типа coda.io, notion.so и их варианты), а также всевозможные прикладные инженерные моделеры различных прикладных инженерных дисциплин.

Материал книги может быть использован в качестве основы для кругозорного семестрового или даже двухсеместрового курса системной инженерии для технических университетов, материал курса включает в себя также «рабочую тетрадь» со множеством тестовых вопросов, упражнений на моделирование, заданий для тренировки инженерного мышления. Тем самым наша книга/курс может служить основой для самостоятельного изучения в варианте онлайн-курса, основой для группового изучения в study group с инструктором или без, для практикума с преподавателем (семинарские занятия с консультациями по выполнению упражнений, в рамках смешанного/blended обучения с использованием компьютера для лекционных материалов и в качестве тренажёра, но возможностью получить консультацию преподавателя), для отдельного курса с участием преподавателя, в составе других длинных программ (в том числе магистерских программ системной инженерии, где материал курса дополняется другими прикладными курсами). Возможно также прохождение курса с ментором.

История курса/книги начинается с 2012 года, когда автор начал чтение односеместрового курса «Введение в системную инженерию» (Foundations of Systems Engineering) на межфакультетской (впоследствии — межвузовской) кафедре технологического предпринимательства МФТИ. Буквально на следующий год курс был поделен на семестровый курс системного мышления, и отдельно — семестровый курс системной инженерии. Обучение на кафедре по этим курсам затем продолжили выпускники программы (Михаил Бухарин и Илья Бурдин). В Школе системного менеджмента работа над курсом продолжилась, несколько лет там курс «Системная инженерия» на базе учебника системного мышления читал Вячеслав Мизгулин. В 2022 году было окончательно сформировано видение опоры курса системной инженерии на мыслительные практики интеллект-стека и необходимость безмасштабного курса, а также отражение непрерывного характера инженерии, окончательный отход от «водопадной» модели с её одним стадийным «жизненным циклом».

Это новое видение нашего курса/книги отразило опыт многочисленных попыток преподавать какие-то основы системной инженерии в самых разных вузах: поскольку часы в программе на пререквизиты к курсу не были предусмотрены, большинство этих попыток оказались неудачными. Как минимум, для курса оказались нужны знания онтологики, основ системного подхода, методологии, а также безмасштабное изложение материала, чтобы решить вопрос о применимости системной инженерии к проблемам инженерии предприятия и согласовать материал с трендами в INCOSE VISION 2035, которые явно указывают на рост внимания системных инженеров к системам уровня живых существ, личности, организации, сообществ, обществ. В программной инженерии массовые изменения по линии непрерывности разработки прошли с переходом на микросервисные архитектуры, это стало массовым и отразилось в учебной литературе приблизительно с 2017 года (хотя сами идеи обсуждались ещё с момента выхода Agile manifesto в 2003 году). Системное мышление, которое в третьем своём поколении вышло за пределы жизненного цикла и включило в себя идеи эволюции, базирующиеся на общих физических законах, как раз помогает в понимании этого направления развития инженерных практик.

В кооперации между Школой системного менеджмента и Русским отделение INCOSE была создана рабочая группа из инженеров, имеющих и опыт преподавания системной инженерии, и опыт руководства системноинженерными проектами, и опыт применения мыслительных практик интеллект-стека к системам самых разных уровней. Рабочую группу возглавил К. Гайдамака, научным руководителем стал А. Левенчук. Книга/курс — стал результатом работы этой группы, в которой прошло множество плодотворных обсуждений. Текст в итоге написан А. Левенчуком. Спасибо Роману Варьянко за корректуру и ценные содержательные замечания.

Курс можно найти тут: https://system-school.ru/engineering, чат поддержки https://t.me/systemsthinking_course, там вы можете не только задать вопросы студентам и преподавателям курса, но и дать предложения авторам курса. Курс регулярно обновляется, ибо системная инженерия быстро развивается, а курс уделяет особое внимание изучению современных практик, а не старинных (в инженерии старинными будут практики буквально десятилетней давности).

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Системная инженерия – 2022 предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Примечания

1

Без различения model-based и model-driven.

Смотрите также

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