- •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 |
54 |
●некая сущность, находящаяся в определённой роли или сделанная для определённой роли;
●сама роль сущности (обычно это роль физической вещи), участвующей в активности (поведении) [Играемая роль и сущность, играющая роль — это разное! Роль - Гамлет, сущность - Высоцкий];
●указание на корреляцию, обычно как на физическую связь между какими-то аспектами: “если высота растёт, то давление падает”;
●математическое отношение между числовыми объектами, определяющее их отображение друг на друга/mapping.
Ещё один пример — что может подразумеваться под часто встречающимся в информационном моделировании отношением “мета”? При обсуждении одного из языков моделирования данных (MOF, meta-object facility) было обнаружено, что слово “мета” (meta) используется в шести разных значениях, выражая шесть разных типов отношений (слайд 8 в подробной презентации http://jtc1sc32.org/doc/N1751- 1800/32N1764-WG2-Tutorial-OnMOF-forSC32.ppt ):
●экземпляризация (отношение типа и экземпляра);
●группирование (отношение типа и подтипа), оно же категоризация (философская, а не из теории категорий, термин “категория” любим самыми разными речевыми сообществами, и обозначает в них разное!);
●описание (отношение описания и описываемого объекта);
●применение/стереотип (отношение шаблона и его воплощения);
●варьирование (отношение основной модели и кастомизированной);
●реализация (отношение абстрактного синтаксиса и соответствующего ему выражения).
Вобщем, никогда не зацикливайтесь на выбранных другими конкретных словах, слова никогда не выражают всю истину. Каждый раз пытайтесь понять, о чем в действительности идёт речь, какое значение слова имелось в виду в каждом конкретном случае. Использование терминов из стандартов не гарантирует
однозначного понимания собеседником, но и использование многозначных слов не обязательно ведёт к сложностям. "Косил косой косой косой" — ведь всё понятно, не правда ли?
В этой книге не будет попыток дать точные определения и выбрать правильные термины. Мы постараемся передать понимание наиболее важных понятий и предложить разные слова, которыми их можно обозначать. На вопрос “сколько будет дважды два” будут приниматься ответы и IV, и 4, и “четыре”, и four. Но не нужно обольщаться: ответы “горшок”, 5, “per aspera ad astra” – приниматься не будут.
Что такое онтология
Онтология — это и наука, отвечающая на вопрос “что есть в мире” (по-русски иногда говорят “учение о бытии”, “учение о сущем”), и конкретный вариант ответа на этот вопрос. В этом она похожа на науку логику, по законам которой строятся и булева логика, и темпоральная логика, или на науку геометрию, в рамках которой развиваются теории Евклидовой или Римановой геометрий на основе разных наборов аксиом. Понимая законы онтологии, мы можем понять и 4D
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
55 |
экстенсиональную онтологию, и онтологию виртуальности С.Дацюка, и христианскую онтологию, хотя они предполагают мир устроенным и описываемым принципиально по-разному.
Любая онтология, определяющая, что есть в мире, должна быть как-то записана, выражена в какой-то терминологии, то есть, представлена как “онтологическое описание”. В обычной речи часто путают “онтологическое описание” мира и саму онтологию. Про описание (схему нарезки мира на объекты) говорят как про онтологию (объекты, выделяемые в мире), опуская слово “описание”. Разницу обычно можно понять из контекста. Мы ещё не раз вернёмся в нашей книжке к вопросам различения объекта, его определения и описания.
Философы много веков составляли очень неформальные описания мира, их книги были метафоричны, многозначны и мутны. Упоминавшийся выше Andries van Renssen заметил, что “философы прошлого недорабатывали по части строгости изложения своих философских трудов, задача получения строгого философского знания выпала на нашу долю”. В 20 веке к онтологии проявили интерес разработчики программ искусственного интеллекта: их интересовало, как описывать мир настолько однозначно, чтобы даже компьютер мог интерпретировать эти описания. Они и сформулировали новое определение онтологии (вернее, онтологического описания): “онтология — это разделяемое формальное описание/представление набора понятий (”An ontology is a formal specification of a shared conceptualization”, Tom Gruber — http://tomgruber.org/writing/ontology-definition-2007.htm).
Конкретная онтология (а не наука в целом!) — это один из вариантов ответа на вопрос “что есть в мире?”. В общем-то, философы и логики придумали множество таких вариантов. Есть ли они вообще в мире объекты, процессы, отношения, вещи, поля? Если есть – то каковы они? Есть ли экскаваторы, торсионные поля, Гарри Поттер, философский камень, вещи, Сатана и боги греческого пантеона, биржевая котировка, благовоспитанность, справедливость, и даже философия и сама онтология? Существуют ли X=4, E=mc2, гамильтониан и лагранжиан, метод конечных элементов, бит и байт, модуль упругости и его разные типы? Разные онтологии дают разные ответы на эти вопросы — а онтология как общая дисциплина изучает способы, которыми даются эти ответы.
Чем отличается семантика от онтологии?
Семантика — это про то, как мы связываем знаки/символы с означаемым, с понятиями. Символ “$” связан с денежной валютой “американский доллар”. "Что означает в тексте символ $?" — это вопрос про семантику.
Онтологическая проблема — это ответ на вопрос: "что такое американские доллары?". Есть ли они в мире как отдельная сущность, явление, находится ли это явление только в наших головах – всё это онтологические вопросы.
Разумеется, в жизни очень часто путают вопросы “что означает знак X” и “что такое X”. ”Что такое насос?” — это спрашивают, что означает слово “насос”, или спрашивают, что такое “быть насосом" в реальном мире? Пока нам достаточно научиться различать эти вопросы.
Упражнение: попробуйте дать ответ на онтологический вопрос — “что такое американский доллар?” [Это “риторическое упражнение”: вряд ли вы дадите осмысленные ответы без знаний по теории денег и опыта онтологической работы] Можете поглядеть на список вариантов: физический предмет, абстракция, процесс,
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
56 |
вид товара “деньги”, валюта, фиатные деньги, единица измерения, запись на счетах. Ответьте на тот же вопрос про биткойн. Чем они отличаются онтологически?
Испытываемые вами трудности ровно того же порядка, что и у инженеров, когда им нужно определить для информационной системы в компьютере “что такое номинальный диаметр трубопровода” и как он связан с реальным диаметром, или “что такое техническое присоединение к теплосети”. А когда инженеры и менеджеры доходят до объяснения компьютеру технико-экономической модели, тогда и вопросы про американский доллар и биткойн оказываются вполне относящимся к делу.
Более подробно про онтологию и семантику при создании инженерных информационных систем можно прочесть тут: http://techinvestlab.ru/ISO15926OntologAndSemantic.
Мы пока не будем останавливаться на разнице между онтиками (наборами фактов о каком-то предмете/предметной области) и онтологиями (наборами фактов о мире в целом). Много людей называют онтики онтологиями, и пока вокруг нет маститых философов, это вполне приемлемо.
Индивиды, классы и классификаторы
Как же людям удаётся договориться о том, как устроен мир, да ещё и формально, то есть с возможностью использовать эти договорённости для записи информации о мире и создания моделей мира в памяти компьютеров?
В первую очередь для этого надо как-то выделить и назвать то, что есть в мире, а также то, что есть в наших головах. Пожалуй, самый старый способ упорядочивать и называть вещи - это объединять их в какие-то категории, группы, разряды, классы. Самое последовательное воплощение этого принципа называется теоретико-множественным подходом, его мы и будем придерживаться в дальнейшем.
В рамках этого подхода необходимо научиться видеть сущности, категории, отношения между ними. Все сущности/объекты в первую очередь делятся на конкретные (индивиды) и абстрактные (классы и отношения).
Индивид — это индивидуальный, уникальный объект, существующий в физическом мире. Но что такое “существование в физическом мире”? Для этого есть множество философских критериев, и мы выберем самый "научный" из них. Мы будем считать, что существуют те объекты, у которых есть место в пространстве-времени (4Dподход, четырёхмерное пространство “по Эйнштейну”). Такой объект имеет некую протяжённость в пространстве (то есть размер, длину, ширину, высоту, радиус) и во времени (то есть имеет момент когда он начал существование, и момент, в который он закончил существовать). Место индивида в 4D называется "экстент" (extent), и соответствующий взгляд на мир получил название "экстенсионализм" (extensionalism). Поля и энергии мы тоже будем считать 4D объектами, физические тонкости такого подхода для нас пока не важны.
Теперь вспомните основные определения и утверждения теории множеств. Множество состоит из элементов. Например, мы можем рассмотреть множество всех индивидов x, таких, что x является автомобилем. В математической нотации теории множеств (мы сейчас начнём ей пользоваться, а потом поговорим о языках и нотациях подробнее) это можно записать так:
{x | Car(x)}
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
57 |
где Car(x) – логический предикат (функция. ставящая в соответствие любому объекту x значения Истина или Ложь, и истинная в том и только том случае, когда x – автомобиль). Логика и теория множеств тесно связаны, в литературе по моделированию данных, онтологии или логическим вычислениям вы встретите одни и те же математические конструкции из дискретной математики.
Имеет ли множество экстент? Мы будем считать, что не имеет, и это будет для нас определяющим признаком абстрактного объекта, не являющегося индивидом. Пусть x – индивид, но вспомните, что множество из одного индивида – это не то же самое, что этот индивид:
x ≠{x}
Поэтому x имеет протяжённость в пространстве-времени, но само множество – это нечто иное, это как раз абстрактный объект. Множества - это способ думать о какихто сущностях, математические абстракции.
Вы можете встретить и иной подход, когда множество считается объединением всех своих членов, состоит из членов как из частей, и поэтому вроде бы имеет материальную протяжённость. Этот подход – иной онтологический выбор, иной взгляд на мир, и нельзя сказать, что он более или менее правильный, чем наш. Однако при рассуждениях о мире с инженерной точки зрения удобно считать, что разбиение индивидов на категории, множества – это совсем не то же самое, что разбиение индивидов на части. Разбиение на категории, выделение множеств – называется классификацией, а разбиение на части – просто инженерным разбиением (breakdown), о них вы прочтёте далее.
Итак, в рамках нашего дальнейшего рассмотрения мы будем считать, что абстрактные объекты, те, которые не являются индивидами – не имеют протяжённости в 4D, не имеют экстента.
Мы будем далее говорить не о "множествах", а о "классах", полагая пока, что это одно и то же. И это вовсе не классы из объектно-ориентированного программирования!
Отношением классификации будем называть членство объекта в классе, принадлежность элемента множеству. Стандартное обозначение того, что x – элемент множества/класса X:
x ϵ X
На некоторых типах диаграмм (например, язык EXPRESS-G) вы можете встретить стрелочку (направленную от класса к члену класса):
X → x
Отношением специализации двух классов — это отношение множества и подмножества (это отношение между двумя множествами, разумеется). Стандартное обозначение того, что множество/класс B – подмножество/подкласс множества/класса A:
B A
На диаграммах EXPRESS-G это отображается стрелочкой с круглым концом, направленной от класса к подлассу:
А B
А вот в диаграммах UML то же самое отношение специализации отображается стрелочкой с треугольным концом, направленной совсем в другую сторону:
Системноинженерное мышление |
TechInvestLab, 2 апреля 2015 |
58 |
Может ли быть множество членом другого множества? Да, конечно — тогда мы будем иметь дело с множеством множеств или классом классов.
Эйфелева башня (индивид) является элементом класса БАШНЯ — это отношение классификации, членства.
Эйфелева башня ϵ БАШНЯ
Класс БАШНЯ это подкласс класса СООРУЖЕНИЕ — это отношение специализации, подмножество.
БАШНЯ СООРУЖЕНИЕ
Но мы можем определить и более хитрый класс – класс ТИП СООРУЖЕНИЯ. Это как раз класс классов, классификатор. Классы БАШНЯ и МОСТ будут элементами класса ТИП СООРУЖЕНИЯ.
ТИП СООРУЖЕНИЯ = { БАШНЯ, МОСТ, ДОМ, … }
Один индивид может быть объявлен членом многих классов, а любой класс может быть описан и как член многих других множеств-классов, и как подкласс многих классов. В этом и состоит выразительная сила теоретико-множественного подхода. На языке классов при появлении новых знаний можно добавлять соответствующие факты к уже имеющемуся знанию, а не переосмысливать всю структуру мира, как это происходит в случае подхода с объектами и атрибутами, знакомого программистам.
Обратите особое внимание на классификаторы: классы классов. Если бы не эта конструкция, нам было бы трудно уйти от представления о том, что в мире есть главный (а то и вообще единственный!) классификатор — одна иерархия “род-вид”, что-то типа таксономического дерева Линнея в биологии. Там все живые существа классифицируются каким-то одним видом, вид принадлежит к одному классу и так далее. Такой подход, может быть, и справедлив в чистой биологии (хотя современная генетика уже ставит его под сомнение), но уж в инженерии он точно неприменим.
И в инженерии, и в иных отраслях знания разным людям нравятся разные классификаторы, разные типы родо-видовых отношений, удобные для их деятельности. Как же жить в таком мире, где нет “первичной и одной на всех иерархии классов”, как моделировать взгляды разных людей так, чтобы даже компьютеру было понятно? Очень просто: надо использовать разные классификаторы, они же классы классов. Разные взгляды на мир моделируются, прежде всего, вариантами классификаторов. А разнообразие мира внутри одного взгляда уже моделируется таксономией – деревом специализаций, отношений подмножества.
Например, классификатор продовольственных товаров не считает банан ягодой, как биологи https://ru.wikipedia.org/wiki/Банан. Классификатор Линнея — это класс классов живых существ, множество классов, выстроенных в дерево. Классификатор санитарно-эпидемиологического надзора – другой классификатор, позволяющий тоже классифицировать живые существа, но по иным признакам и в иные группы.
Ещё одним абстрактным объектом являются отношения – это пары объектов, или даже группы/кортежи из нескольких объектов. Одно отношение это отношение между индивидами, например (в виде логического предиката):