
- •1. Системная инженерия
- •Определения системной инженерии
- •Ответственность за целокупность и междисциплинарность
- •Для чего нужна системная инженерия: победить сложность
- •Профессия системного инженера
- •Системный инженер как профессия
- •Профессиональные организации системных инженеров
- •Можно ли научить творчеству?
- •Метанойя — не просто обучение, а смена способа мышления
- •Можно ли научить системного инженера, или им нужно родиться?
- •Моделирование творчества в виде, понятном даже компьютеру
- •Методология системной инженерии
- •Образование системных инженеров
- •Отличия системной инженерии от других дисциплин
- •Системная инженерия против других инженерий
- •Системная инженерия против советской инженерии
- •Системная инженерия и системотехника
- •Системная инженерия и менеджмент
- •Инженерный менеджмент
- •Управление технологией
- •Системная инженерия и государство
- •2. Формализмы системной инженерии
- •Терминология и онтология
- •Соглашение по терминологии
- •Выбирайте слова
- •Что такое онтология
- •Индивиды, классы и классификаторы
- •Экстенсионализм и интенсионализм
- •Функциональные объекты
- •Процессы и действия
- •О логических уровнях
- •Выбор уровней
- •Математические формализмы
- •Объекты и атрибуты
- •Объекты и факты
- •Факты и графы
- •Теория категорий
- •Моделеориентированность
- •Что такое модели
- •Онтологизирование, моделирование, программирование
- •Зачем моделировать
- •Почему моделирование не повсеместно
- •Информатика
- •Принципы моделеориентированности
- •3. Инженерия и наука
- •Инженерия не научна
- •Разница между инженерами и учёными
- •Предмет инженерии и научные предметы для инженерных объектов
- •Ненаучность инженерии. Эвристики
- •Наука как “научение птиц полёту”
- •Инженерия научна
- •Инженерная наука
- •Научное (формальное) основание системной инженерии
- •Системный подход как научное основание системной инженерии
- •Системноинженерное мышление коллективно
- •А в чём мышление?
- •Наука/менеджмент = наука/инженерия
- •4. Схема/онтология инженерного проекта
- •Схемное/онтологичное мышление
- •Ситуационная инженерия методов
- •Описание метода в настоящем курсе системноинженерного мышления
- •Яблоки из жизни и яблоки из задачи
- •Альфы
- •Метонимия и схемы
- •Методологическая действительность: дисциплины, практики, методы
- •Дисциплины/области интереса
- •Практики
- •Метод
- •Методологическая действительность и действительность предпринятия
- •Семь основных альф инженерного проекта
- •Основы системной инженерии: альфы инженерного проекта
- •Стейкхолдеры
- •Возможности
- •Определение системы
- •Воплощение системы
- •Команда
- •Работы
- •Технология
- •5. Системный подход
- •Понятие “подхода”
- •Системный подход в системной инженерии
- •Варианты системного подхода
- •Системный подход и кибернетика
- •Сложность и меры сложности
- •Термин “система”
- •Классификация систем по ISO 15288
- •Системная медитация
- •“Сначала как часть надсистемы”
- •Стейкхолдеры. Театральная метафора
- •Система — это субъективное понятие
- •Театральная метафора.
- •Позиция
- •Работа со стейкхолдерами
- •Граница системы и деятельностная субъективность её проведения
- •“Просто” системы и системы систем.
- •Навигация по уровням холархии ”zoom — select”.
- •Системы с участием людей: осторожно!
- •6. Воплощение системы: компоненты, модули, размещения
- •Многерица
- •Сколько разных ипостасей в одной системе?
- •Принцип разделения интересов
- •Закрытый и открытый миры
- •Два типа “целого”
- •Компоненты, модули, размещения
- •Компоненты
- •Модули
- •Размещения
- •Структура системы: разбиения.
- •Разбиения (breakdowns)
- •Представления разбиений
- •Обозначения систем
- •Практики изготовления (производства)
- •7. Определение системы: требования, архитектура, неархитектурная часть проекта
- •Определения и описания
- •Обобщение ISO 42010 на определение системы
- •Контроль конфигурации
- •Фокусирование определений системы
- •Практики проверки и приёмки
- •Практики описания системы
- •Требования
- •Два смысла слова “требования”.
- •Модальности в требованиях
- •Инженерные обоснования
- •Рабочие продукты требований
- •Требования стейкхолдеров
- •Требования и ограничения
- •Требования к системе
- •Инженерия требований
- •Какие бывают виды требований
- •Кто должен делать требования
- •Целеориентированная инженерия требований
- •Архитектура
- •Практики архитектурного проектирования
- •Минимальная архитектура
- •Субъективность и относительность архитектуры.
- •Архитектурные описания
- •Как объединять разные модели и группы описаний
- •Архитектурные модели и другие виды описаний
- •Архитектурные знания
- •Неархитектурная часть проекта
- •8. Жизненный цикл системы и проекта
- •Понятие жизненного цикла
- •Жизненный цикл чего?
- •Управление жизненным циклом
- •Типовой жизненный цикл и разнообразие
- •Гейты и вехи
- •Рабочие продукты для определения жизненного цикла
- •Информационные системы управления жизненным циклом
- •Управление информацией/данными жизненного цикла
- •Практики жизненного цикла
- •V-диаграмма
- •Горбатая диаграмма
- •Водопад и agile
- •Вид жизненного цикла
- •Стили разработки: водопад и agile
- •Паттерны жизненного цикла
- •Основной жизненный цикл
- •Состояния альф
- •Основной жизненный цикл
- •Практики жизненного цикла в версии ISO 15288
- •9. Практика контрольных вопросов
- •Контрольные вопросы для управления жизненным циклом
- •Успех контрольных вопросов
- •Контрольные вопросы к состояниям альф
- •Карточки состояний
- •Когда заводить подальфы
- •Карточные игры
- •Контрольные вопросы инженерного проекта
- •Карточки основных альф инженерного проекта
- •Стейкхолдеры
- •Возможности
- •Определение системы
- •Воплощение системы
- •Команда
- •Работа
- •Технологии
- •Пример введения новой альфы: подальфа «подрядчик»
- •10. Инженерия предпринятия
- •Инженерия: организационная, предприятия, бизнеса, предпринятия
- •Сообщества и их отличия от предпринятия: целенаправленная коллективная деятельность
- •Миссия предпринятия
- •Корпоративное управление
- •Стратегирование, маркетинг, продажи
- •Предпринятие как система-машина, а не толпа людей
- •Развитие и совершенствование предпринятия
- •Проект технологического развития: постановка практик
- •Организационное развитие. Закон Конвея
- •Системноинженерное мышление и инженерия предпринятия
- •Цикл непрерывного совершенствования
- •Цикл Деминга
- •Шесть Сигм
- •Архитектура предпринятия
- •Основные альфы организационного и технологического решения предпринятия
- •Подальфы определения предпринятия
- •Подальфы воплощения предпринятия
- •Виды практик описания деятельности
- •Предпринятия-киборги, workflow
- •Организация, координация, коммуникация
- •Архитектура предприятия
- •Подход Захмана к архитектуре предприятия
- •Бизнес-архитектура
- •Органиграмма
- •Писцы против инженеров
- •Неархитектурные описания предпринятия
- •Это всё системный подход
- •ArchiMate
- •Зачем нужен Архимейт
- •Люди, программы, оборудование
- •Элементы и отношения
- •Нужен не ты, нужен твой сервис.
- •Люди
- •Роли
- •Работы людей
- •Архитектура IT-решения
- •Управление операциями
- •Инженерия предпринятия и управление операциями
- •Проектное управление
- •Управление процессами
- •Ведение дел/кейс-менеджмент
- •Управление проектами и управление жизненным циклом
- •Проектное управление и ведение дел: не “или”, а “и”.
- •Управление мероприятиями
- •Финансы
- •Управление знаниями, НСИ, (справочными и мастер, а также проектными) данными
- •Инженерия и предпринятия-киборги.
- •Инженерия знаний и управление знаниями.

Системноинженерное мышление TechInvestLab, 2 апреля 2015 171
management, система управления активами — используется для учёта установленного оборудования стадии эксплуатации).
Контроль конфигурации довольно сложен, ибо в больших системах непрерывно меняется как определение, так и воплощение системы.
Подробней про управление конфигурацией в управлении жизненным циклом см. ряд материалов:
http://ailev.livejournal.com/1005515.html |
— |
системная |
инженерия, |
инженерный менеджмент и инженерные сервисы |
|
|
http://ailev.livejournal.com/933073.html — управление конфигурацией
http://ailev.livejournal.com/929655.html — управление жизненным циклом
http://ailev.livejournal.com/939303.html — функции систем управления жизненным циклом.
http://ailev.livejournal.com/1058803.html — федерирование инженерных информационных систем разных стадий жизненного цикла (этот текст в существенной мере относится к практике управления информацией, необходимой для надлежащего контроля конфигурации. Он требует для своего понимания профессионального знания моделирования данных).
Важнейшую роль в управлении конфигурацией играет практика обозначений систем (чаще говорят «практика кодирования»), следующая разбиравшемуся несколько страниц назад IEC 81346.
Фокусирование определений системы
Это ещё один вариант изображения V-диаграммы, использующейся в системной инженерии для демонстрации разбиения практик жизненного цикла системы на практики её определения и воплощения (левая и правая ветви V), при этом
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
172 |
перекладины символизируют соответствие определения и воплощения друг другу (должно быть так: «что определяли, то и воплотили» -- это обеспечивают практики проверки и приёмки).
Говорят, что потребности стейкхолдеров фокусируют требования, требования фокусируют архитектуру, архитектура фокусирует неархитектурную часть проекта («рабочую документацию», «рабочку»). Это нужно понимать так, что из свободы творить что угодно (свободы инженерных решений) потребности стейкхолдеров оставляют только то, что нужно стейкхолдерам. Если стейкхолдерам нужно лазерное медицинское оборудование, то вряд ли им нужны требования для автомобиля. Если требования определяют автомобиль, то архитектура должна быть именно автомобиля — и не расплываться, архитектура должна быть сфокусирована на автомобиле, свобода архитектора в выборе инженерных решений на каждом уровне фокусирования уменьшается. Минимальная свобода — у конструктора или проектанта, который разрабатывает рабочую документацию (детальные чертежи, по которым будет изготавливаться изделие или сооружаться сложный инженерный объект типа атомной электростанции). Каждое определение системы ограничивает/фокусирует последующее: определяемая требованиями функция отвечает нуждам стейкхолдеров — не больше и не меньше, определяемая архитектурой структура системы отвечает функции — не больше и не меньше, определяемая неархитектурными (рабочими) инженерными решениями часть проекта отвечает архитектуре, технологическая документация (определяющая технологию изготовления — какие инструменты, обработки этими инструментами и последовательность операций по изготовлению и сборке нужно использовать для воплощения системы) входит в рабочую документацию и подчинена рабочим инженерным решениям.
Но “отвечать” и “фокусироваться” вовсе не означает последовательности во времени: так, ограничения в технологии (например, политика чучхе — “опоры на собственные силы”, ограничивающая импорт нужных инструментов) вполне могут повлиять на архитектурные решения, или даже на саму возможность выполнить требования — и тогда получаемая в конце цепочки фокусирования новая информация заставляет менять определения, вплоть до изменения требований или признания невозможности инженерного проекта.
Практики проверки и приёмки
Проверка (verification) и приёмка (validation) — это важнейшие практики системной инженерии. Важно отличать их друг от друга.
Проверка — это проверка того, что система соответствует какому-то описанию целевой системы (требованиям, архитектуре, неархитектурной части проекта). Приёмка — это проверка того, что использующая система соответствует желаемому стейкхолдером её описанию, если в её составе работает целевая система. Это не так хитро, если поглядить на диаграммки:

Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
173 |
Очень частая ошибка: забывают о необходимости валидации. В результате система удовлетворяет инженеров, которые эту систему сделали в соответствии со спецификациями, но не удовлетворяет стейкхолдеров: испытания должны проводиться не только для целевой системы (проверки), но и для использующей системы (приёмка!). Только после приёмки (то есть удостоверения в том, что использующая система работает как надо) системные инженеры могут считать, что их работа выполнена.
Системные инженеры должны обязательно обеспечивать оправдание ожиданий стейкхолдеров не в том, что целевая система работает! Нет, они должны оправдывать ожидания стейкхолдеров в том, что работает использующая система, в составе которой задействована (наряду с другими системами в её операционном окружении) целевая система.
Вузовский курс проверки и приёмки вполне объёмист. Вот, например, 3 кредитный курс US SanDiego этого года http://extension.ucsd.edu/studyarea/index.cfm?vAction=singleCourse&vCourse=BUSA40414, или всё то же самое в компактном режиме производственного двухдневного тренинга — http://www.tonex.com/training-courses/system-verification-validation/. Product integrated verification and validation – 200 страниц слайдов для «военных системных инженеров»: http://www.academia.edu/1745073/Systems_Engineering_MS_Course_Integrated_Prod uct_Verification_and_Validation
Главное – это понять наличие двух разных дисциплин: проверка (мы проверяем, все ли шестерёнки в наших часах крутятся так, чтобы показывать время) и приёмка (проверка того, что пользователь может узнавать время по нашим часам). То есть проверка целевой системы – правильно ли мы её создали и собрали. И проверка использующей системы – правильно ли она работает, имея нашу целевую систему как составную часть.
Обычно для больших систем (авиация, космос, атомная промышленность, медицина) проверка и приёмка жёстко регламентируются «обязательными стандартами». Если велика угроза возврата продукции (серийный выпуск изделий), то есть огромный стимул проверять продукт перед продажей – там тоже уровень проверки довольно высок. В остальных случаях проверка и приёмка проходят «по вкусу» (а о вкусах, понятно, не спорят), в мерах приверженности участников разработки тем или иным практикам.
Основной тренд – это непрерывное автоматизированное разноуровневое
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
174 |
тестирование, на всех этапах жизненного цикла, в том числе в ходе эксплуатации. Сегодня даже принтер может напечатать тестовую страницу в любой момент времени, не только в момент заводских испытаний. Раньше автомобиль мог быть протестирован только на станции обслуживания, сейчас автомобиль по максимуму тестирует себя сам (ибо весь напичкан датчиками и контроллерами).
Практики проверки и приёмки приходят сейчас главным образом из software engineering (как обычно), а потом медленно с лагом 10 лет принимаются системной инженерией. Поглядите на http://en.wikipedia.org/wiki/Portal:Software_testing (там внизу страницы topics, вам неплохо бы понимать, что скрывается за этими словами). Это хорошая точка для разбирательства с предметной областью.
Очень интересно смотреть на то, что происходит в плане автоматизации испытаний: ибо для того, чтобы что-то автоматизировать, нужно глубоко изучить предметную область. Размахивание руками не подходит как способ объяснить «автоматизаторам», что же им нужно сделать – приходится для этого как-то структурировать предметную область V&V.
Что нужно запомнить: на V&V (проверки/приёмки/контроль/тестирование/испытания) приходится до половины всех затрат на разработку!
Когда речь идёт об «аналитике» (человеке, который ни на что не влияет, но систему описывает), то он не заботится об испытаниях сделанного по его описаниям. Инженер, если описывает систему, то заботится о том, чтобы проверить сделанное по этим описаниям, он не «аналитик», он «синтетик». Когда «аналитик» что-то описывает, игнорируя испытания/тестирование, то он вполне может ошибиться вдвое в части определения объёма работ и стоимости проекта.
Вот некоторое количество ссылок на материалы по проверкам и приёмкам:
Классика жанра (классические определения и общее понимание предмета):
oместо проверки и приёмки в ходе воплощения системы (водопад): http://sebokwiki.org/wiki/System_Realization
o проверка: http://sebokwiki.org/wiki/System_Verification o приёмка: http://sebokwiki.org/wiki/System_Validation
o что делает инженер по испытаниям (hardware test engineer):
http://en.wikipedia.org/wiki/Test_engineer |
|
|
|||
o чему |
учат: |
пример |
программы |
курса |
— |
http://www.nafems.org/events/nafems/2014/vandv3/, ещё вариант программы — http://www.tonex.com/training-courses/system-verification- validation/, а вот пример материала (слайдов) для вузовского курса — http://www.academia.edu/1745073/Systems_Engineering_MS_Course_Int egrated_Product_Verification_and_Validation).
oслайды занятия: что обсуждается в «тестовых стратегиях» (и чуть-чуть про тестирование роботов): http://courses.csail.mit.edu/6.141/spring2013/pub/lectures/Lec07SystemEngineering.pdf
TDD, test driven development (разработка софта, вариант agile методологии разработки):
odriven против based — http://ailev.livejournal.com/1015692.html