Слайд 2
![Пример ТЗ: Отдел кадров ИС «Отдел кадров» предназначена для ввода,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-1.jpg)
Пример ТЗ: Отдел кадров
ИС «Отдел кадров» предназначена для ввода, хранения и
обработки информации о сотрудниках и движении кадров
Прием, перевод и увольнение сотрудников
Создание и ликвидация подразделений
Создание вакансий и сокращение должностей
Слайд 3
![Подходы к проектированию Top-down: система – подсистемы – модули …](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-2.jpg)
Подходы к проектированию
Top-down: система – подсистемы – модули …
Структура соответствует
команде, а не задаче
БД: схема = таблицы + связи
Табельный номер – атрибут сотрудника
OO: словарь системы = классы
Полнота и адекватность словаря
Слайд 4
![Недостатки традиционных подходов Первый шаг выполняется в терминах проектируемой системы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-3.jpg)
Недостатки традиционных подходов
Первый шаг выполняется в терминах проектируемой системы
Только одна структура
выбирается за основу:
Структурное проектирование –
структура кода
Моделирование данных –
структура хранения
Объектно-ориентированный подход –
структура межмодульных интерфейсов
Слайд 5
![Преимущества моделирования использования Простые утверждения Субъекты, предикаты (и объекты) Абстрагирование](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-4.jpg)
Преимущества моделирования использования
Простые утверждения
Субъекты, предикаты (и объекты)
Абстрагирование от реализации
ЧТО делает
система (но не КАК это делается и не ЗАЧЕМ это делать)
Декларативное
но не императивное описание
Выявление границ
но не черный ящик
Слайд 6
![Зачем это нужно – вывод Традиционные подходы достаточны Опытный архитектор](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-5.jpg)
Зачем это нужно – вывод
Традиционные подходы достаточны
Опытный архитектор может
с успехом использовать любой подход
Моделирование использования позволяет неопытному архитектору совершать меньше грубых ошибок на ранних этапах проектирования
Слайд 7
![Диаграммы использования Элементы и нотация Действующие лица и их идентификация](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-6.jpg)
Диаграммы использования
Элементы и нотация
Действующие лица
и их идентификация
Варианты использования и их
идентификация
Отношения элементов диаграмм использования
Слайд 8
![Элементы диаграмм использования Сущности Действующие лица Варианты использования Примечания Пакеты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-7.jpg)
Элементы диаграмм использования
Сущности
Действующие лица
Варианты использования
Примечания
Пакеты
Отношения
Ассоциации между действующими лицами и вариантами использования
Обобщения
между действующими лицами
Обобщения и зависимости между вариантами использования
Слайд 9
![Нотация Границы системы Действующее лицо Вариант использования Ассоциация Имя ассоциации Имя действующего лица](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-8.jpg)
Нотация
Границы системы
Действующее лицо
Вариант использования
Ассоциация
Имя ассоциации
Имя действующего лица
Слайд 10
![Действующие лица и их идентификация Действующие лица находятся ВНЕ проектируемой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-9.jpg)
Действующие лица
и их идентификация
Действующие лица находятся ВНЕ проектируемой системы
Действующее лицо
– это множество логически взаимосвязанных РОЛЕЙ
Действующее лицо – это стереотипный КЛАСС
Типовые случаи: категории пользователей, внешние программные и аппаратные средства
Слайд 11
![Пример: действующие лица ИС ОК Менеджер персонала Работает с конкретными](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-10.jpg)
Пример: действующие лица ИС ОК
Менеджер персонала
Работает с конкретными людьми
Менеджер штатного расписания
Работает
с абстрактными должностями и подразделениями
Слайд 12
![Варианты использования и их идентификация Вариант использования – множество возможных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-11.jpg)
Варианты использования и их идентификация
Вариант использования – множество возможных последовательностей событий/действий
(сценариев), приводящих к значимому для действующего лица результату
Типичные случаи: пункты ТЗ
Если ТЗ смутное, его можно (и нужно!) попробовать переписать фразами субъект – предикат – объект
Слайд 13
![Пример: варианты использования ИС ОК Менеджер персонала выполняет действия Прием](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-12.jpg)
Пример: варианты использования ИС ОК
Менеджер персонала выполняет действия
Прием сотрудника
Перевод сотрудника
Увольнение сотрудника
Менеджер
штатного расписания выполняет действия
Создание подразделения
Ликвидация подразделения
Создание вакансии (=должности)
Сокращение должности
Слайд 14
![Пример: варианты использования ИС ОК](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-13.jpg)
Пример: варианты использования ИС ОК
Слайд 15
![Ассоциации между действующими лицами и вариантами использования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-14.jpg)
Ассоциации между действующими лицами и вариантами использования
Слайд 16
![Обобщение вариантов использования (1)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-15.jpg)
Обобщение вариантов использования (1)
Слайд 17
![Обобщение вариантов использования (2)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-16.jpg)
Обобщение вариантов использования (2)
Слайд 18
![Обобщение вариантов использования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-17.jpg)
Обобщение вариантов использования
Слайд 19
![Зависимости между вариантами использования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-18.jpg)
Зависимости между
вариантами использования
Слайд 20
![Текстовые описания Увольнение по собственному желанию Сотрудник пишет заявление Начальник](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-19.jpg)
Текстовые описания
Увольнение по собственному желанию
Сотрудник пишет заявление
Начальник подписывает заявление
Если есть неиспользованный
отпуск,
то бухгалтерия рассчитывает компенсацию
Бухгалтерия рассчитывает выходное пособие
Системный администратор удаляет учетную запись
Менеджер штатного расписания обновляет базу данных
Слайд 21
![Программы на псевдокоде SelfFire Получить заявление Special: Рассчитать сотрудника include](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-20.jpg)
Программы на псевдокоде
SelfFire
Получить заявление
Special:
Рассчитать сотрудника
include DeleteAccount
Обновить информацию в базе данных
AdmFire
Получить приказ
Special:
Рассчитать
сотрудника
include DeleteAccount
Обновить информацию в базе данных
Слайд 22
![Реализация диаграммами деятельности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-21.jpg)
Реализация диаграммами деятельности
Слайд 23
![Усовершенствование реализации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-22.jpg)
Усовершенствование
реализации
Слайд 24
![Реализация диаграммами последовательности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-23.jpg)
Реализация диаграммами последовательности
Слайд 25
![Реализация диаграммами кооперации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-24.jpg)
Реализация диаграммами кооперации
Слайд 26
![Сравнение способов реализации вариантов использования (1) Текстовые описания Всем понятно,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-25.jpg)
Сравнение способов реализации вариантов использования (1)
Текстовые описания
Всем понятно, привычно и удобно
Длинно
и неточно, пропуски и ошибки
Есть трансляторы в варианты использования (!)
Программы на псевдокоде
Традиционное средство программистов
Компактнее текстового описания
Навязывают структуру реализации
Не приближает к объектной модели
Слайд 27
![Сравнение способов реализации вариантов использования (2) Диаграммы деятельности Псевдокод эквивалентен](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/393844/slide-26.jpg)
Сравнение способов реализации вариантов использования (2)
Диаграммы деятельности
Псевдокод эквивалентен блок-схемам
(с точностью
до параллелизма)
Наглядно, но менее компактно
Почти не приближают к объектной модели
Диаграммы взаимодействия
Сложная и непривычная нотация
Диаграммы объектного уровня –
описывают ОДИН сценарий –
нужно МНОГО диаграмм
Прямо ведут к объектной модели