Планирование
Да, в такой постановке идея становится заметно лучше: сначала дать теорию моделирования как способ думать о системе, а UML потом показать как один из инструментов фиксации этих мыслей.
Тогда порядок действительно должен быть не «от одной UML-диаграммы к другой», а примерно такой:
зачем моделировать → что такое модель → что именно моделируем → как понять требования → как описать поведение → как выделить предметную область → как перейти к проектным решениям → как проверить согласованность модели.
1. Введение в моделирование
Заголовок раздела «1. Введение в моделирование»- Введение в предмет
- Зачем нужно моделирование на примере
- Понятие модели и её необходимость
- Задачи моделирования
- Принципы моделирования
- Признаки хорошей модели
- Ценность хорошей модели, недостатки плохой
Это нормальный старт. Здесь важно не уходить в UML вообще. UML можно максимум упомянуть как будущий инструмент, но не раскрывать.
2. Моделирование как язык описания системы
Заголовок раздела «2. Моделирование как язык описания системы»- Переход от текста к нотациям
- Список нотаций
- Зачем нужны разные представления одной системы
Я бы добавил пункт 10, потому что он связывает первый блок с последующими. Нужно объяснить, что одну и ту же систему нельзя хорошо описать одной моделью: нужны модели требований, процессов, данных, архитектуры, развёртывания и т.д. Это соответствует общей идее из текущей лекции 1: UML используется для спецификации, визуализации, проектирования и документирования, но сама потребность появляется раньше UML .
3. Информационная система как объект моделирования
Заголовок раздела «3. Информационная система как объект моделирования»- Понятие ИС как объекта моделирования
- Элементы ИС: люди, процессы, данные, ПО, инфраструктура, регламенты
- Уровни архитектуры ИС
- Жизненный цикл ПО и место моделирования в нём
Этот блок лучше поставить до требований. Иначе требования как будто собираются к абстрактной программе, а не к ИС. В текущей лекции 2 эта логика уже есть: сначала определяется ИС и уровни архитектуры, затем жизненный цикл и требования .
4. Требования и контекст системы
Заголовок раздела «4. Требования и контекст системы»- Требования и их типы
- Источники требований
- Способы сбора требований
- Оценка качества требований
- Стейкхолдеры и пользователи
- Внешние участники взаимодействия с системой
- Граница системы
- Бизнес-правила как особый вид ограничений
Здесь я бы пока не использовал слово “актор” как основное. Можно сказать: «в UML такой внешний участник потом будет называться актором», но в теоретическом блоке лучше говорить шире: пользователь, внешняя система, организация, роль, заинтересованная сторона.
Бизнес-правила действительно лучше не держать отдельным повтором после словаря предметной области. Их логичнее дать здесь: как правила, ограничения, регламенты и условия, которые влияют на требования, сценарии и проектные решения.
5. Функциональное описание системы без UML
Заголовок раздела «5. Функциональное описание системы без UML»- Функциональные возможности системы
- Вариант использования как способ описания пользовательской цели
- Спецификация варианта использования
- Сценарий варианта использования
- Основной, альтернативные и исключительные потоки
- Связь сценариев с требованиями и бизнес-правилами
Этот блок можно оставить до диаграмм, потому что use case — это не только UML-овал. Это нормальный аналитический инструмент: есть участник, цель, предусловия, основной сценарий, альтернативы, результат.
Но формулировку «связь с диаграммой» лучше пока убрать. Вместо:
Сценарий варианта использования и связь с диаграммой
лучше:
Сценарий варианта использования как текстовая модель поведения системы
А связь с диаграммой уже оставить на UML-блок.
6. Процессы и декомпозиция
Заголовок раздела «6. Процессы и декомпозиция»- Структурное проектирование и декомпозиция
- Текущий и целевой процессы
- Процесс как последовательность действий и решений
- Участники процесса и зоны ответственности
- Потоки управления
- Потоки данных и информационные объекты в процессе
Вот здесь хорошо ложатся твои пункты про структурное проектирование, текущий/целевой процесс и виды потоков. Но опять же, лучше пока не говорить «диаграмма деятельности», а говорить «процессная модель». В лекции 3 структурное проектирование как раз вводится до самой диаграммы деятельности и объясняется через декомпозицию, последовательность, ветвление и цикл .
7. Предметная область и концептуальная модель
Заголовок раздела «7. Предметная область и концептуальная модель»- Понятие предметной области
- Структура словаря предметной области
- Объекты предметной области
- Свойства объектов, связи, ограничения
- Бизнес-правила в предметной области
- Концептуальная модель
Вот сюда лучше перенести словарь предметной области. Он не должен разрывать блок требований. Его естественное место — перед концептуальной моделью.
В текущей лекции 4 эта логика уже есть: объектно-ориентированное проектирование начинается со словаря предметной области, затем понятия сопоставляются классам, после чего определяются атрибуты, операции и связи .
8. От анализа к проектированию
Заголовок раздела «8. От анализа к проектированию»- Этапы объектно-ориентированного проектирования
- Методы объектно-ориентированного проектирования
- Концептуальная и техническая модели
- Переход от понятий предметной области к программным сущностям
- Проектные решения и их фиксация
Тут важно развести:
- анализ: что есть в предметной области;
- концептуальная модель: какие понятия и связи важны;
- техническая модель: какие классы, интерфейсы, компоненты, слои нужны для реализации;
- проектные решения: почему выбрали именно такую структуру.
9. Архитектурные представления
Заголовок раздела «9. Архитектурные представления»- Архитектура данных
- Слоистая архитектура ПО
- Программная архитектура ИС
- Системная архитектура ИС
- Тонкий и толстый клиент
- Деплоймент и среды выполнения
Я бы добавил «программная архитектура ИС» как отдельный пункт, потому что у тебя есть слоистая архитектура, но нет общего перехода к программной архитектуре.
«Архитектура данных» можно поставить либо перед программной архитектурой, либо после концептуальной модели. Если ты хочешь показать движение:
предметная область → данные → программные слои → системное размещение,
то она хорошо стоит первой в этом блоке.
10. Качество и связность модели
Заголовок раздела «10. Качество и связность модели»- Согласованность модели
- Трассируемость модели
- Типовые ошибки при переходе между уровнями модели
Последний пункт я бы добавил обязательно. Он очень полезен именно в теоретическом блоке. Например:
- требование есть, но ни в одном сценарии не реализовано;
- сценарий есть, но не связан с целью пользователя;
- в процессе используются данные, которых нет в предметной области;
- в технической модели появляются классы, не имеющие отношения к концептуальной модели;
- архитектурное решение не связано с нефункциональными требованиями;
- модель описывает реализацию, но не объясняет бизнес-смысл.
Что лучше вынести уже в UML-блок
Заголовок раздела «Что лучше вынести уже в UML-блок»Из твоего исходного списка часть пунктов лучше оставить не в теории, а в инструментальном блоке:
| Тема | Где лучше |
|---|---|
| Переход от текста к нотациям | в теории, как мост |
| Список нотаций | в теории, обзорно |
| Акторы | в теории как «внешние участники», в UML — как actor |
| Спецификация варианта использования | в теории |
| Сценарий и связь с диаграммой | разделить: сценарий — теория, связь с диаграммой — UML |
| Виды потоков в сценарии | теория |
| Концептуальная и техническая модели | теория |
| Деплоймент и среды выполнения | теория |
| Согласованность и трассируемость | теория + затем практическое применение в UML |
Итоговая логика курса без привязки к диаграммам
Заголовок раздела «Итоговая логика курса без привязки к диаграммам»Я бы зафиксировал такую последовательность:
-
Моделирование вообще Что такое модель, зачем она нужна, чем хорошая модель отличается от плохой.
-
Моделирование систем Почему систему нужно описывать с разных сторон и почему текстовой модели быстро становится мало.
-
ИС как объект моделирования Люди, процессы, данные, ПО, инфраструктура, регламенты, уровни архитектуры.
-
Требования и граница системы Что система должна делать, для кого, в каком контексте и с какими ограничениями.
-
Функциональное описание Пользовательские цели, варианты использования, сценарии, основные и альтернативные потоки.
-
Процессное описание Текущие и целевые процессы, декомпозиция, участники, потоки управления и данных.
-
Предметная область Словарь, понятия, объекты, связи, бизнес-правила, концептуальная модель.
-
Проектирование Переход от концептуальной модели к технической, проектные решения, слои, данные, программная архитектура.
-
Системная архитектура Клиенты, серверы, среды выполнения, инфраструктура, развёртывание.
-
Качество модели Согласованность, трассируемость, проверка полноты и отсутствия противоречий.
То есть твоя идея разделения правильная. Более того, она делает курс методически сильнее: студенты сначала учатся думать моделями, а уже потом — рисовать эти модели в UML.