
PETROV / ____. ____ ____. ______ _6 [2013-2014]
.pdf
Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Концептуальное моделирование и практика DDD
Концептуальное моделирование ИС тесно связано с практикой проблемно-ориентированного проектирования (англ. domain-driven design, DDD),
которая в свою очередь используется при условии:
применении ОО-подхода к анализу и разработке ПО;
наличия доступа к ЭПО (напр. при внутренней разработке);
следовании итерационной модели разработки.
Результатом применения DDD является эффективная
организация онтологии и качественная концептуальная модель предметной области, абстрактная настолько,
насколько это необходимо.
41

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Элементы DDD: предметные области, модели и языки
Предметная область (англ. domain) — часть реального мира, область знаний или сфера деятельности, требующая автоматизации в рассматриваемом контексте
Модель (англ. model) — абстрактное представление фрагмента предметной области, отвечающее стандартным требованиям к моделям: полнота, целостность, актуальность и пр.)
Язык описания (англ. description language) — формальный инструмент описания области знаний посредством ее модели. В DDD конечным языком документирования
предметной области является язык программирования.
42

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Принципы DDD
Сознательное произвольное ограничение предметной области и использование ее понятий как «общеупотребительного» языка (англ. ubiquitous language)
Изоляция фрагментов предметной области в целях ее декомпозиции на более простые и управляемые ограниченные контексты (англ. bounded context), имеющие собственные общеупотребительные языки
Раздельное моделирование и составление карты контекстов (англ. context map) для повышения эффективности разработки и развертывания системы, представимой в виде слабо связанных групп классов.
43

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Карта DDD по Э. Эвансу
44

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Статическое представление концептуальной модели
Статическое представление концептуальной модели на языке UML принимает вид
диаграмм классов, которые:
отражают интересующие «вещи» в реальном мире;
описывают атрибутный состав классов (объектов);
описывают связи между классами (объектами).
45

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Стереотипы и профили
Стереотип (англ. stereotype) — общепринятый в языке UML способ создания новых элементов диаграмм на основе существующих элементов:
стереотипы в UML применимы не только к классам, но и к пакетам, компонентам, сообщениям и т.д.
Связанные группы стереотипов, расширяющие ту или иную часть UML для определенных целей, носят название профилей (англ. profile). Примеры стереотипов классов:
46

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
Стереотипы в профилях UML
В UML Profile for Software Development Process введены три вида аналитических классов: управляющий, сущностный и граничный.
В UML Profile for Business Modeling введены собственные виды классов: исполнитель, исполнитель варианта использования и внутренний исполнитель.
47

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
UML Profile for SW Development Process: управляющий класс
Управляющий класс — класс (обычно активной) сущности,
контролирующей взаимодействие набора объектов:
как правило, обладает поведением, соответствующим одному варианту использования системы (ВИС);
время жизни такого класса обычно укладывается в период выполнения ВИС, в котором тот занят.
ControlClass
На диаграмме, раскрывающей реализацию ВИС, рекомендуется наличие хотя бы 1 управляющего класса. 48

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
UML Profile for SW Development Process: граничный класс
Граничный класс — класс, лежащий на периферии системы, но в пределах нее:
взаимодействует с действующими лицами вне системы, а также объектами всех трех видов аналитических классов: граничными, сущностными, управляющими — в пределах системы.
BoundaryClass
49

Методы исследования и моделирования информационных процессов и технологий (10 семестр )
UML Profile for SW Development Process: сущностный класс
Сущностный класс — пассивный класс, который выступает инициатором взаимодействия с другими классами самостоятельно, а чаще всего лишь получает сообщения
в общем случае является персистентным и соответствует таблице БД;
может участвовать в реализации множества ВИС;
время жизни объекта такого класса обычно превышает длительность единичного взаимодействия.
EntityClass
50