Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Оглавление
1. Системная инженерия ............................................................................................................................ 2
1. Системная инженерия
Курс "Системноинженерное мышление в управлении жизненным циклом" является
одной из двух частей курса "Введение в системную инженерию" (второй частью
будет "Практики жизненного цикла системной инженерии"). Так что перед тем,
как приступить к собственно изучению курса, необходимо будет разобраться с
тем, что такое системная инженерия.
Самое современное определение системной инженерии дано в Guide to the
Systems Engineering Body of Knowledge (руководство по корпусу знаний системной
инженерии,
http://www.sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledg
e_%28SEBoK%29).
Короткое определение: системная инженерия -- это междисциплинарный подход и
способы обеспечения воплощения успешной системы. (Systems engineering is an
interdisciplinary approach and means to enable the realization of successful systems). В
этом определении можно подчеркнуть:
● Успешные системы -- это то, чем занимается системная инженерия. Слово
"успешные" тут крайне важно и означает, что система должна
удовлетворить нужды заказчиков, пользователей и других стейкхолдеров
(стейкхолдеры -- это те, кто затрагивается системой, или кто затрагивает
систему).
● Слово "системы" используется в очень специальном значении: это "системы"
из системного подхода.
TechInvestLab, 14 июня 2014 3
прежде всего отказ от тупого метода проб и ошибок, тем более что в
сверхсложных системах нельзя сделать всех возможных "проб", чтобы получить
все возможные ошибки) создаются, и работают как от них ожидается.
Основа конструирования космических кораблей в NASA и европейском
космическом агентстве -- это системная инженерия. Ещё в 1969-1972 годах в
рамках программы Appolo (вдумайтесь: это более 40 лет назад!) на лунной орбите
побывало 24 человека (из них трое -- дважды!), а на Луне гуляло 12 космонавтов,
они привезли на Землю 382 кг лунного грунта
(http://en.wikipedia.org/wiki/Apollo_program).
Соглашение по терминологии
В определении отношения к терминологии важно различать такие группы людей,
как речевые сообщества (speech communities) и сообщества значений (semantic
comunities) [OMG SBVR, http://www.omg.org/spec/SBVR/ -- стандарт Semantics of
Business Vocabulary and Rules].
TechInvestLab, 14 июня 2014 10
В данном курсе критерием выбора термина (в том числе при переводе иноязычных
текстов -- стандартов, методик, учебников и т.д.) является использование слова в
деятельности: кто будет использовать это слово? Как пользователь языка будет
относиться к чуждому для него жаргону "экспертов"? Вот, например, пример из
проекта "Архимейт по-русски" (http://ailev.livejournal.com/988360.html):
окончательные решения по архитектурным документам очень часто принимает
директор (не-айтишник, но он принимает решение по оплате проектов), а
архитектурные диаграммы часто составляются вместе со специалистами (тоже не-
айтишниками, но они принимают решение о том, что в их деятельности будет
поддержано или изменено). Это означает, что мы должны в переводе
использовать слова, максимально приближенные к неайтишной языковой среде, а
айтишники как речевое сообщество пусть приспособятся! Так, software application
стало "программой" (а не "приложением"), а business actor -- "люди" (а не каким-
нибудь "бизнес-агентом"). Все айтишники a priori возмущаются подобным
"терминологическим произволом" (ибо они сами принадлежат к иному речевому
сообществу), но когда они же оказываются в конкретных архитектурных проектах,
говорят a posteriori "спасибо, без такого перевода мы бы не справились с
коммуникацией с клиентом".
Если какой-то термин, для которого легко ошибиться в его значении, уже
закрепился в языке какой-то узкой профессиональной группы (например,
"управление" для governance), то в данном курсе будут использоваться вариант,
который ведёт к меньшему числу ошибок понимания (например, governance как
"подконтрольность"), и никакие "словари" и "стандарты" тут не указ. Если какой-то
"процессный стандарт" (например, ISO 15288) под словом process имеет ввиду
"практику" (в традиционном смысле стандартов ситуационной инженерии
методов), то в данном курсе это будет "практика", а не "процесс" (ибо
характерной для процессов никакой особой развёртки во времени в этом
"процессе" из ISO 15288 нет, там перечисляются именно "практики жизненного
цикла". Если вы попали в речевое сообщество "процессного подхода", смело
используйте слово "процесс" вместо слова "практика" -- но знайте, что при этом
вы теряете информацию по различению процессов и практик и речь ваша будет
время от времени вызывать недоумение).
Как последнее предупреждение: Andries van Renssen (со стр. 79 тут:
http://repository.tudelft.nl/assets/uuid:de26132b-6f03-41b9-b882-
c74b7e34a07d/its_renssen_20050914.pdf) выделил следующие часто используемые
значения для термина "функция" (function):
● Подтип активности (поведения) -- процесса или события,
● какой-то сущности в определенной роли или сделанной для определенной
роли,
● самой роли сущности, обычно в физической вещи, которую эта вещь играет
в активности (поведении),
● указания на связь, например корреляция между какими-то аспектами --
TechInvestLab, 14 июня 2014 13
в период до освоения той или иной практики. Спросите моего ребёнка, почему он
очень плохо умножал всего год назад – он не сможет объяснить, почему. Сейчас
умножение для него вполне естественно, и не требует напряжения всех его
умственных сил, как это было год назад.
Назовём это свойство прохождения какого-то порога понимания метанойей. Слово
удивительное, попробуйте его написать в разных падежах, да ещё и во
множественном числе, получите очень интересные эффекты. Это слово пришло из
религиозных практик и означает «перемену мыслей», полный разрыв прошлого и
текущего мышления. Ты занимаешься, занимаешься в какой-нибудь семинарии, и
вроде как мышление у тебя не так поставлено, как это ожидают от тебя
священники. Потом вдруг в какой-то момент щелк – и ты демонстрируешь всем,
что вот у тебя такое же мышление, как это принято у священнослужителя, с этого
момента ты «настоящий», а не притворяешься. Вот слово это – метанойя, такой
малый западный вариант просветления. Слово "метанойя" рекомендовал
использовать и гуру менеджмента Питер Сенж вместо слова "обучение", ибо слово
"обучение" с его точки зрения уже совсем затасканное и не означает коренную
смену образа мышления в результате обучения.
Когда метанойя произошла, то в новом состоянии мозгов человеку совершенно
непонятно, в чём была проблема в старом состоянии мозгов. Представим: я знаю,
что земля плоская, я долго спорю, что земля никак не может быть не круглая, но
меня в какой-то момент убеждают. И я каждый раз в своих действиях сначала
действую, как будто земля плоская, потом усилием воли вспоминаю, что
рационально вроде бы она должна быть круглая, потом делаю это уже на уровне
рефлекса, и вижу тысячу свидетельств этой круглости Земли. И вот в этот-то
момент я не могу понять, почему я считал, что земля плоская. Рационально-то
вспомнить, что я так считал, я могу. Но понять, как я именно перешел из
состояния знания «интуитивной теории» в состояние владения «контринтуитивной
теорией» я не могу. И поэтому не могу осознать те учебные действия, которые
нужны для того, чтобы я добивался этой метанойи круглости Земли у своих
учеников. Работа по составлению правильных упражнений для такой метанойи –
это трудная работа, и приведенные мной ниже примеры школьной алгоритмики,
просветления, тайцзицюаня показывают, что создание адекватного учебного курса
вполне может занять пару-тройку десятков лет, а то и тысяч лет. Это в полной
мере относится и к системной инженерии.
Особое внимание нужно обратить на то, что речь идёт об обучении не любым
практикам, но «контринтуитивным», которым мозг сопротивляется особо, он же в
этом случае «интуитивно знает», как должно быть, и активно сопротивляется
новому знанию! Заново чему-то обучить много легче, но если уж вам свезло
подхватить «народную интуицию», то научить вас чему-то более эффективному
новому будет весьма проблемно: вам придётся пройти метанойю, а это требует
специально организованного моделирования предметной области,
последовательности упражнений и времени для прохождения этих упражнений, а
также недюжинной воли – ибо вся интуиция учеников будет показывать, что учат-
TechInvestLab, 14 июня 2014 25
или уехали за рубеж, так что исследованиями просто некому было заниматься.
Школьная информатика так и застряла на уровне преподавания в седьмом классе.
Прошло 20 лет, и в прошлом году мне люди из той команды «Аттик» говорят: «У
тебя дитенок во втором классе? Мы тут вот программку сделали, ты ему задачки с
этой программкой дай порешать. Он сможет, эти задачки мы вообще для детского
сада выдумывали». Дал я дитенку эти задачки, смотрю, они действительно,
простые. Я сообщаю: «Ребята, задачки эти мой дитенка решил решил». И тут они
говорят: «А теперь дай ему наши давно известные задачки для 7-го класса». Я
пытался возразить, что терпеливо жду, пока он дорастет до 7-го класса, потому
что до того момента учить алгоритмике бесполезно. Они уговорили меня
попробовать. Я исключительно из уважения решил попробовать.
День или два ушли у меня на объяснение того, что в «детсадовской» программке
надо было мышкой кликнуть, а затем перетащить какую-нибудь команду-
стрелочку в нарисованную ячеечку для команды, а в программе для седьмого
класса нужно было словом эту команду написать. Например, цикл для детсада –
это поместить значок «повторителя» в ячейку для повторителя команд, а тут
начало цикла нужно было словами выражать в редакторе текстов. Через
несколько часов буквально, у дитенки в голове что-то щёлкнуло – он понял, что
эти вот операции мышкой с командами-картинками и ячейками, и операции с
написанием слов – это одни и те же операции. И тут же решил первые задачи
курса Ершола для седьмого класса. Я ему следующие подсунул, он и их решил. А
когда я на больную голову вечером понял, что я какую-то задачу сам не могу
решить минут 20 уже, когда у дитенки случился на какой-то задаче затык, я
понял, что в этой задаче были уже какие-то уже рекурсии вложенные, штук пять
или шесть подпрограмм, и я вообще не понимаю, как мой дитенка добрался до
решения подобных задач. Я только тогда начал интересоваться, что это за задачи
мне дали. Выяснилось, что задачи эти для физматшколы, что было уже несколько
поколений технологии обучения алгоритмике для седьмого класса, и
семиклассников таки научились быстро учить писать программы на Ершоле. Но
почему эти задачи смог решать мой второклассник?! Выяснилось, что через 20 лет
произошло то же самое, что произошло с делением в итальянских университетах.
Люди из постепенно разобрались с тем, как нужно делить, и после этого начали
этому обучать других. Сначала студентов, а не только философов и докторов, а
потом – вот у нас сейчас деление проходится чуть ли не в первом классе школы.
Так и группа «Аттик» сумела понять, как учить информатике, и добавка решения
нескольких задач в хитрой программе с командами-картинками и ячейками для
этих команд-картинок вдруг обрушила тот порог, который не давал учить
алгоритмике маленьких детей.
Выяснилось, что в обучении алгоритмике есть три существенных части, которые
нужно учитывать. Первая часть – это, собственно, алгоритмическое мышление,
это вот те самые рельсы в мозгу, которым нужно научить. Вторая часть – это
синтаксис языка программирования, потому что алгоритм нужно как-то выражать,
и без синтаксиса конктретного языка его не выразить. Третья часть – это
TechInvestLab, 14 июня 2014 32
Рабочие продукты могут быть как входными для пр