Онтологии в микроэкономике (2). Ключевые понятия
Автор: Александр Поляков
В данной части статьи мы начинаем рассматривать первый из элементов онтологии, без которого не бывает ни легких, ни весомых онтологий – иерархию ключевых понятий (концептов) предметной области, которую можно определить как финансово-хозяйственная деятельность (ФХД) предприятия.
Не имея желания изобретать «бухгалтерский велосипед», т.к. проблемами классификации уже занималось большое число специалистов, просто обратимся к их опыту и знаниям: «Определение классов и объектов – одна из самых сложных задач объектно-ориентированного проектирования. Наш опыт показывает, что эта работа обычно содержит в себе элементы открытия и изобретения. С помощью открытий мы распознаем ключевые понятия и механизмы, которые образуют словарь предметной области. С помощью изобретения мы конструируем обобщенные понятия, а также новые механизмы, которые определяют правила взаимодействия объектов. Поэтому открытие и изобретение – неотъемлемые части успешной классификации. Целью классификации является нахождение общих свойств объектов. Классифицируя, мы объединяем в одну группу объекты, имеющие одинаковое строение или одинаковое поведение.»[*].
Мы не будем вникать во все тонкости объектно-ориентированного подхода к проектированию систем, а просто приведем известный студенческий пример, который пусть и не совсем полно, но в целом, верно, объясняет, что представляют собой классы и объекты при использовании объектно-ориентированного подхода к проектированию систем.
*****
Допустим, что на основании проекта необходимо изготовить несколько скоростных лифтов для высотных домов. Можно сказать, что проект скоростного лифта определяет класс объектов Лифт. По проекту лифт должен иметь определенные характеристики – габариты, грузоподъемность, скорость и т.п., которые являются свойствами этого класса. При изготовлении и эксплуатации лифтов некоторые значения их свойств можно менять, например, цвет стен в кабине, другие же значения свойств изменить нельзя, например, грузоподъемность. По проекту можно изготовить неограниченное количество лифтов, которые будут являться объектами (или экземплярами) класса Лифт. Каждый изготовленный лифт уникален, т.е. отличается от любого другого лифта, изготовленного по проекту, даже если значения всех свойств у них совпадают. Это значит, что объект является уникальным экземпляром класса. Пассажир общается с лифтом с помощью кнопочной панели в кабине, которую можно рассматривать в качестве интерфейса для общения с объектом, не вникая в технические подробности его устройства. После нажатия кнопки лифт может начать движение вверх или вниз, остановиться, открыть двери и т.д. Это работают методы класса Лифт.
Если двери открыты, то после нажатия кнопки какого-либо этажа лифт никуда не поедет. Лифт начнет движение только после закрытия дверей. Это значит, что поведение объекта зависит от его текущего состояния, а объект можно рассматривать как конечный автомат, т.е. некую математическую абстракцию – модель дискретного устройства, для которого определено конечное множество состояний и в каждый момент времени только одно состояние может быть активным. Для выполнения каких-либо действий устройство должно изменять свое состояние, при этом есть как разрешенные, так и запрещенные переходы из одних состояний в другие.
*****
Используемые в онтологии концепты представляют собой модели объектов реальной ФХД предприятия. Связанные между собой модели отдельных объектов ФХД представляют собой более объемную модель, для изучения которой необходима целая система наблюдения. Именно эту систему наблюдения за реальными хозяйственными операциями мы и будем далее называть системой финансового учета (СФУ).
Под наблюдением здесь можно понимать метод научного исследования, предполагающий активное, систематическое, целенаправленное, планомерное и преднамеренное изучение ФХД предприятия, в ходе которого формируется знание о тех ее свойствах и отношениях, которые важны с точки зрения наблюдателя, например, собственника или менеджмента предприятия. Любая современная СФУ также должна помогать пользователям в выяснении причин полученных результатов наблюдения за ФХД предприятия и в прогнозировании возможных вариантов развития дальнейших событий.
Исходя из обозначенных целей, разрабатываемая онтология должна включать в себя не только концепты, стоимость которых используется при формировании финансовой отчетности предприятия, но также и концепты – не характеризующиеся стоимостью, или стоимость которых не участвует в формировании финансовой отчетности предприятия. Такие концепты необходимы как для характеристики объектов финансового учета, так и для обеспечения возможности «интеллектуального» общения пользователя и СФУ, которую в этом случае можно отнести к классу экспертных систем.
Будем называть концепты онтологии объектами учета. На верхнем уровне классификации можно выделить три основных класса объектов учета:
- объекты финансового учета (ОФУ) – в СФУ фиксируются все операции, связанные с изменением стоимостей этих объектов учета. Далее эти стоимости включаются в финансовую отчетность предприятия, как публичную, так и внутреннюю
- объекты-операции – изменение значений свойств объектов учета в СФУ происходит с помощью операций, которые также можно рассматривать в качестве объектов онтологии. Операции используются для изменения значений любых свойств объектов учета. Для согласованного изменения стоимости связанных пар объектов финансового учета в СФУ выделен специальный класс операций – Корреспонденция (двойная запись). Составляющие пару объекты финансового учета при этом называются корреспондирующими
- информационные объекты (ИО) – данные объекты в СФУ либо не характеризуются стоимостью, либо их стоимость не участвует в формировании финансовой отчетности предприятия
*****
Например, для описания в СФУ средств производства может быть использован класс ОсновныеСредства. Модель конкретного объекта основных средств – Автомобиля А1 представляет собой экземпляр данного класса.
На основании описания класса ОсновныеСредства в СФУ может быть создано множество моделей конкретных объектов основных средств, в том числе и объект Автомобиль А1. По приведенной выше классификации созданный объект является объектом финансового учета, любые изменения его текущей стоимости должны учитываться в СФУ, а значение текущей стоимости на заданный момент времени используется при формировании финансовой отчетности предприятия.
*****
При создании в СФУ объекта учета его свойства получают начальные значения. Далее значения одних свойств могут изменяться, например – ТекущаяСтоимость, значения других свойств должны оставаться неизменными. Например, значение свойства СторонаБаланса определяет, в какой стороне бухгалтерского баланса должна показываться текущая стоимость объекта финансового учета – на стороне активов, или на стороне пассивов. Понятно, что заданное при создании в СФУ значение этого свойства далее не может быть изменено.
Некоторые свойства объекта основных средств, например, первоначальная стоимость, характеризуются числовыми значениями. Другие свойства сами могут являться объектами, например, материально-ответственное лицо (МОЛ), отвечающее за сохранность объекта. Такие объекты, как правило, являются информационными объектами.
Значения свойств объектов учета изменяются с помощью операций, которые также являются объектами онтологии.
*****
При реализации в СФУ операций класса ИзменениеСвойств могут быть использованы, например, таблицы следующего вида:
Данную таблицу можно рассматривать в качестве хранилища объектов-операций, выполненных при первом появлении (возникновении, инициализации) в СФУ объекта Автомобиль А1. Столбцы таблицы определяют структуру (т.е. свойства) операции и содержат значения свойств. Каждый объект-операция является уникальным объектом и в таблице характеризуется уникальным идентификатором IDi а также датой изменения значений свойств. В современных СФУ уже нельзя ограничиться только датой выполнения операции, поэтому обычно используется момент времени, включающий в себя дату и время выполнения операции с точностью до секунд.
Дальнейшие изменения значений свойств объекта Автомобиль А1 также будут производиться с помощью операций. Например, если поменялся водитель автомобиля (МОЛ), то будет сделана следующая запись:
Все объекты класса ОФУ характеризуются свойством ТекущаяСтоимость. Это очень важное свойство, т.к. любая СФУ собственно и создается для того, чтобы в первую очередь учитывать именно стоимости ОФУ. В отличие от значений всех других свойств ОФУ, его стоимость может изменяться только согласованно с каким-либо другим, корреспондирующим с ним ОФУ. Это обусловлено применением в финансовом учете принципа двойной записи, предполагающего одновременное изменение стоимостей пары корреспондирующих ОФУ на одну и ту же величину – по дебету одного ОФУ и по кредиту другого ОФУ.
Для изменения значений стоимостей пары корреспондирующих ОФУ используются операции класса Корреспонденция, которые могут быть реализованы, например, таблицами вида:
Операция ID10 характеризует изменение стоимости по дебету объекта основных средств Автомобиль А1 и по кредиту ОбъектКапВложений А1, что в реальной ФХД означает, что автомобиль начал использоваться предприятием в качестве средства производства.
Операция ID12 характеризует изменение стоимости по дебету объекта ЦЗ.Транспортный цех и по кредиту объекта основных средств Автомобиль А1, что в реальной ФХД означает, что автомобиль выполнил определенный объем транспортных услуг для транспортного цеха, что отразилось в СФУ как начисление суммы амортизации в размере $500.
По результатам выполнения обеих операций текущая стоимость объекта основных средств Автомобиль А1 составит $9500, что можно определить из анализа всех операций класса Корреспонденция, в которых он принимал участие.
*****
Подведем краткие итоги. При создании онтологии, предназначенной для проектирования любой современной автоматизированной СФУ, для отражения реальных событий ФХД в ней необходимо детально описать три класса объектов учета – объекты финансового учета (ОФУ), объекты-операции и информационные объекты (ОИ).
С точки зрения «традиционной» методологии финансового учета – ОФУ является развитием понятия счет учета, а операция класса Корреспонденция является обобщением «обычной» корреспонденции счетов учета. Информационные объекты можно считать развитием понятия глубокий аналитический учет.
В отличие от «традиционного» подхода к созданию СФУ, при котором статус системности присваивается исключительно счетам учета и их корреспонденциям, а любые дополнительные аналитические данные считаются несистемными, онтология позволяет унифицировать правила работы с любыми объектами учета.
[*] Гради Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» М.: Бином, 1998