Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заболотников_Петрова_Романова_4.docx
Скачиваний:
12
Добавлен:
20.06.2023
Размер:
2.58 Mб
Скачать

Разработка объектной модели

Представленный на рисунке ниже (см. Рис. 1) документ «ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ» (ТТН) связан с процессами Продажи и Закупки.

Рисунок 1 – Пример артефакта (документа) для анализа

Для конструирования модели необходимо последовательно проанализировать поля документа с рисунка выше (см. Рис. 1):

  • «ТОВАРНО_ТРАНСПОРТНАЯ НАКЛАДНАЯ»  является документом, а значит, это подкласс класса «Документ»;

  • «Серия 22 ВИ»  формат документа;

  • «№ »  обозначение поля документа с его номером;

  • «113/06»  значение поля № - номер конкретной ТТН;

  • «Дата составления» – поле ТТН, для представления даты составления ТТН (возможно даты выполнения соответствующей операции отгрузки).

Далее (см. Рис. 2) представлен фрагмент диаграммы классов для моделирования рассмотренной части ТТН.

Рисунок 2 – Фрагмент диаграммы классов для моделирования представленных выше атрибутов ТТН

Следующий фрагмент ТТН характеризует роли элементов класса СХД (Субъект хозяйственной деятельности) в операции Отгрузка, которые отражены в ТТН:

  • «Грузоотправитель»  это «СХД», который отгружает товар;

  • «Грузополучатель»  это «СХД», который получает товар;

  • «Плательщик» – это «СХД», который оплачивает товар.

Фрагмент модели, описывающий эти зависимости, представлен ниже (см. Рис. 3).

Рисунок 3 – Фрагмент диаграммы классов, описывающий роли СХД в операции Отгрузка

Теперь перейдём к следующим полям документа:

  • «Договор №»  номер договора на продажу;

  • «От»  дата подписания договора на продажу;

  • «Способ отгрузки»  вариант отгрузки товара по текущей операции.

На рисунке ниже (см. Рис. 4) представлен фрагмент модели, позволяющий описать данные ассоциации.

Рисунок 4 – Фрагмент диаграммы классов для моделирования связи «Договор» и «ХО»

Рассмотрим поля документа:

  • «К платежному требованию №»;

  • «Оплачено чеком-поручением»;

  • «Дата от».

Делаем вывод, что речь идёт о платёжном документе, что в свою очередь является документом, то есть подклассом класса "Документ".

Исходя из этого дополняем модель часть, связанной с оплатой (см. рис. 5).

Рисунок 5 – Модель для описания связи с оплатой Отгрузки

Обратим внимание на таблицу ТТН:

  • «Код продукции (ном. №)»  номенклатурный номер продукции;

  • «№ прейскуранта и дополнения к нему»  привязка к прейскуранту для определения источника цены продукции;

  • «Артикул или № по прейскуранту»  артикул продукции;

  • «Количество»  отпускаемое количество продукции в выбранной единице измерения количества ;

  • «Цена»  цена продукции за единицу количества по прейскуранту;

  • «Наименование продукции, товара (груза), ТУ, марка, размер, сорт»  несколько свойств продукции, представленные в виде одной строки текста;

  • «Ед. изм.»  выбранная единица измерения количества продукции;

  • «Вид упаковки»  вид упаковки продукции;

  • «Кол-во мест»  количество упаковок отгружаемой продукции;

  • «Масса (т)»  масса нетто отгружаемой партии продукции в тоннах;

  • «Сумма»  стоимость партии продукции в указанной валюте;

  • «Порядковый № записи по складской картотеке (грузоотправитель, грузополучатель)»  код партии продукции у грузоотправителя или грузополучателя.

Поддержание единиц измерения параметров изделия является важной частью информационной поддержки операций нормирования, планирования, анализа и учета ресурсов. Рассмотрим модель для поддержания единиц измерения параметров изделия. В табл. 1 представлен пример классификатора единиц измерения веса.

Таблица 1 – Фрагмент классификатора единиц измерения

Код

Наименование единицы измерения

Условное обозначение

Кодовое буквенное обозначение

Нацио-нальное

Между

народное

Нацио-

нальное

Между-народное

160

Гектограмм

гг

hg

ГГ

HGM

161

Миллиграмм

мг

mg

МГ

MGM

163

Грамм

г

g

Г

GRM

166

Килограмм

кг

kg

КГ

KGM

168

Тонна; метрическая тонна (300 кг)

т

t

Т

TNE

170

Килотонна

kt

КТ

KTN

173

Сантиграмм

сг

cg

СГ

CGM

На рисунке ниже (см.рис.6) представлена простая модель для поддержки одной единицы измерения количества изделий в партии.

Рисунок 6 – Простая модель для задания единицы измерения количества

Ассоциация Базовая единица измерения позволяет задать группы кратных единиц измерения одной природы (например, «г», «кг», «т»). Существенным недостатком такой модели является невозможность иметь несколько разнородных единиц измерения количества (например, для проката «м» и «кг»). Поэтому модель была доработана, результат приведён ниже (см. рис. 7), она обеспечивает поддержание сразу нескольких ЕИ.

Рисунок 7 – Модель для поддержания нескольких единиц измерения количества

Сущность ЕИ количества, ассоциации ЕИ количества изделия и ЕИ в список позволяют задавать несколько единиц измерения количества изделия. Атрибут Флаг базовой ЕИ позволяет помечать базовую единицу измерения количества, которая используется для хранения данных о количестве. Атрибут Коэффициент задает коэффициент пересчета базовой единицы в какую-либо другую единицу из списка. Данная модель позволяет поддерживать несколько единиц измерения количества и пересчитывать количество из одной единицы в другую в соответствии с требованиями.

Обобщим предыдущие решения для любых измеряемых параметров (см. рис. 8).

Рисунок 8 – Диаграмма классов, отражающая проектное решение для поддержания единиц измерения параметров изделий

Поскольку существуют различные варианты упаковки продукции, рассмотрим аспект, связанный с этим. На рисунке ниже (см. рис. 9) представлена модель, позволяющая поддержать нормы для различных вариантов упаковки изделий.

Сущность Упаковка позволяет вести справочник упаковок с указанием их основных параметров. Виды упаковок определяет сущность Вид упаковки. Сущность Норма упаковки и ассоциации Варианты упаковки и Для упаковки позволяют вести нормы количества изделий для различных вариантов упаковки. Ассоциация Упаковка по позиции позволяет указать конкретную упаковку для отгружаемого товара.

Рисунок 9 – Модель классов по поддержанию нормативов упаковки

Данная модель позволяет рассчитать Количество мест(), Вес НЕТТО(), Масса груза БРУТТО(). Атрибут ТТН Порядковый номер записи предназначен обеспечить партионный учет изделий даже при перемещении между субъектами хозяйственной деятельности. В этой связи модель, представленная на рис. 8, оказывается неработоспособной.

Изобразим фрагмент диаграммы классов, поддерживающий партионный учёт (см. рис. 10).

Рисунок 10 Модель, поддерживающая партионный учет изделий

Доработаем модель и добавим вычисление общей массы НЕТТО (), БРУТТО (), суммы (), количества мест и наименований, НДС () и прейскуранты. Результат представлен ниже (см. рис. 11).

Рисунок 11 – Модель, поддерживающая вычисление общих для всего списка позиций характеристик.

Перейдем к рассмотрению следующих строк:

  • «Отпуск разрешил»

  • «Главный (старший) бухгалтер»

  • «Отпуск груза произвел»

  • «Груз к перевозке принял»

  • «Груз получил грузополучатель»

Из этих строк становится очевидно, что необходимо дополнить роли СХД этими позициями. Дополнение модели изображено на рисунке ниже (см. рис. 12).

Рисунок 12 – Фрагмент диаграммы классов, дополняющий роли СХД в операции Отгрузка

Теперь приступ к рассмотрению 5 рисунка в Приложении. Исходя из него, добавим новую хозяйственную операцию "Требование". Анализ документа начнём со следующих строк:

  • «ТРЕБОВАНИЕ - НАКЛАДНАЯ» - подкласс класса «Документ»;

  • «№» - обозначение поля документа с его номером;

  • «54» - значение поля № - номер конкретной ТН;

  • «Дата составления» – поле ТН, для представления даты составления ТТН (возможно даты выполнения соответствующей операции отгрузки).

  • «Код вида операции» - поле документа, обозначающее вид операции.

Поскольку документ уже не единственный, то становится очевидным то, что необходимо добавить классификатор документов.

Рисунок 13 – Фрагмент диаграммы классов, описывающий документ «Требование-накладная»

Рассмотрим позиции "Отправитель" и "Получатель". Они обозначают подразделения, которые участвуют в торговой сделке. Соответственно, необходимо для этого выделить новые роли в СХД. Доработанная часть модели представлена ниже (см. рис. 14).

Рисунок 14 – Диаграмма классов, описывающая роли СХД в операции Требование

Поскольку были рассмотрены роли в СХД, стоит обратить внимание на строки: «Через кого», «Затребовал», «Разрешил», «Отпустил», «Получил». Они также отражают роли, которые исполняют сотрудники в ходе торговой операции.

Рисунок 15 – Диаграмма классов, дополняющая роли СХД в операции Требование

Обратим внимание на столбец «Корреспондирующий счет». Это тот счёт, через который будут проходить операции. Добавим в модель часть, связную с оплатой Накладной-Требования (см. Рис. 16).

Рисунок 16 Модель для описания связи с оплатой Требование

Далее распишем следующие атрибуты, обозначающие позиции хозяйственной операции:

    • «Корреспондирующий счет» - счет, субсчет и код аналитического участка.

    • «Материальные ценности» - наименование и номенклатурный номер.

    • «Количество» - затребованных и выданных единиц продукции.

    • «Цена» и «Сумма НДС ()»

И выделим классификатор изделий. Результирующая модель представлена на рисунке ниже (см. Рис. 17).

Рисунок 17 Диаграмма классов, показывающая составление списка позиций операции Требование

Для расширения количества хозяйственных операций обратимся к рисунку 6 из Приложения. Там описан документ "Листок выдачи". Он описывает операцию "Выдача". Исходя из этого, дополним существующую модель и изобразим её часть (см. рис. 18)

Рисунок 18 Фрагмент диаграммы классов, описывающий документы, связанные с ХО Выдача

Обратим внимание на позиции "Отправитель" и "Получатель". Поскольку такие роли уже были добавлены, модель нет смысла дополнять ими. Поэтому лишь продублируем конструкцию, составленную для хозяйственной операции "Требование", но уже для "Выдачи" (см. рис. 19). Похожая ситуация с полями "Затребовал", "Разрешил", "Через кого" и тд, а также с системой оплаты (см. Рис. 20-21).

Рисунок 19 Диаграмма классов, показывающая роли СХД, которые связанны с Выдачей

Рисунок 20 – Диаграмма классов, дополняющая список ролей СХД в операции Выдача

Рисунок 21 Модель для описания связи с оплатой Выдача

Тогда изобразим получившуюся модель для составления списка позиций в операции Выдача. Результат изображен на рисунке ниже (см. рис. 22).

Рисунок 22 Диаграмма классов, показывающая составление списка позиций в операции Выдача

Для добавления хозяйственной операции "Экспорт" рассмотрим 9 рисунок из Приложения. На диаграмме ниже рассмотрена часть модели, отвечающая за основные документы, которые необходимы для ХО Экспорт. Кроме того, было принято решение для Валюты создать отдельную сущность.

Рисунок 23 –. Диаграмма классов для основных документов, необходимых для операции Экспорт

Поскольку экспорт подразумевает использование как минимум двух языков, то необходимо добавить поддержку разных переводов для международных торговых соглашений.

Рисунок 24 – Фрагмент диаграммы для перевода документов.

В связи со спецификой данной хозяйственной операции появляются новые роли. Обратим внимания на строки с рисунка 9: атрибуты «Страна отправления», «Страна производства», «Страна назначения», «данные отправителя», «данные получателя» и «импортер». Кроме того, там упоминается Директор. Добавим все необходимые для этой хозяйственной операции роли в СХД.

Рисунок 25 – Диаграмма классов, изображающая роли СХД, которые участвуют в операции Экспорт

Рисунок 26 – Фрагмент диаграммы с списком позиций для Экспорта

Применим способ моделирования ролей в виде специальных классов (см. рис. 27).

Ниже представлен фрагмент модели, описывающей роли «СХД» в хозяйственной операции («ХО») как объекты класса «Роль СХД в ХО».

Рисунок 27 – Модель ролевой структуры «СХД» в «ХО»