Проектирование схемы структуры предметной области является творческим процессом и одна и та же предметная область может быть представлена множеством структур. Это связано с тем, что разные люди по-разному воспринимают одни и те же объекты, имеют разную квалификацию и т.д. В то же время структурирование предметной области зависит от объявленных функций и задач управления.
Рассмотрим, как эти функции и задачи управления влияют на структурирование предметной области на примере учета расчетов с поставщиками.
1 вариант: Требуется спроектировать структуру предметной области по учету расчетов с поставщиками. Структура предметной области должна позволять определять сальдо расчетов с каждым поставщиком в любой момент времени. Значение имеют итоговые суммы по каждому поставщику и суммы оплат. Необходимость учитывать сведения о позициях поставок, и о том за какую именно поставку была произведена оплата отсутствует.
Выдели типы объектов:
Поставщик
Поставка
Оплата
Определим типы отношений между типами объектов:
Поставщик
Оплата
¥
¥
Поставка
Оплата
¥
¥
¥
¥
Оплата
Поставка
Поставщик
Рис.2.4.1 Схема структуры предметной области «Учёт расчетов с поставщиками» для варианта 1.
Поставщик
Поставка
¥
¥
2 вариант:
Требуется спроектировать структуру предметной области по учету расчетов с поставщиками. Структура предметной области должна позволять определять сальдо расчетов с каждым поставщиком по каждой поставке в любой момент времени. Значение имеют итоговые суммы каждой поставки и суммы оплат по каждой поставке. Необходимость учитывать сведения о позициях поставок отсутствует.
Поставка
Оплата
¥
¥
Поставщик
Поставка
Оплата
Поставщик
Поставка
Оплата
Типы объектов поставщики и оплата связаны как «один ко многим» (1 : ¥). Причем эта связь является косвенной и на схеме структуры предметной области не отражается. Наличие связи «один ко многим» между поставщиками и оплатами реализовано на схеме за счет двух прямых связей типа «один ко многим»: между поставщиками и поставками и между поставками и оплатами. Исключение косвенных связей из схем структур предметной области позволяет избежать противоречивости данных.
3 вариант:
Требуется спроектировать структуру предметной области по учету расчетов поставщиками. Структура предметной области должна позволять определять сальдо расчетов с каждым поставщиком в любой момент времени. Требуется учитывать сведения о позициях поставок (какие были поставлены товары, в каком количестве, по какой цене). Необходимость учитывать, за какую именно поставку была произведена оплата, отсутствует.
Определим состав типов объектов:
Поставщик
Поставки
Оплата
Товары
Позиция поставки
Определим типы отношений между типами объектов:
Поставка
Позиция поставки
¥
¥
Товары
Позиция поставки
¥
¥
Поставщик
Позиция поставки
Товар
Оплата
Поставка
Рис.2.4.2 Схема структуры предметной области «Учёт расчетов с поставщиками» для варианта 3.
4 вариант. Требуется спроектировать структуру предметной области по учету расчетов поставщиками. Структура предметной области должна позволять определять сальдо расчетов с каждым поставщиком по каждой поставке в любой момент времени. Требуется учитывать сведения о позициях поставок.
Поставщик
Позиция поставки
Товар
Оплата
Поставка
Рис.2.4.3 Схема структуры предметной области «Учёт расчетов с поставщиками» для варианта 4.
Для предметной области «Учет расчетов с поставщиками» могут быть разработаны и другие структуры, сложность которых будет зависеть от функций и задач управления, например, при необходимости учитывать способ оплаты (оплата наличными, безналичная оплата, взаимозачет и др.). В этом случае на схеме структуры предметной области появится еще один тип объектов - Способ оплаты, который будет связан с оплатами как «один ко многим».