Anatoly Levenchuk ([info]ailev) wrote,
@ 2009-06-30 23:38:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Десять гармонизированных подходов системной инженерии
Обучение системной инженерии (или просто инженерии, если признать, что бессистемной инженерии вообще не должно существовать) связано с преодолением текущих парадигм в инженерном и менеджерском сознании. Макс Планк в своей "Научной автобиографии" (1968г) заметил, что парадигмы умирают только вместе с их носителями. Тем не менее, замена проторенных мыслительных рельс все-таки возможна в ходе специальным образом организованного образования -- если его не сводить к лекционным курсам и чтению учебников, а использовать так называемы активные методы.

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

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

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

1. Переход от редукционистского к системному подходу.
Целое невозможно свести к сумме частей этого целого -- вот суть системного подхода. Само выделение целого как "фигуры из фона" не может быть произвольным, то же относится к элементам системы: важна цель системы, важно взаимодействие элементов для достижения этой цели, а не просто наличие произвольно выбранных частей. Любая система имеет надсистему и подсистемы, системы иерархичны. Границы системы с окружающими ее системами важны и требуют явного определения: все участники междисциплинарного обсуждения должны говорить об одной и той же системе в одних и тех же границах, чтобы не подменять системы в ходе их обсуждения.

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

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

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

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

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

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

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

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

Сюда же можно отнести необходимость перехода (как минимум, в информационном моделировании систем) к представлениям 4D-онтологии, в которых у объектов есть темпоральные части, и поэтому легче обсуждать изменения объектов во времени, чем в "бытовой" 3D-онтологии. Но дискуссия о необходимости такого перехода еще не закончилась.

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

3. Переход от одной группы описаний ко множественности групп описаний.
Никакой одной профессиональной точки зрения недостаточно, чтобы получить более или менее полное реализационное описание системы. Для системы должны быть получены различные группы взаимосвязанных описаний, часто получаемые междисциплинарно. В культурологии это "постмодерн", в СМД-методологии это "схема многих знаний", в системной инженерии ISO 42010, стандарт архитектурных описаний.

4. Переход от рабочего проектирования (конструирования, дизайна) к обязательному предварительному архитектурному.
Вместо того, чтобы сразу работать с "кодом" софта, "чертежами" оборудования, "инструкциями" организации и прочими реализационными описаниями систем, для начала нужно сделать сущностное, не зависящее от деталей реализации описание создаваемой системы: архитектуру. Архитектура описывает основные подсистемы и их взаимодействие в языке, свободном от деталей реализации. Одной архитектуре может соответствовать множество разных реализаций. Архитектура более живуча, чем ее реализации.

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

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

6. Переход от документоцентризма к датацентризму.
Различные описания системы не должны готовиться в форме отдельных документов. Все эти описания должны храниться в виде взаимосвязанных отдельных информационных единиц-данных, готовых для объединения в той или иной форме -- речь идет о хранении информации в виде базы данных и доступе к этой информации с разнообразными запросами. Более того, работа с изменениями должна вестись в терминах отдельных данных, а не "документов". Думать об информации таким образом очень трудно, ибо базы данных (тем более -- распределенные базы данных) появились в истории человечества совсем недавно, а вся материальная культура и язык поддерживает работу с "документами-на-листах-бумаги".

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

8. Переход от "проверки" к раздельным верификации и валидации.
Идея верификации (проверка на соответствие формальным требованиям) всем привычна. Много более трудно воспринимается идея, что такой проверки явно недостаточно: важно не столько соответствие требованиям, сколько то, чтобы системой можно было пользоваться -- ибо при разработке системы ошибка могла закрасться в сами требования!

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

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

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

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

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

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


(40 comments) - (Post a new comment)


[info]vit_r
2009-06-30 10:02 pm UTC (link)
И кто за всю эту красоту будет платить?

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

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

А так, автоматизация должна упрощать, а она усложняет, делая людей заложниками тулов и методологий.

PS: Японцы мне нравятся тем, что основывают свои методики на тысячелетней истории и культурных традициях.

(Reply to this) (Thread)


[info]ln_123
2009-07-01 11:09 am UTC (link)
Вы не правы я попробую остановиться только на вот этом моменте "И архитектуры это тоже касается. Кстати, построение абстрактной архитектуры без привязки к конкретной реализации на моей памяти всегда приводило к краху. Единственное, что работает, это обобщение многих и многих протестированных прототипов." тут нужно отметить что речь идет не сколько о софте сколько о людях и в этом смысле создание "протестированых прототипов" без хоть какой то архитектуры очень чревато. Вот только построение архитектуры должно быть правильным т.е. это не должна быть архитектура ради архитектуры она должна быть реализуемой.

(Reply to this) (Parent)(Thread)

Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-01 02:50 pm UTC (link)
Я имею ввиду нормальный кондовый архитектор, который домики строит. Большие и красивые.

Я видел.

А за фразы типа "построение архитектуры должно быть" в приличных местах дают по башке канделябром.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ln_123
2009-07-02 06:20 am UTC (link)
Я так же видел как работает реальный архитектор, а так же реальный инженер проектирующий какую нибудь систему и как работает проектировщик софта я так же имел возможность наблюдать. Так вот не всякий строительный архитектор занимается собственно тем что собственно в контексте обсуждаемого текста является архитектурой. Поэтому наверное прежде чем биться на канделябрах :) может приведете определение что же собственно Вы понимаете под архитектурой?

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-02 07:03 am UTC (link)
Когда Гради Буч пришёл в группу объектно-ориентированных товарищей с вопросом "Что такое архитектура?", только представители тогда ещё Шлейр-Меллора ответили "Ха. Это дизайн самого верхнего уровня"

Но проигнорировали рациональщики этот умный ответ и загнали в RUP всякой фигни.

Кстати, распространённость Ш-Меллора показывает насколько приживаются в народе мощные модель-центрированные методики.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-02 08:37 am UTC (link)
Для справки для тех, кто не понял, о чем речь: http://en.wikipedia.org/wiki/Shlaer-Mellor

В процессах, кстати, SADT вчистую уже проиграл BPMN, скрещенному с PSL и сейчас заканчивающему трудное скрещивание с хореографией.

Про архитектуру есть много разных определений: это и дизайн верхнего уровня, и отвязанная от платформы суть (очень похоже на определение онтологии, кстати -- и тут архитектура смыкается с DDE), и (например, по Jan Dietz) самоограничение свободы проектировщика в выборе решений. Определение тут гробик для умершей мысли: сколько разных интересов, столько будет и разных определений архитектуры.

насчет всякой фигни в RUP, кстати, не возражаю. Насчет приживания в народе мощных модель-центрированных методик, так по-разному бывает. По моим скромным оценкам, среди методик выживают те, которые поддержаны самым крутым инструментарием. UML поддержали инструментарием, и он выжил. А ORM поддержали очень криво и вяло, и он влачит маржинальное существование. Выигрывают не методы, выигрывают инструменты (увы).

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-03 06:25 am UTC (link)
Дизайн - это всегда "отвязывание от платформы". На любом уровне.

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

В частности по этой причине большинство консультантов ставило сети на виндах, а не на Юниксе.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-03 07:37 am UTC (link)
Слова "архитектура", "модель", "дизайн", "онтология" во многом синонимичны, и в то же время каждое из них является омонимом. Поэтому очень полезно избегать совсем уж лингвистического спора и хоть как-то разворачивать мысль, чтобы было понятно, о чем говорится. Есть смысловые сообщества, и есть словарные -- думаю, смысл фраз "архитектура -- это всегда "отвязывание от платформы". На любом уровне" и "модель -- это всегда "отвязанывание платформы". На любом уровне", равно как их "дизайн -- это всегда "отвязывание от платформы". На любом уровне" абсолютно идентичный, и смысловое сообщество у этих фраз одно и то же, только словарные сообщества разные.

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

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

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-03 07:47 am UTC (link)
Обычно всё, что как-то связано с умственной деятельностью, относится к консалтингу. То есть, если предприятие заказывает установку конкретного железа, это ещё техника, а если приходит фирма и говорит "Вам нужна сеть, мы поставим вам правильное комплексное решение", то это уже консалтинг.

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

Вторых больше.

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

За три дня довольный клиент и заплатил. В результате сплошные убытки.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-03 07:54 am UTC (link)
Классификация существенно зависит от цели, с которой она делается. Мне, например, как профессиональному консультанту (и я этим своим консалтерством горжусь) известно много разных классификаций, существенно отличающихся от приведенной -- и весьма полезных при разговорах с клиентами.

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

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-03 08:08 am UTC (link)
К сожалению, варианты оплаты консалтинга, отличные от почасовой, я встречал тут только в единичных случаях.

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

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-03 08:27 am UTC (link)
Мой пойнт в том, что студентам нужно ставить мозги -- и это императив. Нужно давать им правильные мыслительные процедуры.

А что в жизни существуют совсем другие мыслительные процедуры, и совсем другие цели участников проектов, нежели ими заявляемые, так это общеизвестно -- шок молодых специалистов тут слишком преувеличивается. Основной шок у специалистов именно в том, что жизнь требует решений инженерных, а у них решения в основном "научные" (скажем, огромные знания в computer science и абсолютно нулевые в software engineering. То же во всех других специальностях).

Кроме того, я тут писал специфические идеи системной инженерии. Есть и другие идеи, которые помогут студентам сориентироваться в жизни -- я писал последний раз о содержании общего образования вот тут: http://ailev.livejournal.com/625203.html

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

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-03 08:35 am UTC (link)
Проблема блогов в том, что они потоковы, что не способствует тематическим обсуждениям. Также как и не работает "подождите, мы обсудим эту тему через месяц"

Интересно, можно ли сделать что-то с этим кроме как ручками... Впрочем, это уже оффтоп оффтопа.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-03 08:55 am UTC (link)
Мне не кажется, что это проблема именно блогов ;)

(Reply to this) (Parent)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ln_123
2009-07-03 05:35 am UTC (link)
Ну раз уж речь пошла о дизайне и архитектуре то мне нравиться взгляд (хотя я и не совсем согласен там есть спорные моменты) на это дело вот отсюда http://gaperton.livejournal.com/29043.html возможно вам будет интересно почитать

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-03 06:43 am UTC (link)
Оказывается, распространено мнение, что мол принципиальных отличий между "архитектурой" и "дизайном" нет.

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

Я имею ввиду методологии, позволяющие компилировать код прямо из моделей. Лучше всего методологии, обеспечивающие стопроцентную компиляцию.

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

Это совершенно неконкретное туманное построение.

Открываем книжку, смотрим дизайн верхнего уровня в примере:
"online bookstore" связано стрелочками использования с доменами моделирования

"web GUI"
"inventory"
"messaging"

Доменами со стереотипом 'realized'

"Package Shipping"
"Credit Card Prozessing"
"HTML"

Model Compoller
"Oracle" 'realized'
"J2EE" 'realized'
"Java" 'realized'

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

Вниз идёт дизайн конкретных доменов. Вверх - дизайн того, что стоит над "online bookstore"

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

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]gaperton
2009-07-07 04:59 pm UTC (link)
>> Архитектура - это "стратегический дизайн", общие принципы построения и структурирования вашей системы, ее философия.

> Это совершенно неконкретное туманное построение.

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

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

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

"Архитектура - это то, что вы не сможете "отрефакторить", и из-за чего вы будете переписывать систему с нуля, если оно плохое."

А следующее за ним - еще более веселое, туманное, и неконкретное:

"Дизайн - это мясо, архитектура - скелет."

:)

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]vit_r
2009-07-07 05:07 pm UTC (link)
Определение циклическое.
Мне, честное слово, надоело.

(Reply to this) (Parent)(Thread)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]gaperton
2009-07-07 08:02 pm UTC (link)
> Мне, честное слово, надоело.

Ну и отлично. Я вот тоже, как прочитал Ваш ответ, так сразу понял, что мне тоже уже надоело. Честное слово.

(Reply to this) (Parent)

Re: Кто нибудь видел,, как рабтает архитектор?
[info]ailev
2009-07-03 07:25 am UTC (link)
Jan Dietz любит подчеркивать именно это определение архитектуры, которое приводит gaperton в середине тексста: "Принципиально то, что дизайн нацелен на реализацию конкретного набора требований, в то время как архитектура - на реализацию широкого класса требований". Архитектура отвечает за предметную область, поэтому архитектура очень чувствительна к методам типа DDE (domain-driven engineering).

(Reply to this) (Parent)


[info]ailev
2009-07-01 05:36 pm UTC (link)
Эта красота бесплатна, ибо происходит главным образом в мозгах. Ежели объем системы небольшой, то вся эта красота частично фиксируется на обрывках бумажек и в отдельных файлах. Ежели система большая, то красота описывается по-тяжелой, иначе задолбаешься все переделывать и доказывать во все стороны, что не верблюд. Внешние проявления описательной красоты тем более выгодны, чем сложнее реализуемая система. Ежели систему удается описать очень и очень компактно (выбрав, например, правильный язык), то накладные расходы вообще небольшие. Кроме того, архитектуру и код (чертежи, учебные материалы) можно готовить параллельно (и методы agile на этом настаивают).

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

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

(Reply to this) (Parent)(Thread)


[info]vit_r
2009-07-01 11:35 pm UTC (link)
Внешние проявления описательной красоты тем более выгодны, чем сложнее реализуемая система.

КОМУ выгодны?

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

Про усложнение при помощи автоматизации

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

Про японцев не нужно...

Очень смелое утверждение для информации пришедшей через третьи руки :-)

(Reply to this) (Parent)(Thread)


[info]ailev
2009-07-02 05:55 am UTC (link)
Удерживаемость руководства на постах до завершения проекта крайне зависит от проекта. Опять идет гиперобобщение, это не разговор. Никакого отношения удерживаемость руководства на постах к сути не имеет, ибо в больших проектах обычно идет "наказание невиновных, награждение непричастных": это не про принципы мышления в системной инженерии, оффтоп.

Интеллектуальный процесс не автоматизируешь, конечно. Но что делает САПР, как не помогает этому процессу? Или вы предлагаете продолжать чертить на кульманах? Но это все равно разговор сильно в сторону, потому как я пишу о принципах мышления, а не о софте. Другое дело, что софт должен этим новым принципам мышления соответствовать. Например, чертежи должны лежать в каком-нибудь сапровском репозитории, а не в Documentum.

Насчет японцев и третьих рук: руки совсем не третьи, а разговор опять ушел от принципов мышления.

(Reply to this) (Parent)(Thread)


[info]vit_r
2009-07-03 06:25 am UTC (link)
это не про принципы мышления в системной инженерии, оффтоп

Это ахилесова пята системной инженерии. Любая чудесная схема падёт жертвой политики. Потому её нужно вводить явно. Что, кстати, делают японцы. (Не все, конечно.)

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

(Reply to this) (Parent)(Thread)


[info]ailev
2009-07-03 07:45 am UTC (link)
Политика вполне обсуждается в системной инженерии: там ведь везде говорится о заинтересованных лицах и trade-off analisys, а также пересмотре выделения ресурсов. Абсолютно явно обсуждается, дается куча артефактов для оформления переговоров.

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

Все это оффтоп, точно оффтоп. К принципам мышления отношения не имеет.

(Reply to this) (Parent)(Thread)


[info]vit_r
2009-07-03 07:58 am UTC (link)
Западные "обсуждения политики" на мой взгляд слишком оптимистичны. По крайней мере всё, что я видел.

А рисую я уже давным давно на планшете. В том числе и диаграммы. Но бумага имеет физическую природу. Что для процессов человеческого мышления немаловажно. По крайней мере на ближайшую пару тысяч лет.

(Reply to this) (Parent)


[info]109
2009-07-01 12:29 am UTC (link)
отличный текст! лучший so far, in my humble opinion. засуну-ка я его на delicious (надеюсь, ссылка immutable?)

чтобы два раза не вставать: есть ли какие-нибудь книги, которые наибольший эффект на вас произвели? порекомендуйте, желательно на английском. например - на меня произвели впечатление:
Design Patterns by GoF
Object-Oriented Analysis and Design by Grady Booch

(Reply to this) (Thread)


[info]ailev
2009-07-01 05:44 pm UTC (link)
Книжки на меня производили разный эффект самые разные, но потом как-то их выпирание на общем фоне нивелировалось полученными другими знаниями.

Я писал последний раз о содержании общего образования вот тут: http://ailev.livejournal.com/625203.html -- может, когда-нибудь руки дойдут написать для каждого пункта правильных авторов.

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

(Reply to this) (Parent)(Thread)


[info]109
2009-07-01 09:26 pm UTC (link)
абсолютно согласен про вред абсолютизации :)

в частности, гораздо удобнее начинать анализ деятельности предприятия с процессной модели (я использовал IDEF0/BPWin), и только потом кристаллизовать неструктурированные входные и контрольные потоки в какую-то объектную модель.

(Reply to this) (Parent)


[info]9000
2009-07-02 10:59 pm UTC (link)
+1

Прекрасный пост; глядишь, ещё и полезен окажется.

(Reply to this) (Parent)


[info]ykkkkkkks
2009-07-01 07:33 am UTC (link)
Ключевой вопрос - кто все это мог бы преподавать? Чтобы обучать системной инженерии, нужно быть системным инженером. А чтобы стать системным инженером, нужно воспринять подходы системной инженерии (самому научиться). Замкнутый круг, однако.

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

Кстати, как я понимаю, рабочей группы по образованию даже в INCOSE нет?

(Reply to this) (Thread)


[info]ailev
2009-07-01 05:52 pm UTC (link)
Мы сейчас обсуждаем как раз организацию курсов и обсуждаем ровно эти же вопросы :)

Решение таково: нужно пытатся силами неинженеров-теоретиков обучить каким-то мыслительным азам инженеров-практиков. А потом уже те инженеры-практики, которые смогут что-то из этого выхолощенного обучения понять и освоить в своей деятельности, да еще и будут иметь вкус к преподавательской работе, смогут провести второй курс, уже "настоящий". Ежели берем для первого курса 100 человек, то можно надеяться получить бригаду преподавателей из 10 человек. А эти 10 человек уже смогу подготовить 1000 человек.

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

Группа по образованию в INCOSE как раз есть, есть ее рекомендации по ВУЗовскому образованию, есть в INCOSE учебник по системной инженерии, все это можно найти на www.incose.org

(Reply to this) (Parent)


[info]daniilin
2009-07-01 08:19 am UTC (link)
формулировки надо переварить - а по сути все принимается.

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

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

(Reply to this) (Thread)


[info]ailev
2009-07-01 06:02 pm UTC (link)
Я боюсь, что у нас разное понимание системной инженерии: по определению, инженерией тут называется все, что связано с рукотворными (а не полученными без людей) системами. А поскольку все люди что-то делают (то есть занимаются инженерий каких то систем или порождаемых этими системами услуг), то смело можно говорить, что я тут написал про огромный кусок "мышления вообще". Ежели собираешься что-то сделать, причем сделать коллективно (а не наблюдать, как это сделает кто-то другой или силы природы), то неплохо бы мыслить в ключе тех подходов, о которых я тут написал.

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

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

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

(Reply to this) (Parent)


[info]ln_123
2009-07-01 10:46 am UTC (link)
Классный текст. Очень понравилось "сетевой график проекта много лучше отражает положение дел, нежели штатное расписание."

(Reply to this)


[info]ykkkkkkks
2009-07-01 12:01 pm UTC (link)
Анатолий, давно хотел спросить - а Вы работы Дага Энгельбарта читали? Вот эти "процессы, которые происходят в обеспечивающей системе для продвижения целевой системы по ее жизненному циклу, а не в целевой системе. Поэтому иногда уточняют, что речь идет о процессах управления жизненным циклом. " - прямо перекликаются с его моделью трех уровней деятельности организации (ABC): A - операционная деятельность; B - деятельность по улучшению деятельности A (всевозможные управления - ЖЦ, качеством, рисками и т.д.); и деятельность C - по улучшению деятельности B (самообучение организации).

Я, может быть, плохо искал, но кажется на русский ничего из Энгельбарта не переводилось, а ABC-модель только изредка упоминают в статьях про управление знаниями, и то без ссылки на конкретную публикацию. А ведь дядька-то весьма идейный!

(Reply to this) (Thread)


[info]ezdakimak
2009-07-01 12:42 pm UTC (link)
Тут похоже про D и E в основном :)

(Reply to this) (Parent)


[info]ailev
2009-07-01 06:36 pm UTC (link)
Ну да, знаком (в Сети это все есть -- например, http://www.abccommunity.org/engelbart.html). Кстати, буквально вчера или позавчера глядел где-то фотографии с "Mother of all presentations". Мужик мощный!

Но я заметил бы, что его ABC-теория примерно соответствует давно и обильно обсуждаемым идеям СМД-методологов, у которых "деятельность над деятельностью" или "управлять можно только развитием, воспроизводством управлять нельзя" и прочие рассуждалки имеют более давнюю историю и большее число поклонников в России, нежели труды самого Энгельбарта. Так что я бы для этих своих высказываний в качестве вдохновителя приводил не Энгельбарта, а Г.Щедровицкого. И, думаю, тут примерно одинаково рассуждали не только эти двое, но еще и многие и многие последователи "процессного подхода" -- вероятно, не знающие работ ни первого, ни второго. Все эти "процесссы улучшения управления рабочими процессами" уже стали штампами.

Ну, а слово "знание" (только без этого штампа "управление знаниями") у Г.Щедровицкого вообще центральное! Так что, увы, Энгельбарт не является тут каким-то источником особого вдохновения.

Я бы заметил, что уже со времени расцвета Энгельбарта и Г.Щедровицкого довольно много нового и интересного появилось, поэтому все эти построения нужно потихонечку проблематизировать и двигаться дальше.

(Reply to this) (Parent)


[info]dvh2000
2009-07-01 05:13 pm UTC (link)
Очень ценная фиксация требований к образованию в сфере системной инженерии!
Анатолий, не смогли бы Вы подсказать какие в России существуют активности по разворачиванию образования в сфере системной инженерии?

(Reply to this) (Thread)


[info]ailev
2009-07-01 06:41 pm UTC (link)
Мне известно две точки: в МИРЭА обучением системной инженерии профессионально занимается Батоврин, а еще есть наша активность (одним из результатов которой как раз и явился настоящий постинг).

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

Я думаю, через некоторое время мы сделаем что-то открытое по линии INCOSE.

(Reply to this) (Parent)


(40 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…