47136 (608112)

Файл №608112 47136 (Информационная система "Книга рецептов")47136 (608112)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ

Московский Государственный Институт Электроники и Математики

КУРСОВАЯ РАБОТА

по теме: «Книга рецептов»

по курсу «Информационные технологии в экономике»

Москва, 2005 г.

Введение

Анализ проблемы, функциональные требования к информационной системе.

Мы живём в век информационных технологий, в век в котором техника может выполнять задачи, которые обременяют нас в повседневности. В настоящий момент существует масса мультимедийных систем, которые контролируют и упрощают наш повседневный быт. Например, так называемая система «Умный дом». Она позволяет с помощью современных технологий следить за функционированием дома и бытовых приборов. В данную систему может входить такие функции как: автоматический заказ продуктов, случае их отсутствия в холодильнике; управление с пульта ДУ всей музыкальной техникой, телевизорами, системой вентиляции и т.д.

Каждый день, все мы сталкиваемся с такими тривиальными задачами, как приготовление еды. Нужно знать, ЧТО ты хочешь приготовить, КАК и какие ПРОДУКТЫ необходимы. И при решении этой задачи мы сталкиваемся с проблемой упорядочения этих трех параметров: «ЧТО, КАК, Продукты?». А также актуальной задачей является экономия времени и средств.

Поэтому целесообразным инструментом решения поставленных задач, на мой взгляд, является электронная база данных, представляющая собой «Поваренную книгу». Функциями этой БД является: при выборе блюда из предложенного списка, БД выдаёт информацию о рецепте, количестве входящих в него продуктов, о расходах на продукты, времени приготовления и о виде блюда (1, 2, 3).

Итак, решением проблемы возникающей при приготовлении любого блюда, будет информационная система. Основные цели данной информационной системы:

  1. упорядоченное хранение информации о:

1.1) продуктах необходимых для приготовления;

1.2) о блюдах, предлагаемых базой данных;

1.3) о рецептах, по которым готовятся блюда;

  1. расчет расхода на продукты для блюдо;

  2. время приготовления.

Функциональная структура системы

Назначение проектируемой информационной системы (ИС) – упорядоченное хранение информации и управление расходом продуктов на блюдо и их стоимостью. Исходная информация ИС: информация о продуктах, информация о блюдах и информация, о рецептах. Основным пользователем ИС будет владелец холодильника. На выходе ИС должна формировать отчеты заданной формы. При функционировании ИС должны учитываться существующие формы отчетности.

Информацию о блюдах, изменении списка блюд, а также информацию о рецептах и продуктах (из поваренной книги) вносит пользователь, имея в виду формы отчетности.

Учитывая уже имеющиеся данные о блюдах в базе данных и о рецептах приготовления этих блюд, по данным о количестве продуктов необходимом для приготовления блюда ИС рассчитывает расход продуктов на блюдо и стоимость. Кроме того, ИС может сформировать дополнительные отчеты. Отчеты формируются по формам отчетности.

Итак, на выходе системы мы получаем отчеты, главный из которых - расчет расхода продуктов по рецепту и их стоимость.

Расчет расхода продуктов на блюдо и стоимости продуктов затраченных на блюдо происходит следующим образом: пользователь выбирает блюдо, для которого надо посчитать расход продуктов и их стоимость. По блюду ИС находит рецепт. По данным о рецепте и продуктах ИС рассчитывает расход каждого продукта в данном блюде и стоимость. Затем вклады всех продуктов суммируются, и на выходе мы получаем отчет о расходе продуктов и их общую стоимость.

Помимо отчета о расходе продуктов и их стоимости ИС также может сформировать дополнительные отчеты следующим образом: из предложенных форм отчетности выбирается нужная. По ней указываются параметры отчета. ИС обрабатывает хранящиеся в ней данные о продуктах, блюдах и рецептах - получаем отчеты.

Структура базы данных

Наша информационная система будет работать с такими объектами, как: продукты, блюда, рецепты. Для работы ИС нам важно знать о них следующую информацию:

1) о продуктах:

1.1) наименование продукта;

1.2) код продукта (он будет однозначно характеризовать продукт (для каждого продукта код уникален) и короче, чем наименование, – по нему легче ориентироваться);

1.3) цена за единицу продукта – дает возможность подсчитать стоимость продуктов необходимых для приготовления блюда;

2) о блюдах:

2.1) код блюда (также однозначно характеризует блюда и удобен в использовании);

2.2) наименование блюда;

2.3) время приготовления, сколько времени оно займет;

2.4) вид блюда (горячее, десерт и т.п.)

3) о рецептах: какие продукты и в каком количестве необходимы для приготовления одной порции данного блюда. То есть для каждого рецепта

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

Логическая модель БД

Физическая модель БД:

Построенная таким образом база данных имеет третью нормальную форму.

Поддержание целостности системы.

В системе должны поддерживаться следующие правила:

а) Для продукта: при попытке удаления записи таблицы продукты ИС проверяет, есть ли в БД данные о рецептах, содержащих этот продукт. Если такие рецепты находятся, то система выдает сообщение: «Такое удаление невозможно, так как есть рецепты, для осуществления которых необходим этот продукт». И действительно, если мы удалим данные об этом продукте, рецепты, ссылающиеся на него, станут бесполезными.

При изменении записи о продуктах необходимо помнить, что изменять коды продуктов нельзя - это уникальный атрибут каждого продукта. Если изменим код, то, по сути, мы удалим данные об одном продукте и заменим их данными о другом. Поэтому если пользователь попробует изменить код продукта, то система выдаст ему сообщение вида: «Код продукта менять нельзя; он должен совпадать с кодом продукта в каталоге продуктов». Но нулевых кодов у продукта также не может быть. Поэтому если пользователь захочет изменить код, который был введен нулевым, то система позволит ему это сделать.

Если пользователь не изменит нулевой код в ходе обновления записи, то система запретит такое обновление: «Код продукта не может быть нулевым».

б) Для блюда: записей в таблице рецепты без соответствующих записей в таблице блюда быть не должно, так как рецепт пишется именно для блюда. Поэтому если пользователь захочет удалить из БД данные о блюде, ИС попросит его сначала удалить соответствующие данные из таблицы рецепты: «В БД хранятся рецепт для этого блюда. Данные о блюде могут быть удалены только после удаления соответствующего рецепта».

Как и в случае с продуктами, коды блюд нельзя изменять. Поэтому пользователь, делая изменения в таблице блюда, не должен менять код – иначе это будет совершенно новое блюдо. ИС выдаст ошибку с объяснением: «Код блюда менять нельзя; он должен совпадать с кодом блюда в каталоге блюд». Но аналогично ситуации с продуктом замена нулевого кода позволяется, но оставить нулевой код нулевым нельзя.

в) Для рецепта: При внесении измененной информации в таблицу рецепты возможны две проблемы. Первое – в состав рецепта включили продукт, о котором нет информации в БД. В таком случае система предложит пользователю следующее: «Данных о таком продукте нет в БД. Внесите, пожалуйста, сначала информацию в таблицу продукты». Второе – пользователь отнес измененный рецепт к блюду, о котором нет данных в системе. ИС поступит аналогично предыдущему случаю: «Данных о таком блюде нет в БД. Внесите, пожалуйста, сначала информацию в таблицу блюда».

Приложения

1) Для продуктов:

а) Триггер на удаление записи таблицы продукты.

TRIGGER PROCEDURE FOR DELETE OF Product.

IF CAN-FIND(FIRST Recipe WHERE

Recipe.prod_code = Product.prod_code)

THEN DO:

MESSAGE «Такое удаление не возможно, так как есть рецепты, для осуществления которых необходим этот продукт.».

RETURN ERROR.

END.

б) Триггер на изменение записи таблицы продукты.

TRIGGER PROCEDURE FOR WRITE OF Product

NEW inserted OLD deleted.

IF deleted.prod_code <> 0 AND

deleted.prod_code <> inserted.prod_code

THEN DO:

MESSAGE "Код продукта менять нельзя; он должен совпадать с кодом продукта в каталоге продуктов."

RETURN ERROR.

END.

IF inserted.prod_code = 0

THEN DO:

ESSAGE "Код продукта не может быть нулевым."

RETURN ERROR.

END.

2) Для блюд:

а) Триггер на удаления записи таблицы блюда.

TRIGGER PROCEDURE FOR DELETE OF Dish.

IF CAN-FIND(FIRST Recipe WHERE

Recipe.dish_code = Dish.dish_code)

THEN DO:

MESSAGE «В БД хранится рецепт для этого блюда. Данные о блюде могут быть удалены только после удаления соответствующего рецепта.».

RETURN ERROR.

END.

б) Триггер на изменение записи таблицы блюда.

TRIGGER PROCEDURE FOR WRITE OF Dish

NEW inserted OLD deleted.

IF deleted.dish_code <> 0 AND

deleted.dish_code <> inserted.dish_code

THEN DO:

MESSAGE "Код блюда менять нельзя; он должен совпадать с кодом блюда в каталоге блюд."

RETURN ERROR.

END.

IF inserted.dish_code = 0

THEN DO:

MESSAGE "Код блюда не может быть нулевым.".

RETURN ERROR.

END.

3) Для рецептов.

а) Триггер на изменение записи таблицы рецепты.

TRIGGER PROCEDURE FOR WRITE OF Recipe

NEW inserted OLD deleted.

IF NOT(CAN-FIND(FIRST Dish WHERE

inserted.dish_code = Dish.dish_code))

THEN DO:

MESSAGE «Данных о таком блюде нет в БД. Внесите, пожалуйста, сначала информацию в таблицу блюда.».

RETURN ERROR.

END.

IF NOT(CAN-FIND(FIRST Product WHERE

inserted.prod_code = Product.prod_code))

THEN DO:

MESSAGE «Данных о таком продукте нет в БД. Внесите, пожалуйста, сначала информацию в таблицу продукты.»

RETURN ERROR.

END.

Отчёт

Table Name Description

----------------------------------------------------------------------------

Dish

Product

Recipe

=========================================================================

============================= Table: Dish ===============================

Table Flags: "f" = frozen, "s" = a SQL table

Table Dump Table Field Index Table

Name Name Flags Count Count Label

----------------------------- -------- ----- ----- ----- -------------------

Dish Dish 4 1 ?

Storage Area: N/A

Trigger Event Trigger Procedure Overridable? Check CRC?

------------- -------------------- ------------ ---------

DELETE D_Dish.p no no

Характеристики

Тип файла
Документ
Размер
10,64 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6274
Авторов
на СтудИзбе
316
Средний доход
с одного платного файла
Обучение Подробнее