Онтологии в микроэкономике (4). Количественный учет
Автор: Александр Поляков
статья редактируется...
При создании концептуальных моделей (онтологий) для такой предметной области, как микроэкономика, разработчики часто используют такое ключевое понятие как – количество, характеризующее число неких единиц (объектов).
На основе данного понятия в онтологиях используется другое ключевое понятие – количественный учет, когда в системе учета фиксируется не каждый отдельный уникальный объект, а некоторое количество одинаковых объектов.
Одинаковые объекты будем далее называть тождественными объектами, подразумевая под этим, что они характеризуются не только одинаковым набором свойств, но и одинаковыми значениями этих свойств.
Напомним, что объектно-ориентированный подход к проектированию систем предполагает описание ключевых понятий предметной области с помощью классов и объектов (экземпляров класса). Классы задают структуру и поведение объектов предметной области. Конкретные объекты являются экземплярами класса. Разницу между классами и экземплярами классов можно понять с помощью следующего примера:
- комплект технической документации на производство лазерного принтера модели А001 позволяет изготовить любое число лазерных принтеров
- каждый изготовленный на основании этой документации принтер будет уникальным, но похожим на другие лазерные принтеры этой модели
Комплект технической документации можно ассоциировать с понятием класса Принтеры, характеризующего все принтеры, которые могут быть изготовлены на основе этой документации. Конкретный принтер можно считать экземпляром данного класса. Все экземпляры будут характеризоваться одинаковым набором свойств, предусмотренным в технической документации.
Значения каждого свойства у отдельных принтеров могут быть как одинаковыми, так и различаться. Например, цвет корпуса принтера может быть белым или черным, это не повлияет на его функциональные возможности. Значения же таких свойств, как размер бумаги, качество и скорость печати должны быть для всех принтеров одинаковыми. Если у принтеров совпадают значения всех свойств, то такие принтеры можно считать тождественными. При этом каждый из принтеров остается уникальным объектом.
Автоматизированная система учета не умеет работать с объектами реального мира, в ней можно создавать только их компьютерные модели. Поэтому далее под объектами учета мы будем понимать модели объектов реального мира, для учета которых предназначена автоматизированная система. Например, объект учета принтер отражается в системе учета с помощью конечного набора характеристик, важных с точки зрения пользователя автоматизированной системы – модель, разрешение и скорость печати, размер бумаги. Если в систему учета внести данные о каждом принтере, то появится возможность различать в хозяйственных операциях каждый принтер, например, по его уникальному идентификатору ID. Класс Принтер в автоматизированной системе учета может быть определен структурой соответствующего хранилища данных, например, справочника, элементы которого будут соответствовать экземплярам данного класса, т.е. конкретным принтерам.
Само понятие объекта предполагает его уникальность, обособленность от других объектов, пусть даже и во всем на него похожих. В хозяйственных операциях может принимать участие множество объектов учета, в том числе и тождественных, но эти объекты не рассматриваются системой учета как взаимозаменяемые, каждый из них система учета рассматривает как самостоятельный уникальный объект учета.
В этом случае нет необходимости характеризовать хозяйственную операцию, которая также является объектом учета, таким свойством, как количество – количественный учет просто не имеет смысла, т.к. каждый объект учитывается индивидуально.
Если же в автоматизированной системе учета не обеспечена возможность учета каждого принтера, как уникального объекта учета, то теряется возможность отличать в хозяйственных операциях один принтер от другого, в этом случае появляется необходимость в таком понятии, как количественный учет.
В хозяйственной операции теперь нет возможности сослаться на конкретный принтер, можно только указать – один принтер, два принтера, три принтера и т.п. Причем, в этом случае в автоматизированной системе учета должно храниться описание такого обобщенного квазиобъекта, как лазерный принтер, например, в том же справочнике, в котором хранятся его уникальные «собратья».
С точки зрения автоматизированной системы учета такие объекты можно назвать обезличенными, т.к. их невозможно отличить друг от друга. Строго говоря, эти объекты и объектами то назвать нельзя, т.к. методология объектно-ориентированного проектирования предполагает уникальность каждого объекта, что позволяет однозначно выделить его из множества остальных объектов.
Для того чтобы каким-то образом охарактеризовать обезличенные объекты в случае использования количественного учета, мы использовали термин квазиобъект, который отличается от класса объектов тем, что содержит не только перечень свойств объекта учета – как в описании класса, но и конкретные значения свойств – как для уникального объекта учета. Квазиобъект не отождествляется с каким-либо конкретным объектом учета, он предназначен для описания любого объекта из группы тождественных объектов учета.
Можно привести такой пример:
- реквизиты справочника определяют класс Принтеры
- элемент этого справочника определяет конкретный принтер
- пользователь может выбрать любой элемент справочника и использовать его в качестве квазиобъекта для описания в хозяйственных операциях любого обезличенного принтера из группы одинаковых принтеров
Таким образом, количественный учет возникает в системе учета тогда, когда разработчики системы отказываются по каким-либо причинам от одного из основных принципов объектного подхода – уникальности каждого объекта учета. В этом случае в системе учета фиксируются хозяйственные операции с неким количеством обезличенных тождественных объектов учета, каждый из которых можно охарактеризовать с помощью квазиобъекта.
Чтобы избежать дальнейших недоразумений, сразу необходимо пояснить, что использование в автоматизированной системе учета уникальных объектов само по себе не устраняет необходимость в использовании такого понятия, как количество объектов. Например, при формировании отчетов далеко не всегда требуется указывать информацию обо всех уникальных объектах учета, многим пользователям достаточно знать просто количество тождественных объектов учета. В отчете о продажах для директора предприятия достаточно указать количество проданных принтеров, а вот менеджеру по продажам нужно знать их уникальные идентификаторы для того, чтобы оформить гарантийные талоны. Также и бухгалтеру может понадобиться информация о каждом принтере, чтобы рассчитать прибыль от его продажи.
Таким образом, использование или неиспользование в отчетах, а, следовательно, и в учете уникальных объектов учета зависит от того, насколько полезной считается данная информация для пользователей системы учета. Необходимо также учитывать реальные возможности современных автоматизированных систем, т.к. использование только уникальных объектов учета предполагает серьезное увеличение числа объектов учета в системе (структурная сложность) и связей между ними (динамическая сложность).
Кроме того, свойство количество может использоваться для характеристики отдельного объекта учета, участвующего в операции. Например, если уникальным объектом учета является партия из трех лазерных принтеров, то одним из свойств этого объекта является количество принтеров в партии, в нашем случае три штуки. Поскольку в этом случае операции связаны с движением всей партии принтеров, нет необходимости характеризовать операцию количеством принтеров. Такой учет получил название партионного учета, предполагающего, что уникальными объектами учета выступают целые партии материальных ценностей. Если партии разделяются на части или объединяются в партии большего объема, то уникальными объектами учета становятся уже эти новые партии.
Рассмотрим примеры хозяйственных операций с объектами учета. Напомним, что хозяйственная операция класса Корреспонденция также является уникальным объектом учета, а привычный многим пользователям систем учета журнал хозяйственных операций (ЖХО) можно рассматривать в качестве хранилища таких объектов учета, как хозяйственная операция или просто операция.
В наших примерах ограничимся такими свойствами операции, как – дата, содержание операции, дебет, кредит, количество и стоимость.
Предположим, что 01 октября 2015г. предприятие приобрело у поставщика три лазерных принтера и поместило их на склад №1. В зависимости от использованной в автоматизированной системе учета методологии возможно, как минимум, три варианта отражения этой операции в учете:
- вариант №1 предполагает, что все три принтера в системе учета отражаются как отдельные уникальные объекты учета
- вариант №2 предполагает, что уникальным объектом учета является вся партия из трех одинаковых принтеров
- вариант №3 исходит из того, что нет необходимости рассматривать принтеры как уникальные объекты учета, достаточно указать количество поступивших на склад одинаковых принтеров
Вариант №1. Три принтера – три уникальных объекта учета
Все три операции в ЖХО не предполагают использования количественного учета, т.к. дебетуются уникальные объекты учета со своими идентификаторами. В этом случае из ЖХО, а, следовательно, и из свойств операции вообще можно удалить «Кол-во» за ненадобностью.
В операциях участвуют уникальные объекты учета, которые можно рассматривать как экземпляры класса Принтеры. Значения свойств каждого принтера могут задаваться, например, в одноименном справочнике Принтеры:
В нашем примере Место хранения является свойством принтера, а не свойством операции. Если в дальнейшем какой-либо из принтеров будет перемещен, например, на склад №2, то достаточно будет просто изменить значение этого свойства, используя для этого операцию класса Изменение свойств. Такой вариант отражения в учете перемещений уникальных объектов между складами связан с тем, что объект учета можно рассматривать как конечный автомат.
Напомним, что конечный автомат представляет собой модель вычислений, основанную на гипотетической машине состояний. В каждый момент времени активным может быть только одно состояние объекта учета, а для выполнения каких-либо действий машина должна менять свое состояние, в нашем случае – в результате изменения значения свойства Место хранения.
Более того, мы не сможем отразить перемещение принтера ID1 со склада №1 на склад №2 в ЖХО с помощью операции класса Корреспонденция, т.к. по дебету и по кредиту операции должен будет участвовать один и тот же объект, но в разных состояниях. В этом случае получится, что в системе учета на момент времени отражения операции t2 должен существовать принтер ID1 одновременно в двух состояниях – на складе №1 и №2, что невозможно.
Вариант №2. Партия из трех принтеров – уникальный объект учета
В данном случае в операции принимает участие уникальный объект учета Партия принтеров, значения свойств которого содержатся, например, в одноименном справочнике Партии принтеров:
Данная операция также не предполагает использования количественного учета, т.к. отражает поступление на склад №1 уникального объекта Партия принтеров (ID4). Однако в данном случае разработчик должен решить, каким образом в системе учета будет отражаться информация о свойствах входящих в партию принтеров. Достаточно ли будет указать их названия или какие-либо другие характеристики, например, в наименовании партии, не уточняя состав и значения всех их свойств, или нужно использовать для описания входящих в партию принтеров квазиобъект (ID0)? В последнем случае значения свойств квазиобъекта (ID0) могут быть заданы, например, в справочнике Принтеры:
Данный элемент справочника Принтеры позволяет получить представление о том, из каких объектов учета состоит Партия принтеров (ID4). В нашем примере квазиобъект отличается от уникальных объектов – принтеров только тем, что у него отсутствует значение свойства Место хранения, т.к. значение этого свойства было определено в справочнике Партии принтеров. Однако в других случаях может быть определено значение и этого свойства квазиобъекта.
Вариант №3. Три одинаковых принтера, похожих на квазиобъект (ID0)
Данная операция отражает поступление на склад №1 трех обезличенных лазерных принтеров, значения свойств которых определяются с помощью квазиобъекта (ID0) из справочника Принтеры. Для работы с такими объектами в операции приходится использовать свойство количество, а в системе учета появляется необходимость в количественном учете.
Для понимания того, для какого объекта учета в операции используется количественный учет – для дебетуемого, кредитуемого или для обоих, необходимо предусмотреть соответствующее свойство у квазиобъекта (ID0), например, в справочнике Принтеры:
Кроме того, использование квазиобъекта (ID0) приводит к еще одной проблеме, связанной с определением места хранения трех принтеров. Если в двух предыдущих вариантах Место хранения являлось свойством уникальных объектов учета, то место хранения трех обезличенных принтеров невозможно определить ни в свойствах операции, ни в справочнике Принтеры. Действительно, если мы определим значение этого свойства в справочнике Принтеры, то при перемещении обезличенных принтеров на другие склады, для их описания каждый раз придется создавать новые квазиобъекты с соответствующими значениями свойства Место хранения, что сложно признать разумным.
Если же добавить свойство Место хранения в описание операции, то такая операция перестанет быть универсальной, т.е. предназначенной для описания пары корреспондирующих объектов учета любого класса. Действительно, ведь не для всех же объектов системы учета необходимо определять места хранения.
Таким образом, использование в операции квазиобъекта (ID0) и количественного учета приводит к тому, что разработчикам автоматизированной системы придется создавать какое-то дополнительное хранилище данных, в котором необходимо будет связывать места хранения с количеством хранящихся там обезличенных объектов, похожих на квазиобъект (ID0). Теперь уже не получится ограничиться только записью операции в ЖХО, необходимо будет одновременно делать записи и в этом дополнительном хранилище (или в нескольких хранилищах) данных, например, в следующей таблице:
В данной таблице одновременно с записью операции в ЖХО необходимо произвести запись о поступлении (приходе) на склад №1 трех обезличенных принтеров, характеризуемых с помощью квазиобъекта (ID0).
Безусловно, такой вариант отражения операций с обезличенными объектами учета усложняет как структуру учетной системы, так и логику отражения в ней хозяйственных операций. Но в современных автоматизированных системах учета пока нельзя обойтись без обезличенных объектов учета, а, следовательно – нельзя обойтись без количественного учета. Конечно, это не означает, что такая ситуация будет сохраняться всегда. В будущем, когда автоматизированные системы учета будут создаваться на основе «настоящего» объектного подхода, вполне вероятно, что такое понятие как количественный учет может уйти в прошлое.
Для этого необходимо также, чтобы получили серьезное развитие периферийные (с точки зрения системы учета) автоматизированные подсистемы ввода первичных данных – о каждом уникальном объекте учета. До сих пор мы рассматривали только дискретные объекты учета, такие, как принтеры, но значительно сложнее организовать учет уникальных объектов для сыпучих или жидких материалов, а также для работ или услуг.
Используется количественный учет и при построении модели предприятия в виде Графа затрат, в котором предполагается, что продукция, работы или услуги на выходе любого центра затрат измеряются с помощью единиц калькуляции. Вид единицы калькуляции на выходе центра затрат является одним из его важных свойств, т.к. определяет, чем же занимается этот центр затрат в модели предприятия – какую номенклатуру продукции производит, какие виды работ выполняет и какие виды услуг оказывает.
Если Граф затрат построен таким образом, что каждый его центр затрат производит в рассматриваемом периоде только одну единицу продукции, работ или услуг, то эту единицу калькуляции можно рассматривать как уникальный объект учета. В этом случае нет необходимости в использовании количественного учета. Однако практика моделирования показывает, что рассмотренный тип Графа затрат является достаточно редким явлением. Такая модель предприятия, как правило, является очень сложной как сточки зрения структуры – из-за большого числа составляющих ее центров затрат, так и с точки зрения динамики – из-за большого числа потоков затрат. Поэтому на данный момент при построении Графов затрат предполагается, что центры затрат производят в рассматриваемом периоде некоторое количество единиц калькуляции, что приводит к использованию количественного учета.
Подведем некоторые итоги:
- если система учета полностью создана на основе объектного подхода, то в ней нет необходимости использовать количественный учет, т.к. все объекты учета являются уникальными и учитываются индивидуально
- понятие количество в такой системе учета может использоваться только в качестве свойства объекта учета, например, для определения количества объектов в партии материальных ценностей, а также при построении отчетов, которые также являются объектами системы учета
- если в системе учета нарушается принцип уникальности каждого объекта учета, то появляется необходимость в использовании количественного учета – для учета групп обезличенных тождественных объектов учета
- для описания обезличенных объектов учета в системе учета могут использоваться квазиобъекты, которые отличаются от классов объектов тем, что содержат не только перечни свойств объектов учета, но и конкретные значения свойств – как для уникальных объектов учета
- кроме того, как мы увидим далее, использование количественного учета вносит в систему учета существенную неопределенность, связанную с необходимостью применения альтернативных способов нахождения стоимости обезличенных тождественных объектов учета при их перемещении между местами хранения, использовании в производстве продукции, работ и услуг, выбытии в результате продажи и т.д.
Следует также иметь в виду, что таблицы реальных автоматизированных систем учета могут иметь гораздо более сложную структуру, чем были рассмотрены в настоящем параграфе. Однако при их разработке необходимо учитывать те особенности применения ключевых понятий – количество и количественный учет, которые были рассмотрены и проиллюстрированы выше соответствующими простыми примерами. Это позволило бы сделать логику выполнения операций в автоматизированных системах учета более прозрачной и понятной для пользователей, а также уменьшить зависимость пользователей от «авторских» методологий учета в автоматизированных системах учета разных производителей.