---
## Рационализация
### Наблюдения о проектах
> Всё, что может пойти не так, пойдёт не так.
>
— закон Мерфи
> Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.
>
— закон Хофштадтера
----
### Наблюдения о разработчиках
> Зачастую разработчики (особенно программисты) – как маленькие черепашки, которые ползают по полу, бьются головой о плинтус и надеются его преодолеть, вместо того чтобы найти дверной проём.
>
— Ключев А.О.
>
У ниндзя черепашек на панцирях написано UML.
>
— дополнение Пенского А.В.
> Худшая характеристика разработчика:
"Он думает на языке C / Java / etc."
Проблемы разработки вычислительных систем лежат в области организации вычислительного процесса, а не программирования.
>
— преподаватель каф. ВТ
----
Причины:
- Современные системы имеют высокую сложность и тесно вплетены в непростые бизнес-процессы.
- Их разрабатывает толпа обычных людей, от которых требуется ничего не забыть, ничего не упустить, нигде не ошибиться и договориться между собой.
Данный курс учит:
- Основам онтологического моделирования.
- Базовым приёмам системной инженерии:
- Как задавать правильные вопросы.
- Как определить успешную системы.
- Элементам архитектурного документирования:
- Как записать "всё важное" в виде документа?
---
## Содержание курса
1. Моделирование (формализация) предметной области
- Введение. Моделирование. Парадигма
- Предмет моделирования. Сущность и субстанция
- Логическая и объектная парадигмы (4d extensionalism)
1. Системная инженерия
- Системная инженерия. Понятия системы и жизненного цикла
- СМД-методология. Акт деятельности. Архитектура
- OMG Essence. Архитектурное документирование
1. Документирование архитектуры
- Архитектурные стили
- View. Документирования архитектуры и решений
---
## Курсовая и лабораторные работы
Цели:
1. Закрепить понимание основных элементов системного анализа.
1. Сформировать представление об архитектуре компьютерной системы.
1. Сформировать понимание критериев качества архитектурных решений и представлений.
1. Познакомить на практике с различными способами описания архитектуры компьютерных систем.
**Курсовая работа** — получение практического опыта.
**Лабораторная работа** — совместная прорабока вопросов в группе с преподавателем.
*Внимание:* полная версия задания в [README.md](https://gitlab.se.ifmo.ru/system-enginering/architectural-modeling/-/blob/master/README.md).
----
### Этапы курсовой работы
#### Выбор компьютерной системы
(предмет курсового проекта)
Цель: зафиксировать предмет курсового проекта — компьютерную систему, описанию которой будет посвящён курсовой проект.
Необходимо подготовить аннотацию системы (объём — 1-2 небольших абзацев), описывающую систему в свободной форме. Она должна позволить сформировать общее представление о системе (с учётом её специфики), её целях и особенностях. Данный этап реализуется неформально в рамках консультации с преподавателем или лабораторных занятий.
----
#### Анализ с системной точки зрения (часть 1)
Анализ системы и её функционального места, без деталей внутреннего устройства.
- Общая информация
- Тема
- Наименование системы
- Цель или цели системы
- Критерии достижения цели
- Литература
- Функциональное место, контекст
- Заинтересованные стороны и их требования
- Операционное окружение
- Пример акта деятельности пользователя системы
- Жизненный цикл
- Структура жизненного цикла системы
- Обеспечивающие системы
- Рассмотрение акта деятельности учащегося по отношению к рассматриваемой системе
- Архитектурные вопросы
- Нижняя граница рассмотрения системы
- Ключевые архитектурные проблемы
----
#### Документирование архитектурных решений и представлений (часть 2)
Цель: документирование и проектирование архитектуры компьютерной системы.
1. Выбор инструмента документирования и проектирования архитектурного уровня
1. Документирование архитектурных решений
1. Документирование архитектурных представлений
1. Проект рабочего плана и анализ рисков
----
#### Типичные ошибки
1. Универсальность описаний. Ваши описания должны быть специфичны для вашей системы.
1. Повторы. Каждый раздел имеет свой смысл.
1. Рассогласованность курсового проекта.
1. Выбранные вами архитектурные представления не имеют практической ценности.
1. Выбор технологии является проблемой лишь в случае, если нет типового решения.
1. Попытка выдать последствие ваших технических решений за архитектурную проблему.
---
## Экзамен/зачёт
- Проводится в устной форме.
- Сдача экзамена происходит группами 3 — 4 человека. Разделение на группы — на усмотрение учащихся.
- Два вопроса. Вопросы выбираются случайным образом из перечня экзаменационных вопросов, время на подготовку ответа не предоставляется.
- По завершению каждого ответа на вопрос группа сдающих может: задать наводящий вопрос, дополнить и/или уточнить ответ. На оценку отвечающего это может влиять только в сторону увеличения оценки. На оценку слушателей это может влиять как отрицательно (пропущенная серьёзная ошибка в ответе), так и положительно (сделано качественное дополнение или задан хороший наводящий вопрос).
- Результаты оглашаются после окончания экзамена.
---
## Моделирование (формализация) предметной области
Литература:

- ISO 15926
- Industrial automation systems and integration—Integration of life-cycle data for process plants including oil and gas production facilities.
- DoDAF IDEAS Group
- is the International Defence Enterprise Architecture Specification. The deliverable of the project is a data exchange format for military Enterprise Architectures.
----
## Моделирование/восприятие
> Моделирование — исследование объектов познания на их моделях; построение и изучение моделей реально существующих объектов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователя.
>
> Виды: информационное, компьютерное, математическое, математико-картографическое, молекулярное, цифровое, логическое, педагогическое, психологическое, статистическое, структурное, физическое, экономико-математическое, имитационное моделирование, эволюционное, графическое и геометрическое, натурное моделирование.
>
> — Wikipedia
----
### Задачи моделирования для IT

1. Моделирование предметной области в компьютерной системе.
1. Моделирование компьютерной системы в течении её жизненного цикла (концепция, техническое задание, технический проект, архитектура, реализация, целевая система, журналы…).
----
## Замещения объекта символом
Схема отношения объект-предмет:
- $(A)$ — знаковая форма.
- $\downarrow$ — Замещение, представление.
- $\uparrow$ — Отнесение.
- $X$ — объект.
- $\Delta$ — операция предъявления объекта.



--- Г. П. Щедровицкий, Оргуправленческое мышление: идеология, методология, технология. 2013.
---
## Примеры неоднозначного моделирования
### Две точки зрения на одну картинку

----
#### Map of the semantic structure of the two views
Влияние не качественное, а сущностное.

----
### Влияние исторического контекста

----
### Влияние контекста

----

----
### Влияние опыта на точку зрения

---
## Парадигма (модель мира)
- Парадигма
- общность установок и видимая согласованность, которую они обеспечивают. Является предпосылкой для генезиса и преемственности в традиции того или иного направления исследования.
— Т. С. Кун, Структура научных революций. 1975.
Парадигма определяет язык и систему понятий для описания предметной области.

Позволяет:
1. Формулировать проблемы (противоречия).
1. Ставить задачи и эксперименты.
1. Сопоставлять теорию и практику.
----
### Влияние парадигмы на сложность описания
Возможности парадигмы:
- X — вершина.
- Вершина X связана с Y.
Описание:
- A — вершина.
- B — вершина.
- С — вершина.
- D — вершина.
- А связана с B.
- А связана с C.
- А связана с D.
- B связана с C.
- B связана с D.
- C связана с D.

----
Возможности парадигмы:
- Возможности парадигмы:
- X — полносвязная вершина.
Описание:
- A — полносвязная вершина.
- B — полносвязная вершина.
- С — полносвязная вершина.
- D — полносвязная вершина

----
### Эквивалентность парадигм



----
### Целесообразность


----
### Проблемы и польза
- Привычка.
- Контринтуитивно.
- Снижение когнитивной нагрузки.
- Экзокортекс.


----
## Критерии выбора модели
1. "Под парадигмами я подразумеваю признанные всеми научные достижения, которые в течение определенного времени дают научному сообществу модель постановки проблем и их решений."
1. "Изображения нам нужны для того, чтобы мы могли с ними работать... Изображение не должно точно соответствовать объекту. Модель объекта не соответствует объекту по простой причине: если бы изображение было полностью тождественно объекту, оно нам было бы ни к чему."
1. Огонь, вода и медные трубы. Палка безначальная или бесконечная?
1. Диалектика между отсутствием моделей̆ и отождествления модели и объекта.
--- Т.С. Кун, Структура научных революций. 1975;
Г.П. Щедровицкий, Оргуправленческое мышление: идеология, методология, технология. 2013, p. 468
----

---
## На самом деле она квадратная
Будьте осторожны, перелезая через грани.
