ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.05.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
На логическом уровне проектирования в моделируемой базе данных присутствуют один тип связей между описанными сущностями: идентифицирующие связи.
Связь между сущностями «Список блюд» и «Содержание заказа» идентифицирующая один ко многим, т.к. в один список блюд может входить несколько блюд.
Связь между сущностями «Заказы» и «Содержание заказа» идентифицирующая один ко многим, т.к. в одном заказе может быть несколько блюд.
Связь между сущностями «Работники столовой» и «Заказы» идентифицирующая один ко многим, т.к. один работник может оформить несколько заказов.
Связь между сущностями «Столики» и «Заказы» идентифицирующая один ко многим, т.к. на один столик может быть несколько заказов.
На рисунке 7 изображена ER-диаграмма логического уровня.
Рисунок 7 – ER – диаграмма логического уровня
Одной и той же логической модели может соответствовать несколько разных физических. В физической модели важно описать всю информацию о конкретных физических объектах – таблицах, колонках, индексах, процедурах. Для нормализации разрабатываемой схемы данных приведем все имеющиеся отношения к соответствующим наборам ограничений. Первая нормальная форма требует, чтобы значения всех атрибутов отношения были атомарными. При рассмотрении информационной модели было отмечено, что значения атрибутов всех отношений логически разделить на элементы нельзя и, следовательно, они удовлетворяют условию первой нормальной формы. Вторая нормальная форма требует, чтобы отношение находилось в первой нормальной форме, и каждый не ключевой атрибут функционально полно зависел от первичного ключа. И это требование также выполняется в рассматриваемой модели. Все не ключевые атрибуты функционально полно и не транзитивно зависят от первичного ключа. Следовательно, отношение находится в БКНФ. На рисунке 8 изображена ER-диаграмма физического уровня.
Рисунок 8 – ER-диаграмма физического уровня
2.3 Верификация спроектированной логической модели
После разработки информационной модели ее следует связать с функциональной моделью. Такая связь гарантирует завершенность анализа, гарантирует, что есть источники данных (сущности) для всех работ. Связывание моделей способствует согласованности, корректности и завершенности анализа. Стрелки в функциональной модели обозначают некоторую информацию, использующуюся в моделируемой системе. В информационной модели на логическом уровне информация изображается в виде сущностей. Сущности состоят из совокупностей экземпляров сущностей (кортежи отношений). К информационной модели предъявляется требование нормализации, что должно обеспечить компактность и непротиворечивость хранения данных. Информация, которая моделируется одной стрелкой в функциональной модели, может содержаться в нескольких сущностях и атрибутах информационной модели. На функциональной модели могут присутствовать различные стрелки, изображающие одни и те же данные. Информация о таких стрелках находится в одних и тех же сущностях. Следовательно, одной и той же стрелке в функциональной модели могут соответствовать несколько сущностей в информационной модели и, наоборот, одной сущности может соответствовать несколько стрелок.
Работы в функциональной модели могут создавать или изменять данные, которые соответствуют входящим и выходящим стрелкам. Они могут воздействовать как целиком на сущности (создавая и модифицируя экземпляры сущности), так и на отдельные атрибуты сущности.
BPwin позволяет связывать элементы информационной модели, созданной с помощью Erwin, документировать влияние работ на данные и, тем самым позволяет создать спецификации на права доступа к данным для каждого процесса.
На основании верификации спроектированной логической модели создан отчет представленный в таблице 1.
Таблица 1 – Отчет верификации спроектированной логической модели
Entity Name | Attribute Name | Arrow Name |
1 | 2 | 3 |
Заказы | №_заказа | Отчёт о продажах |
| | Чек |
| №_столика | Отчёт о продажах |
| Время | Отчёт о продажах |
| | Чек |
| Выставленная_сумма | Информация о клиентах |
| | Отчёт о продажах |
| | Чек |
| Дата | Отчёт о продажах |
| | Чек |
| Оплаченная_сумма | Информация о клиентах |
| | Отчёт о продажах |
| | Чек |
| Таб_номер | Отчёт о продажах |
Работники_столовой | Должность | Информация о сотрудниках |
| Образование | Информация о сотрудниках |
| Таб_номер | Информация о сотрудниках |
| ФИО | Информация о сотрудниках |
Содержание_заказа | №_блюда | Информация о клиентах |
| | Чек |
| №_столика | Информация о клиентах |
| Кол-во | Информация о клиентах |
| | Чек |
| Цена | Чек |
Список блюд | №_блюда | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Готовить/не готовить | Информация о блюдах |
| Ед_измерения | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Название_блюда | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Наличие | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Номинальная_цена | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Номинальное_кол-во | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
| Характеристика блюда | Информация о блюдах |
| | Отчёт об имеющихся блюдах |
Столики | №_столика | Информация о наличии свободных мест |
| | Информация о свободных местах |
| Статус | Информация о наличии свободных мест |
| | Информация о свободных местах |
3. Реализация системы
3.1 Т-SQL – определение регламентированных запросов
Для создания отчетов создано 5 запросов. Рассмотрим каждый запрос подробнее.
Запрос «Данные для отчёта о продажах» содержит информацию о количестве товара, его цене и предназначен для формирования отчёта «Содержание заказа». Текст запроса на языке Т-SQL представлен ниже:
UPDATE Заказ, [Содержание заказа] SET [Содержание заказа]. Общая Стоимость = [Количество]*[Цена];
Результат запроса содержит стобец с вычислениями общей стоимости заказанных блюд по отдельности исходя из их количества.
Запрос «Данные для отчёта о свободных столиках» содержит информацию о номере столика и его статусе и предназначен для формирования отчёта «Наличие свободных мест». Текст запроса на языке Т-SQL представлен ниже:
SELECT Столики. № столика
FROM Столики
WHERE (((Столики.Статус)="свободен"));
Результат запроса содержит столбец, где перечисляются все свободные столики в данной столовой.
Запрос «Данные для отчёта об имеющихся блюдах» содержит следующую информацию: название блюда, характеристику блюда, номинальное количество, единицу измерения и цену блюда. Данный запрос предназначен для формирования отчёта «Имеющиеся в продаже блюда». Текст запроса на языке Т-SQL представлен ниже:
SELECT [Данные о блюдах]. Название_блюда, [Данные о блюдах]. Характеристика, [Данные о блюдах]. Номин_количество, [Данные о блюдах]. Ед_измерения, [Данные о блюдах]. Ном_цена
FROM [Данные о блюдах];
В результате запрос выводит информацию обо всех имеющихся блюдах.
Запрос «Данные для чека» содержит следующую информацию: номер заказа, дату заказа, время заказа, название блюда, количество выбранного блюда и цену за него, а также информацию об общей сумме заказа. Данный запрос предназначен для формирования отчёта «Чек». Текст запроса на языке Т-SQL представлен ниже:
SELECT Заказ. № заказа, Заказ. Дата, Заказ. Время, [Данные о блюдах]. Название блюда, [Содержание заказа]. Количество, [Содержание заказа]. Цена, [Цена]*[Количество] AS Symma_zakaza
FROM (Заказ INNER JOIN [Запрос о выставлении суммы] ON Заказ. № заказа = [Запрос о выставлении суммы]. № заказа) INNER JOIN ([Данные о блюдах] INNER JOIN [Содержание заказа] ON [Данные о блюдах].№блюда = [Содержание заказа].№блюда) ON Заказ. № заказа = [Содержание заказа]. № заказа
WHERE (((Заказ. № заказа)=[Введите № заказа]));
В результате запрос выводит чек, который выдаётся клиентам столовой для оплаты.
Запрос о выставлении суммы содержит информацию о заказе и данные об итоговой сумме заказа. Текст запроса на языке Т-SQL представлен ниже:
SELECT Заказ. № заказа, Sum([Содержание заказа]. Общая Стоимость) AS Symma_zakaza
FROM Заказ INNER JOIN [Содержание заказа] ON Заказ. № заказа = [Содержание заказа]. № заказа
GROUP BY Заказ. № заказа;
Результат запроса содержит столбец, где указывается итоговая сумма заказа.
3.2 Описание клиентских приложений
информационный автоматизация столовая запрос
При разработке курсового проекта создано клиентское приложение информационной системы «Столовая». На основной форме постранично располагаются все таблицы, необходимые для составления отчетов, а также основные кнопки управления программой.
Главная форма представлена на рисунке 9.
Рисунок 9 – Главное окно программы
В основные возможности программы входят следующие функции: добавить, редактировать и удалить запись из базы данных. Функция добавить позволяет вводить новые поля в выбранную базу данных. Функция редактировать дает возможность изменять не правильно введенные данные. Функция удалить позволяет убрать запись из базы данных.
Кроме основных функций программа также осуществляет поиск данных: по названию блюда, цене блюда, номеру столика и табельному номеру. У пользователя есть возможность ввести параметры поиска, программа произведет поиск, а затем результаты поиска покажет пользователю. Если запрашиваемых данных нет, то на экране появится пустая база данных. Формы в режиме поиска представлены на рис. 10-13.
Рисунок 10 – Форма в режиме поиска по названию блюда
Рисунок 11 – Форма в режиме поиска по цене блюда
Рисунок 12 – Форма в режиме поиска по номеру столика
Рисунок 13 – Форма в режиме поиска по табельному номеру
Кроме основных функций программа также осуществляет фильтрацию данных: по названию блюда, цене блюда, номеру столика, табельному номеру и фамилии. У пользователя есть возможность ввести требуемые данные, программа произведет фильтрацию, а затем результаты поиска покажет пользователю.
Пример фильтрации данных по фамилии сотрудника, представлен на форме 14.
Рисунок 14 – Форма в режиме фильтрации по фамилии сотрудника
Также пользователь может просмотреть отчеты: об имеющихся в продаже блюдах, информацию о наличии свободных мест, данные заказа. Отчеты представлены на рисунках 15-17.
Рисунок 15 – Отчет «Имеющиеся в продаже блюда»
Рисунок 16 – Отчет «Информация о наличии свободных мест»
Рисунок 17 – Отчет «Данные заказа»
4. Функциональное и общее тестирование системы
Тестирование программного продукта проводилось по всем вариантам использования. Результаты тестирования представлены в таблице 2.
Таблица 2 – Журнал тестирования
Действие актера | Действие программного модуля | Отметка о правильной работе или описание ошибки | | |
1 | 2 | 3 | | |
Добавить данные о новом блюде | Добавление | Действие выполнено успешно | | |
Добавить данные о новом заказе | Добавление | Действие выполнено успешно | | |
Добавить запись о сотруднике | Добавление | Действие выполнено успешно | | |
Добавить запись в содержание заказа | Добавление | Действие выполнено успешно | | |
Редактировать запись о новом блюде | Редактирование | Действие выполнено успешно | | |
Редактировать данные заказа | Редактирование | Действие выполнено успешно | | |
Редактировать запись в содержании | Редактирование | Действие выполнено успешно | | |
Редактировать запись о добавлении блюда | Редактирование | Действие выполнено успешно | | |
Удалить запись о новом блюде | Удаление | Действие выполнено успешно | | |
Удалить запись о созданном заказе | Удаление | Действие выполнено успешно | | |
Удалить запись о сотруднике | Удаление | Действие выполнено успешно | | |
Удалить запись из содержания | Удаление | Действие выполнено успешно | | |
Фильтр по названию блюда | Фильтрация | Действие выполнено успешно | | |
Фильтр по цене блюда | Фильтрация | Действие выполнено успешно | | |
Фильтр по номеру столика | Фильтрация | Действие выполнено успешно | | |
Фильтр по табельному номеру | Фильтрация | Действие выполнено успешно | | |
Фильтр по фамилии сотрудника | Фильтрация | Действие выполнено успешно | | |
Поиск по цене блюда | Поиск | Действие выполнено успешно | | |
Поиск по названию блюда | Поиск | Действие выполнено успешно | | |
Поиск по номеру столика | Поиск | Действие выполнено успешно | ||
Поиск по табельному номеру | Поиск | Действие выполнено успешно | ||
Отчет «Имеющиеся в продаже блюда» | Формирование отчета | Действие выполнено успешно | ||
Отчет «Информация о наличии свободных мест» | Формирование отчета | Действие выполнено успешно | ||
Отчет «Данные заказа» | Формирование отчета | Действие выполнено успешно | ||
Выход | Выход | Действие выполнено успешно |