К теории моделирования и нотациям Ваш вопрос не имеет отношения, насколько я могу судить.
Да, промахнулся разделом. Извиняюсь. Обратился к администраторам с просьбой перенести тему.
Затруднительно понять из Вашего сообщения, что за задача перед Вами стоит, с какой целью Вы ею занимаетесь...
Стоит задача разработать программу. Программа работает с базой данных.
Условно, базу данных можно разделить на две логические "части": первая - это записи о некоторых объектах.
Что это за объекты - это не суть важно - пусть это будут книги, как в примере выше. Или например детские игрушки. Или упомянутые вами бутерброды.
Структура этих объектов-записей довольно простая - у каждой записи есть уникальный идентификатор, и еще несколько полей с характеристиками.
А вот вторая "часть" БД намного интереснее - это система классификации этих записей по категориям.
И мой вопрос как раз связан с разработкой этой второй "части".
... при чём тут UML.
Ну как при чем.
На первом этапе нужно разработать логическую модель этой системы на языке UML.
Библиотечная классификация -- специализированная вещь, отличающаяся от обобщённой классификации "объектов по каким-либо категориям". Так, на книге есть шифры -- ББК и всякие там ISBNы. Просто глядя на них Вы получаете ответ на вопрос: "содержится" ли книга в категории "Приключения". На книге есть значок ограничения по возрасту (если она издана после вступления в силу соответствующих законов). Глядя на них Вы узнаете, относится ли книга к категории "Детям до 12 лет".
Все эти значки - это всего лишь общепринятые коды общепринятых категорий.
Но ведь книга сначала должна быть классифицирована библиотекарем, то есть отнесена к тем или иным категориям, и только после этого у нее появится этот код.
Вообще, библиотечная классификация ничем не отличается от других классификаций, например от классификации живых организмов.
Набор категорий разный, а принцип "функционирования" этих систем классификации - одинаковый.
Интересно, что система живых организмов "расширяемая". То есть в ней со временем могут появляться новые категории.
Точно также чисто теоретически можно представить, что библиотечное сообщество со временем может придумать и для книг еще какую-то дополнительную категорию к уже существующим.
Получается, что все системы классификации по сути похожи и состоят из следующих элементов:
- иерархическая система категорий (естественно, в каждой системе классификации набор категорий свой)
- перечень записей-объектов
- способ связывания объектов с категориями
На книге есть дата выпуска тиража. По нему Вы получите ответ про "Период публикации".
С периодом публикации не совсем удачный пример получился.
Лучше рассмотрим категорию "Исторический период". Допустим все книги в библиотеке надо дополнительно классифицировать по категории "Исторический период", в соответствии с описываемыми в книге событиями.
Допустим эта категория в нашей системе классификации разбита на следующие подкатегории: "Древняя Русь", "Удельная Русь", "Русское государство до 1721", "Российская империя", "Российская республика", "СССР".
Библиотекарь сначала по краткому содержанию книги определяет подкатегорию, к которой следует отнести книгу.
Затем, в своей программной системе "связывает" карточку книги с этой подкатегорией. И только после этого у книги появляется соответсвующий код.
Теоретически категория "Исторический период" может быть разбита и более "дробные" периоды, например "Период Петра 1-го", "Период Брежнева".
Причем в одной и той же книге могут быть описаны разные исторические периоды, а значит, она дожна быть связана с несколькими подкатегориями.
Но если Ваша система категоризует/классифицирует бутерброды, то, просто взглянув на бутерброд, вряд ли можно определённо ответить:
относится ли он к категории "Приключения"?
предназначен ли он детям до 12 лет и годится ли для детей постарше?
Правильно! Так как для бутербродов должна быть своя система категорий.
Вот в этом и заключается вопрос - разработать модель "универсальной" системы категорий.
Не жестко заданной, а именно "универсальной".
Тогда в этой системе классификации можно будет классифицировать как книги, так и бутерброды.
Можно нафантазировать такой пример: в такой системе вы выбираете подкатегорию "Российская республика" и видите: (1) книги об этом периоде и (2) наиболее популярные бутерброды в этот исторический период.
Конечно, этот пример из области юмора. Но суть задачи поясняет.