Skip to content

Индивидуальные объекты и категории

Посмотрите ещё раз на выделенные вами в своей предметной области объекты (сущности). Можете ли вы сказать, что вы собственно представляли себе при выполнении Упражнения 2.7: реальный предмет, который либо прямо уже существует в физическом мире, либо который может в нём появиться, быть обнаружен? Или же вы в момент выделения объекта имели в виду категории предметов, вас не волновали индивидуальные предметы? Или вы вообще выделили какие-то абстракции, идеи?

Ответ может быть разным. Если вы действительно сами готовите обеды дома, вы, возможно, представили себе именно купленный вчера пакет картошки, не очень качественной в это время года. А также свой любимый нож для нарезки мяса из оружейной стали с костяной ручкой.

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

Строительный рабочий, подумав о своём рабочем месте, представит себе свою удобную каску и привычный молоток с обмотанной изолентой ручкой. Менеджера строительной компании интересуют «каски вообще», как необходимое на стройплощадке снаряжение, и «молотки» как необходимый для выполнения работ в срок инструмент. Пока менеджер организует инструктаж рабочих по технике безопасности, его объект – это абстрактный «рабочий». Если же инструктаж уже идёт, то для учёта прохождения инструктажа его объектами должны стать конкретные рабочие Иванов, Петров и Сидоров.

То есть и тот и другой вариант выделения объектов – правильный, выбор зависит тоже от роли и от её методов/практик, то есть от того, для каких целей в вашей модели выделяются объекты.

Мы будем называть реальные физические предметы – физическими объектами, индивидуальными объектами, индивидами. Проверка на «реальность» и «физичность» - очень простая. По индивиду можно «постучать» - потрогать его в реальности, увидеть, услышать, даже понюхать, или хотя бы представить себе эти действия в воображении. Про некоторые индивиды мы знаем только потому, что их существование зафиксировали разработанные нами приборы (фотоаппараты, микроскопы, телескопы, радиолокаторы и т.п.), но это тоже вполне индивиды.

Все остальные сущности мы будем называть «категориями», но иногда будем говорить «абстрактные объекты» или «концеп**ты». Почему при самых общих подходах к моделированию это одно и то же – станет понятно в нашем руководстве дальше, совсем скоро мы научимся говорить ещё более строго, формально.

Снова посмотрите на выделенные вами сущности объекты. Оцените – как вы выбирали названия объектов, какими словами пользовались? Можно ли понять, что вы имели в виду по тем названиям объектов, которые вы использовали? Может ли какой-то читатель однозначно по вашим записям отличить – вы выделили индивидов или категории?

Объекты обычно называют существительными в именительном падеже. Скорее всего вы поступали так же – использовали слова «картошка», «нож», «склад», «молоток». Некоторые люди с опытом моделирования своей предметной области умеют выделять как объекты картины мира разные процессы, используя в их названиях отглагольные существительные, например, «резка», «варка», «забивание».

Если вы задумаетесь над интерпретацией таких названий, вы поймёте, что просто существительные легче понимать как названия именно категорий, абстрактных объектов. Даже если в название объектов добавлены уточнения – «нож для мяса», «алюминиевая вилка» - сторонний читатель, не имеющий возможности влезть вам в голову, решит, что вы имеете в виду категорию, абстрактный объект. Для того чтобы кто-то, без ваших подсказок, интерпретировал название как название индивидуального объекта – надо использовать какой-то уникальный идентификатор.

«Рабочий» - это категория людей, для которых вы можете планировать инструктаж по технике безопасности. «Иван Иванович Иванов» - это уже конкретный человек, про которого вы интересуетесь, прошёл ли он этот инструктаж. В реальной рабочей модели (в документе, например) лучше использовать ещё более точное название, «Иван Иванович Иванов, дата рождения 01.01.1998», или даже «Иван Иванович Иванов, дата рождения 01.01.1998, паспорт серия… номер…».

В реальных проектах практически у всех индивидов есть какие-то уникальные идентификаторы, которые можно использовать в их названиях: серийные номера, коды, инвентарные номера, маркировка. Если вы моделируете реальную ситуацию и вам нужно указать именно на физический объект – используйте эти идентификаторы. В учебных задачах для указания на индивидуальный физический объект вы можете использовать конструкции типа «мой»: «мой рабочий компьютер», «мой домашний компьютер», «кухонный комбайн Siemens на моей кухне», и т.п. В беседе с другом вы скорее всего скажете так же: «мой ножик сломался», так что такие имена нам уже привычно интерпретировать как указания на индивидов.

Для категорий (абстрактных объектов) лучше всего использовать существительные, либо существительные с уточнениями, но без указания индивидуальных признаков.

Если вы описываете предметную область с какой-то степенью формальности, строите модель для реальной деятельности – вы можете сформулировать дополнительные правила именования и договориться об их использовании со всеми, кто будет делать модель с вами или использовать вашу модель. Например, давайте в нашем руководстве договоримся всегда заключать названия объектов в кавычки и писать названия индивидов с маленькой буквы (ну кроме ФИО), а категорий - с большой буквы.

Тогда «мой кухонный комбайн Siemens» или «шуруповерт инвентарный номер 1250564-678» будут понятными именами индивидов, а «Кухонный комбайн Siemens» или «Шуруповерт» - именами категорий.

Ещё одна рекомендация – при формализованном (и тем более при формальном) моделировании использовать для имен категорий существительные в единственном числе. В разговорной речи – множественное число звучит вполне нормально.