Protege_restaurant (1185815)
Текст из файла
Московский государственный университет имени М. В. ЛомоносоваФакультет вычислительной математики и кибернетикиКафедра алгоритмических языковОтчёт о выполнении задания практикума«Разработка онтологии на основесистемы Protégé 3.5»Студенты 524 группыА. К. АсирянЕ. В. ГалкинаГ. Н.
ШрамовМосква, 2017Содержание1 Определение области и масштаба онтологии32 Выявление важных терминов онтологии33 Определение классов, их связей, иерархии54 Выявление свойств/атрибутов классов55 Уточнение аспектов значений атрибутов136 Создание экземпляров классов1421Определение области и масштаба онтологииРазработанная онтология описывает часть предметной области «Рестораннациональных кухонь».Цель онтологии — хранение информации о структуре и работе ресторана,его сотрудниках, оснащении, меню и процессе обслуживания.База знаний должна давать ответы на следующие типы вопросов:• Из каких филиалов состоит сеть ресторанов и какие сотрудники тамработают?• Какие блюда входят в меню сети ресторанов и какова технология ихприготовления?• Какие ингредиенты имеются в наличии?• Какие заказы были сделаны в филиалах ресторана (в том числе заказына доставку)?• Какой сотрудник ответственный за заказ (официант или курьер)?• Каков размер выручки в каждом филиале?• Какие столики и на какое время были забронированы в каждом из филиалов?• Сколько человек вмещает каждый филиал?2Выявление важных терминов онтологииБыли выявлены следующие основные термины онтологии:1.
Блюдо — позиция в меню, которая может относиться к одной из национальных кухонь.2. Бронь — заказ столика некоторым заказчиком заранее на определённыйинтервал времени.3. Заказ — совокупность заказанных блюд, суммы их стоимости и филиала, в котором был сделан заказ.4. Заказ на доставку — конкретный вид заказа, который должен бытьдоставлен по определённому адресу в определённый интервал времени.5. Счёт — заказ, сделанный непосредственно в ресторане.36. Инвентарь — набор приспособлений, присутствующих в техническомпомещении ресторана.7.
Ингредиент — часть блюда; продукт, взятый в определённом количестве.8. Помещение — часть здания, где располагается ресторан, которая емупринадлежит и служит некоторым целям.9. Рецепт — набор ингредиентов и инструкций по приготовлению блюда.10. Сеть ресторанов — несколько филиалов, имеющих одно название и владельца.11. Стол — стол в ресторане, имеющий свой номер, количество мест; можетбыть забронирован.12. Филиал — часть сети ресторанов со своим адресом, набором помещенийи сотрудниками.13.
Заказчик — человек, сделавший заказ на доставку.14. Сотрудник ресторана — человек, работающий в филиале ресторана.15. Владелец ресторана — человек, владеющий сетью ресторанов.16. Курьер — сотрудник ресторана, доставляющий заказы.17. Работник зала — сотрудник ресторана, работающий в зале для посетителей.18. Работник кухни — сотрудник ресторана, работающий на кухне (поэтомудолжен иметь мед. книжку).19. Управляющий персонал — сотрудники ресторана, осуществляющиеуправление филиалом.20. Повар — работник кухни, умеющий готовить определённый набор блюд.21. Шеф-повар — повар, у которого есть своё фирменное блюдо.22.
Официант — работник зала, обслуживающий определённый набор столиков.Все перечисленные термины присутствуют в онтологии в виде отдельныхклассов. Некоторые классы не были описаны в качестве терминов, посколькуне являются специфическими для предметной области, или входят в иерархию классов, используемую только для классификации.43Определение классов, их связей, иерархииВ приложении представлены две диаграммы. Одна показывает отношениямежду классами, в другой добавлены атрибуты этих классов.Абстрактные классы показаны красным. Чёрные стрелки обозначают наследование, синие — связь «один-к-одному», зелёные — «один-ко-многим».Курсивом выделены необязательные атрибуты. У классов-наследников показаны только те атрибуты, которых нет у родительских классов.4Выявление свойств/атрибутов классовДля каждого из классов были описаны атрибуты, указанные ниже.
В скобках указан тип значения атрибута. Названия абстрактных классов выделеныжирным. Если значений может быть несколько, тип атрибута заключён в[квадратные скобки]. Если атрибут ссылается на другой класс, тип указывается в виде #Класс. Необязательные атрибуты обозначены курсивом. Унаследованные атрибуты заключены в {фигурные скобки}.1. Адрес• Город (String)• Дом (Integer)• Индекс (Integer)• Квартира (Integer)• Корпус (String)• Строение (String)• Улица (String)2.
Блюдо• Рецепт приготовления (#Рецепт)• Цена (Float)3. Блюдо армянской кухни• {Рецепт приготовления} (#Рецепт)• {Цена} (Float)4. Блюдо итальянской кухни5• {Рецепт приготовления} (#Рецепт)• {Цена} (Float)5. Блюдо японской кухни• {Рецепт приготовления} (#Рецепт)• {Цена} (Float)6. Бронь• Время (#Временной интервал)• Заказчик (# Заказчик)7.
Временной интервал• Начало (#Дата)• Конец (#Дата)8. Дата• Год (Integer)• Месяц (Integer)• День (Integer)• Часы (Integer)• Минуты (Integer)• Секунды (Integer)9. Заказ• Блюда ([#Блюдо])• Номер (Integer)• Скидка (Float)• Способ оплаты (String)• Сумма (Float)• Филиал заказа (#Филиал)10. Заказ на доставку• Email (String)6• Адрес доставки (#Адрес)• {Блюда} ([#Блюдо])• Заказчик (#Заказчик)• Интервал доставки (#Интервал доставки)• Количество персон (Integer)• {Номер} (Integer)• {Промо-код } (String)• {Скидка} (Float)• {Способ оплаты} (String)• {Сумма (Float)}• {Филиал заказа} (#Филиал)• Курьер заказа (#Курьер)11. Счёт• {Блюда} ([#Блюдо])• {Номер} (Integer)• Официант заказа (#Официант)• {Скидка} (Float)• {Способ оплаты} (String)• Стол заказа (#Стол)• {Сумма (Float)}• {Филиал заказа} (#Филиал)12.
Инвентарь• Кол-во (Integer)• Название (String)• Цена (Float)13. Ингредиент• Продукт (#Продукт)• Количество (Float)• Единица измерения (String)714. Паспорт• Кем выдан (String)• Когда выдан (#Дата)• Код подразделения (Integer)• Номер (Integer)• Серия (Integer)15. Помещение• Назначение ([String])• Ответственный (#Сотрудник ресторана)• Площадь (Float)16.
Помещение для посетителей• Вместимость (Integer)• {Назначение} ([String])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)17. Обеденный зал• {Вместимость} (Integer)• {Назначение} ([String])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)• Количество столов (Integer)• Столики ([#Стол])18. Туалет• {Вместимость} (Integer)• {Назначение} ([String])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)19. Производственное помещение8• {Назначение} ([String])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)20. Кухня• {Назначение} ([String])• Опись ([#Инвентарь])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)21. Склад• {Назначение} ([String])• {Ответственный} (#Сотрудник ресторана)• {Площадь} (Float)• Продукты ([#Ингредиент])22.
Продукт• Белки (Float)• Сеть ресторанов• Жиры (Float)• Углеводы (Float)• Калорийность (Float)23. Рецепт• Ингредиенты ([#Ингредиент])• Инструкция ([String])24. Сеть ресторанов• Владелец (#Владелец ресторана)• Дата открытия (#Дата)• Меню ([#Блюдо])• Название (String)• Филиалы ([#Филиал])925. Стол• Бронирование ([#Бронь])• Количество мест (Integer)• Номер (Integer)• Описание (String)• Форма (String)26. Филиал• Адрес филиала (#Адрес)• Время работы (#Временной интервал)• Помещения ([#Помещение])• Сотрудники ([#Сотрудник ресторана])27. Человек• Фамилия (String)• Имя (String)• Отчество (String)• Дата рождения (#Дата)• Пол (Boolean)• Телефон (String)28.
Заказчик (наследуется от #Человек, новых атрибутов нет)29. Сотрудник ресторана• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• График работы (String)• Зарплата (Integer)10• ИНН (String)• Обязанность ([String])• Паспорт сотрудника (#Паспорт)• СНИЛС (String)30.
Работник зала• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• {График работы}(String)• {Зарплата} (Integer)• {ИНН} (String)• {Обязанность} ([String])• {Паспорт сотрудника} (#Паспорт)• {СНИЛС } (String)31. Официант• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• {График работы}(String)• {Зарплата} (Integer)• {ИНН} (String)• {Обязанность} ([String])• {Паспорт сотрудника} (#Паспорт)• {СНИЛС } (String)11• Столики ([#Стол])32. Работник кухни• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• {График работы}(String)• {Зарплата} (Integer)• {ИНН} (String)• {Обязанность} ([String])• {Паспорт сотрудника} (#Паспорт)• {СНИЛС } (String)• Мед.
книжка (String)33. Повар• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• {График работы}(String)• {Зарплата} (Integer)• {ИНН} (String)• {Обязанность} ([String])• {Паспорт сотрудника} (#Паспорт)• {СНИЛС } (String)• {Мед. книжка} (String)• Блюда ([#Блюдо])1234. Шеф-повар• {Фамилия} (String)• {Имя} (String)• {Отчество} (String)• {Дата рождения} (#Дата)• {Пол} (Boolean)• {Телефон} (String)• {График работы}(String)• {Зарплата} (Integer)• {ИНН} (String)• {Обязанность} ([String])• {Паспорт сотрудника} (#Паспорт)• {СНИЛС } (String)• {Мед.
книжка} (String)• {Блюда} ([#Блюдо])• Фирменное блюдо (#Блюдо)От класса «Продукт» наследуется целая иерархия продуктов с теми жеатрибутами, которые наглядно показаны на диаграмме и не были указаныпри перечислении. Иерархия сотрудников ресторана также указана не полностью, поскольку у большинства классов новых атрибутов нет. Она нагляднопредставлена на диаграмме в приложении.5Уточнение аспектов значений атрибутовТипы значений атрибутов, ссылки на другие классы и мощность атрибутов описаны при перечислении атрибутов. Кроме того, у атрибута «Обязанность» в конкретных классах иерархии сотрудников ресторанов имеютсязначения по умолчанию.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.