Индивидуальные объекты и категории
Посмотрите ещё раз на выделенные вами в своей предметной области объекты. Можете ли вы сказать, что вы собственно представляли себе при выполнении Упражнения 1.6: реальный предмет, который либо прямо уже существует в физическом мире, либо который может в нём появиться, быть обнаружен? Или же вы в момент выделения объекта имели в виду категории предметов, вас не волновали индивидуальные предметы? Или вы вообще выделили какие-то абстракции, идеи?
Ответ может быть разным. Если вы действительно сами готовите обеды дома, вы, возможно, представили себе именно купленный вчера пакет картошки, не очень качественной в это время года. А также свой любимый нож для нарезки мяса из оружейной стали с костяной ручкой.
Если же для вас ситуация на кухне -- скорее теоретическая, и вы просто из общих соображений знаете, что там имеются ножи и кастрюли, то ничего конкретного вы в виду не имели, просто упомянули, что «ножи» и «кастрюли» повару могут быть интересны.
Строительный рабочий, подумав о своём рабочем месте, представит себе свою удобную каску и привычный молоток с обмотанной изолентой ручкой. Менеджера строительной компании интересуют «каски вообще», как необходимое на стройплощадке снаряжение, и «молотки» как необходимый для выполнения работ в срок инструмент. Пока менеджер организует инструктаж рабочих по технике безопасности, то его объект -- абстрактный «рабочий». Если же инструктаж уже идёт, то для учёта прохождения инструктажа его объектами должны стать конкретные рабочие Иванов, Петров и Сидоров.
То есть и тот и другой вариант выделения объектов -- правильный, выбор зависит тоже от роли и от её практик, то есть от того, для каких целей в вашей модели выделяются объекты.
Мы будем называть реальные физические предметы -- физическими объектами, индивидуальными объектами, индивидами. Проверка на «реальность» и «физичность» - очень простая. По индивиду можно «постучать» - потрогать его в реальности, увидеть, услышать, даже понюхать, или хотя бы представить себе эти действия в воображении. Про некоторые индивиды мы знаем только потому, что их существование зафиксировали разработанные нами приборы (фотоаппараты, микроскопы, телескопы, радиолокаторы и т.п.), но это тоже вполне индивиды.
Все остальные объекты мы будем называть «категориями», но иногда будем говорить «абстрактные объекты» или «концепции». Почему при самых общих подходах к моделированию это одно и то же -- станет понятно в нашем курсе дальше.
Снова посмотрите на ваши объекты. Оцените -- как вы выбирали названия объектов, какими словами пользовались? Можно ли понять, что вы имели в виду по тем названиям объектов, которые вы использовали? Может ли какой-то читатель однозначно по вашим записям отличить -- вы выделили индивидов или категории?
Объекты обычно называют существительными в именительном падеже. Скорее всего вы поступали так же -- использовали слова «картошка», «нож», «склад», «молоток». Некоторые люди с опытом моделирования своей предметной области умеют выделять как объекты картины мира разные процессы, используя в их названиях отглагольные существительные, например, «резка», «варка», «забивание».
Если вы задумаетесь над интерпретацией таких названий, вы поймёте, что просто существительные легче понимать как названия именно категорий, абстрактных объектов. Даже если в название объектов добавлены уточнения -- «нож для мяса», «алюминиевая вилка» - сторонний читатель, не имеющий возможности влезть вам в голову, решит, что вы имеете в виду категорию, абстрактный объект. Для того чтобы кто-то без ваших подсказок интерпретировал название как название индивидуального объекта -- надо использовать какой-то уникальный идентификатор.
«Рабочий» - это категория людей, для которых вы можете планировать инструктаж по технике безопасности. «Иван Иванович Иванов» - это уже конкретный человек, про которого вы интересуетесь, прошёл ли он этот инструктаж. В реальной рабочей модели (в документе, например) лучше использовать ещё более точное название, «Иван Иванович Иванов, дата рождения 01.01.1998», или даже «Иван Иванович Иванов, дата рождения 01.01.1998, паспорт серия... номер...».
В реальных проектах практически у всех индивидов есть какие-то уникальные идентификаторы, которые можно использовать в их названиях: серийные номера, коды, инвентарные номера, маркировка. Если вы моделируете реальную ситуацию и вам нужно указать именно на физический объект -- используйте эти идентификаторы. В учебных задачах для указания на индивидуальный физический объект вы можете использовать конструкции типа «мой»: «мой рабочий компьютер», «мой домашний компьютер», «кухонный комбайн Siemens на моей кухне», и т.п. В беседе с другом вы скорее всего скажете так же: «мой ножик сломался», так что такие имена нам уже привычно интерпретировать как указания на индивидов.
Для категорий (абстрактных объектов) лучше всего использовать существительные, либо существительные с уточнениями, но без указания индивидуальных признаков.
Если вы описываете предметную область с какой-то степенью формальности, строите модель для реальной деятельности -- вы можете сформулировать дополнительные правила именования и договориться об их использовании со всеми, кто будет делать модель с вами или использовать вашу модель. Например, давайте в нашем курсе договоримся всегда заключать названия объектов в кавычки и писать названия индивидов с маленькой буквы (ну кроме ФИО), а категорий - с большой буквы.
Тогда «мой кухонный комбайн Siemens» или «шуруповерт инвентарный номер 1250564-678» будут понятными именами индивидов, а «Кухонный комбайн Siemens» или «Шуруповерт» - именами категорий.
Ещё одна рекомендация -- при формализованном (и тем более при формальном) моделировании использовать для имен категорий существительные в единственном числе. В разговорной речи -- множественное число звучит вполне нормально.