Всего на сайте:
183 тыс. 477 статей

Главная | Финансы, Менеджмент

Дисциплина системной инженерии и роль системного инженера  Просмотрен 325

Лекция 1

Тема 1. Дисциплина системной инженерии и роль системного инженера

Дисциплина системной инженерии, ее отличия от инженерии по специальностям и инженерного менеджмента. Роль системного инженера, отличия системного инженера от проектного менеджера и инженеров по специальностям. Связь и отличия системной инженерии, инженерии и научных исследований. Связь с программной инженерией.

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

 

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

 

В России системная инженерия имеет довольно короткую и неоптимистичную историю. В 1962г. в СССР было решено издать книгу Goode, Harry H.; Robert E. Machol. System Engineering: An Introduction to the Design of Large-scale Systems. Перевод «системная инженерия» не понравился главному редактору издательства и поэтому был заменен термином «системотехника». Впоследствии были выпущены и другие зарубежные книги с переводом как «системотехника». Данный термин, в отличие от System Engineering, постепенно стал у нас пониматься как технический, применимый в сфере техники и технологий. Суть системной инженерии, как междисциплинарного подхода и методологии, оказалась в значительной степени утраченной – представление о целых системах сузилось до техники. Системотехника вызвала интерес у разработчиков АСУ (автоматизированных систем управления) – актуальной области тех лет. Появились кафедры системотехники, которые обучали в основном разработчиков АСУ. Когда направление АСУ остановилось, прекратила развиваться и системотехника, которая у нас никогда не была системной инженерией. Множество людей имеют дипломы системотехников, однако, по аналогии, зубной техник – это не зубной врач, а системотехник – не системный инженер. Системная инженерия как дисциплина появляется в России только в последние годы.

 

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

 

Артефакт (от artificial) – нечто искусственное, «сделанное руками», а не «выросшее на ветке» (другими словами work product – то, над чем работают). Важно понимать границу между мыслями и артефактами. Модель также является артефактом, поскольку может быть выражена в документах. Ее, например, можно нарисовать.

 

По мере овладения методологией системной инженерии у людей меняется представление об окружающем мире.

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

 

Процесс появления и решения практических системных задач цикличен. Вначале проводятся (научные) исследования. Далее появляются мысли что-то создать. Это «что-то» воплощают в реальность (realize) в виде системы. Воплощение мыслей в реальность – это есть инженерия. Однако наши мысли не всегда совершенны. Поэтому может оказаться, что созданная система ведет себя не так, как ожидалось. Например, она не работает или работает, но неправильно. Тогда вновь проводятся исследования, чтобы понять, каких мыслей ранее не хватило для адекватного описания системы. С помощью новых мыслей исправляются старые, и они опять воплощаются в реальность. Данный процесс напоминает создание программного обеспечения (проектирование, программирование, отладка и тестирование и вновь с начала).

 

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

 

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

 

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

 

Системный инженер не может обойтись без (научного) исследования. Каков критерий науки, чем она занимается? Согласно Алану Кею (изобретателю объектно-ориентированного программирования), наука занимается только одним – создает точные компактные описания реального мира.

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

 

В практике системной инженерии всегда существует некоторая сторона (заказчик – stakeholder), у которой есть требования к системе. Системная инженерия работает на заказчика, в то время как наука или искусство на него не работают. Ученые не работают для заказчика, то есть не ищут для него компактных описаний, удовлетворяющих его потребности. Системный инженер, воплощая мысли, всякий раз делает это для заказчика. Помимо требований, существуют еще и ограничения, и их следует различать. Требования – это то, что система должна уметь делать. Ограничения – это указания на то, как система должна быть устроена. Требования происходят от заказчика, а ограничения – прерогатива системного инженера. Если заказчик пытается формулировать ограничения, он делает это неправомерно. Требования – важный инженерный артефакт. В системной инженерии есть отдельный раздел – инженерия требований.

 

Системная инженерия изучается с целью выработать системное мышление. Кроме того, системная инженерия – это технология. Что такое технология? Это то, что может разворачиваться в окружающем пространстве: компьютер, программное обеспечение, справочники, … Некоторый процесс технологичен, если при его повторении высока вероятность повторения и результатов. Чтобы системный инженер работал, ему недостаточно изучить одну дисциплину, требуется еще предоставить технологию. Системный инженер реализует только часть процесса. Поэтому его нужно окружить инженерами «по специальностям», добавить менеджера проектов. Другими словами, должна существовать среда, которая воспроизводит результаты его деятельности. Системный инженер всегда работает в коллективе.

 

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

 

Чем системный инженер отличается от менеджера проектов? Если некто изучает окружение, рассматривает все риски, в связи с ними принимает следующие решения: увеличивает бюджет и сроки, может изменить функции системы – это менеджер (в том числе проектов). Другой специалист тщательно изучает систему, внимательно учитывает все связанные с ней факторы, рассматривает риски, и меняет систему так, чтобы риски не реализовались, при этом сохраняя бюджет и сроки. Это системный инженер. Есть обеспечивающая система (enabling system), которая строит целевую систему (system of interest). Менеджер манипулирует факторами, которые входят в обеспечивающую систему (деньги, время,…), добавляет их в нужном количестве, чтобы система в конечном счете заработала. Системный инженер использует целевую систему, и меняет не время и деньги, а ее саму, т.е.

принципы, устройство так, чтобы требования были реализуемы. Либо указывает, что некоторое требование не может быть реализовано. Системный инженер работает с самой системой. Его главные артефакты – чертежи, схемы и т.п. Если начинают не соблюдаться бюджет или сроки, системный инженер меняет не только конструкцию. Он может поменять устройство, механизм работы, в отличие от системного менеджера, который меняет обеспечивающую систему. Главные артефакты менеджера проектов – численность работников, потребляемые ими ресурсы, элементы секретности и охраны, он непосредственно общается с заказчиком. Менеджер на все смотрит как на ресурсы, системный инженер – как на реализуемую систему. Эти два инженера взаимодействуют друг с другом. Кто из них главнее? Кто принимает решение при наличии у них противоречий? Никто, они равноправны. Их аргументы могут ими обсуждаться, могут быть представлены вышестоящей инстанции, после чего принимается решение, в какую часть (обеспечивающую или реализуемую) внести изменения.

 

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

 

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

 

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

 

Чем системный инженер отличается от инженера «по специальности»? Системная инженерия изучает одно целое в смысле создаваемой системы, и даже в тот момент, когда еще ничего не создано. Системный инженер ответственен «за все» в смысле всех остальных дисциплин, которые участвуют в проекте. Он думает о системе как о целом, и это его ключевая характеристика. Инженер-электрик думает обо всей электрике этого целого, инженер-механик – обо всей механике этого целого. Область системного инженера охватывает архитектуру системы, основные принципы организации, требования (что требуется от этой системы в целом). Системный инженер отличается от других инженеров тем, что он управляет целым. Как он умудряется держать в голове так много? Для этого ему нужен специальный мыслительный аппарат, основой которого является системный подход. Область электрика для системного инженера – это электрическая система, механика – механическая система, еще есть система воздухоочистки и т.д. В каждой из этих подсистем функционируют разные специалисты и разные дисциплины. Системный инженер ответственен за все эти области и их взаимодействие в рамках целого. Там, где речь идет о целом – действует системный инженер, где деятельность расходится по областям – инженеры по специальностям.

 

Отдельно рассмотрим вопрос о роли главного конструктора.

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

 

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

 

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

 

В системной инженерии большое место занимает программная инженерия. Существует программирование в большом (programming in the large) и малом (in the small). (Аналогично – моделирование в большом и малом, онтологизирование в большом и малом и т.д.) Программирование в малом – это единоличное написание программы для одного процессора, возможно, в целях обучения, где нет серьезной иерархии функций, классов, подсистем, то есть архитектуры программного продукта, нет полноценного жизненного цикла программы. Программирование в большом – это программирование в сети, различными программистами, возможно, на различных языках. Части соединяются, взаимодействуют, работают асинхронно и т.д. Технологии, которые хорошо работают для программирования в малом, редко подходят для программирования в большом. Если здесь идет речь о больших системах, которые надо собирать, то меняется мышление, представление о программировании, его инженерии. При этом требуется системный подход и просматривается много аналогий с системной инженерией. Отметим одну из них. Программисты – недавние выпускники вузов могут при обучении достичь успехов в программировании в малом, но при этом не имеют опыта участия в разработке промышленных программных систем, то есть в программировании в большом. Отсюда происходят их первоначальная завышенная самооценка и последующие разочарования, когда приходится многое изучать заново, то есть овладевать системным мышлением в программировании.

 

Системная инженерия не приносит выгоды, она затратна (относится к статье расходов «непроизводительные затраты»). Тогда зачем она нужна? В современных проектах на нее отводится статья в бюджете проекта (порядка 5–40%, повышается в зависимости от его масштабов), чтобы предотвратить (точнее – сократить) возможные убытки, исключить (точнее – минимизировать) последующую переделку (rework) готового. То есть цель системной инженерии – не увеличение прибыли, а снижение убытков.

 

Предыдущая статья:Общественные организации по защите прав потребителя Следующая статья:Понятие системы, Контринтуитивность
page speed (0.143 sec, direct)