Курсавая работа. Доделать додику курсач. База данных (БД)
Скачать 5.09 Mb.
|
Входными данными, являются данные, поступающие от пользователя при добавлении новой информации в таблицы «Сотрудники», «Бронирование Места», «Дисконтные карты», «Заказ», «Клиент», «Меню», «Место», «Оформленные Заказы», «Оформленные Чека», «Пользователь Программы», «Ресторан», «Тип блюда», «Тип Дисконтной карты», «Тип Зала», «Тип Сотрудники». Входными данными при добавлении нового сотрудника являются: фио; личный номер; номер паспорта; заработная плата; электронная почта; телефон; должность; дата рождения; id тип сотрудника. Выходные данные представлены документами, экспортируемыми в Microsoft Office Word, а также сформированный чек в PrintPreviewDialog. 1.4 Выбор и обоснование средств разработки Microsoft Visual Studio 2019 – это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки Visual Studio. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) [4]. C# – язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан в 1998–2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников языков C++, Delphi, Modula и Smalltalk – С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++) или вывода типов (в отличие от Haskell) [5]. В Microsoft SQL Server 2016 еще более улучшены критически важные возможности, представляемые в более ранней версии, за счет предоставления рекордной производительности, доступности и удобства управления для ваших критически важных приложений. SQL Server 2016 представляет новые функциональные средства работы в оперативной памяти, встроенные в основную базу данных для операций OLTP и хранения данных, которые дополняют существующие технологии хранилищ данных в оперативной памяти и функциональные возможности бизнес-аналитики для создания наиболее разностороннего решения по эксплуатации средств баз данных в оперативной памяти на рынке. SQL Server 2016 также предоставляет новые решения для аварийного восстановления, резервного копирования и гибридной архитектуры в Windows Azure, позволяя клиентам использовать существующие навыки работы с локальными функциями, опирающимися на возможности глобальных центров обработки данных Microsoft [6]. Microsoft Ofiice Word 2019 – это прикладная программа, входящая в Microsoft Office 2019. Microsoft Word текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритма [7]. 2 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА 2.1 Инфологическая модель БД Инфологическое моделирование выполняется с целью обеспечения самых естественных для человека способов представления и сбора информации, которая будет храниться в создаваемой базе данных. Поэтому инфологическая модель данных строится в соответствии с естественным языком, который невозможно использовать в чистом виде в виду сложности обработки текстов с помощью компьютера и неоднозначности естественного языка. Цель инфологического проектирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в созданной базе данных. Поэтому инфологическую модель пытаются строить по аналогии с естественным языком. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства. Основные конструктивные элементы инфологической модели – это сущности, связи между сущностями и их атрибуты. Сущностью является любой объект, предмет, идея, событие, явление или факт, информация о котором должна храниться в БД. В роли сущностей могут выступать изобретения, гроза, цвет, вкус, рейсы, самолеты, места, люди и т.п. Различают понятия экземпляр сущности и тип сущности. Тип сущности определяет набор однородных идей, событий, предметов или личностей, которые выступают как целое. Экземпляр сущности определяет конкретную вещь в наборе. Атрибут является поименованной характеристикой сущности [8]. Определим сущности для разрабатываемого программного средства. Для сущности «Сотрудники» атрибутами будут являться: id тип сотрудника; личный номер; фио; номер паспорта; заработная плата; электронная почта; телефон; должность; дата рождения . Для сущности «Бронирование места» атрибутами будут являться: id бронирование места; id ресторана; id клиента; фио клиента; дата прихода; номер стола. Для сущности «Дисконтные карты» атрибутами будут являться: номер дисконтной карты; id тип дисконтной карты; наименование карты; id клиента; фио клиента. Для сущности «Заказ» атрибутами будут являться: личный номер; время; номер заказа; фио сотрудника; номер дисконтной карты. Для сущности «Клиент» атрибутами будут являться: id клиента; фио клиента; дата рождения; электронная почта. Для сущности «Меню» атрибутами будут являться: номер меню; цена; наименование блюда; описание; id тип блюда; тип блюда. Для сущности «Место» атрибутами будут являться: номер стола; id тип зала; статус зала. Для сущности «Оформленные заказы» атрибутами будут являться: id оформленные заказы; номер заказа; номер меню; наименование блюда. Для сущности «Оформленные чека» атрибутами будут являться: номер заказа; номер чека; цена чека; описание; дата оформления. Для сущности «Пользователь программы» атрибутами будут являться: логин; пароль. Для сущности «Ресторан» атрибутами будут являться: id ресторана; название; адрес. Для сущности «Тип блюда» атрибутами будут являться: id тип блюда; наименование типа. Для сущности «Тип дисконтной карты» атрибутами будут являться: id тип дисконтной карты; наименование карты. Для сущности «Тип зала» атрибутами будут являться: id тип зала; наименование зала. Для сущности «Тип сотрудника» атрибутами будут являться: id тип сотрудника; наименование. Пример инфологической модели представлен на рисунке 2.1. Рисунок 2.1 – Инфологическая модель базы данных 2.2 Функциональная модель Визуальное моделирование с использованием нотации Unified Modeling Language (UML) можно представить, как процесс поуровневого спуска от наиболее общей и абстрактной концептуальной модели исходной бизнес-системы к логической, а затем и к физической модели соответствующей программной системы. Для достижения этих целей вначале строится модель в форме так называемой диаграммы вариантов использования (use case diagram), которая описывает функциональное назначение системы или, другими словами, то, что бизнес-система должна делать в процессе своего функционирования. Диаграмма вариантов использования (use case diagram) – диаграмма, на которой изображаются отношения между актерами и вариантами использования. Диаграмма вариантов использования – это исходное концептуальное представление или концептуальная модель системы в процессе ее проектирования и разработки. Назначение данной диаграммы состоит в следующем: проектируемая программная система представляется в форме так называемых вариантов использования, с которыми взаимодействуют внешние сущности или актеры. При этом актером или действующим лицом называется любой объект, субъект или система, взаимодействующая с моделируемой бизнес-системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая служит источником воздействия на моделируемую систему так, как определит разработчик. Вариант использования служит для описания сервисов, которые система предоставляет актеру. Другими словами, каждый вариант использования определяет набор действий, совершаемый системой при диалоге с актером. При этом ничего не говорится о том, каким образом будет реализовано взаимодействие актеров с системой и собственно выполнение вариантов использования. Вариант использования (use case) – внешняя спецификация последовательности действий, которые система или другая сущность могут выполнять в процессе взаимодействия с актерами. Вариант использования представляет собой спецификацию общих особенностей поведения или функционирования моделируемой системы без рассмотрения внутренней структуры этой системы. Несмотря на то, что каждый вариант использования определяет последовательность действий, которые должны быть выполнены проектируемой системой при взаимодействии ее с соответствующим актером, сами эти действия не изображаются на рассматриваемой диаграмме [9]. В данной проектируемой системе в качестве актера выступает сотрудник, который служит источником воздействия на моделируемую систему. К основным функциям разрабатываемой программы относятся: осуществление ведение базы данных; проверка информации о блюдах. проверка информации о клиентах; проверка информации о сотрудниках; обработка оформления заказа; выполнения авторизации; осуществление формирования чека. Диаграмма вариантов использования представлена в приложении Б, на рисунке Б.1. 2.3 Конфигурация и состав ПО требуемых для работы приложения Для разработки данного программного средства необходимым минимумом является персональный компьютер под управление операционной системы Windows 10, среда разработки Microsoft Visual Studio 2019 и система управление базами данных Microsoft SQL Server 2016 или выше. Минимальной конфигурацией является: процессор 2.2 ГГц и выше; оперативная память 2 ГБ и выше; наличие свободного пространства в размере 25 МБ на запоминающем устройстве; устройство графического вывода; устройство ввода (клавиатура). Необходимым составом программного обеспечения является: операционная система семейства Windows (7/8.1/10); программная платформа .NET Framework 4.5; система управления базами данных Microsoft SQL Server 8.0.15; программное средство MS Word. 3 РАЗРАБОТКА ПРОГРАММНОГО СРЕДСТВА 3.1 Структура системы Структура системы будет представлять из себя несколько обобщённых модулей, которые будут взаимодействовать между собой и с базой данных. Модуль главное окно представляет собой главное окно программы с выбором режима работы. Модуль вход администратора представляет собой форму для добавления сотрудника, блюда и оформление заказа. Модуль добавление заказа представляет собой форму для добавления, удаления, редактирования оформленных заказов. Модуль добавление сотрудника представляет собой форму для добавления, удаления, редактирования сотрудников. Модуль добавление блюда представляет собой форму для добавления, удаления, редактирования блюд. Модуль вход сотрудника представляет собой форму бронирование столика, оформление заказа и чека. Модуль добавление блюда в меню представляет собой форму для добавления, удаления, редактирования блюд. Модуль оформление заказа представляет собой форму для добавления блюд в корзину. Модуль оформление чека представляет собой форму для отображение чека составленного сотрудником. Модуль базы данных будет представлять из себя класс для настройки и работы с базой данных. Структура системы представлена на рисунке 3.1. Рисунок 3.1 – Структура системы 3.2 Физическая модель данных Физическая модель БД определяет способ размещения данных в среде хранения и способы доступа к этим данным, которые поддерживаются на физическом уровне. Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация о всех объектах базы данных. Поскольку стандартов на объекты базы данных не существует, физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и так далее. Разделение модели данных на логические и физические позволяет решить несколько важных задач: масштабирование и документирование модели [10]. База данных соответствует реляционной модели данных, где каждый выделенный в ходе проектировании сущности соответствует таблица. Физическая реализация данных представлена ниже. Таблица «Сотрудники» хранит информацию обо всех сотрудниках, структура приведена в таблице 3.1. Таблица 3.1 – Структура таблицы «Сотрудники»
Таблица «Бронирование_Места» хранит информацию о заказанных местах, структура приведена в таблице 3.2. Таблица 3.2 – Структура таблицы «Бронирование_Места»
Таблица «Дисконтные_карты» хранит информацию о дисконтных картах клиентов, структура приведена в таблице 3.3. Таблица 3.3 – Структура таблицы «Дисконтные_карты»
Таблица «Заказ» хранит информацию об оформленных заказах, структура приведена в таблице 3.4. Таблица 3.4 – Структура таблицы «Заказ»
Таблица «Клиент» хранит информацию о клиентах, структура приведена в таблице 3.5. Таблица 3.5 – Структура таблицы «Клиент»
Таблица «Меню» хранит информацию о блюдах, структура приведена в таблице 3.6. Таблица 3.6 – Структура таблицы «Меню»
Таблица «Место» хранит информацию о местах, структура приведена в таблице 3.7. Таблица 3.7 – Структура таблицы «Место»
Таблица «Оформленные_Заказы» хранит информацию об оформленных заказах, структура приведена в таблице 3.8. Таблица 3.8 – Структура таблицы «Оформленные_Заказы»
Продолжение таблицы 3.8
Таблица «Оформленные_Чека» хранит информацию об оформленных чеков, структура приведена в таблице 3.9. Таблица 3.9 – Структура таблицы «Оформленные_Чека»
Таблица «Пользователь_Программы» хранит информацию о пользователях программы, структура приведена в таблице 3.10. Таблица 3.10 – Структура таблицы «Пользователь_Программы»
Таблица «Ресторан» хранит информацию о ресторанах, структура приведена в таблице 3.11. Таблица 3.11 – Структура таблицы «Ресторан»
Таблица «Тип_блюда» хранит информацию о типах блюдах, структура приведена в таблице 3.12. Таблица 3.12 – Структура таблицы «Тип_блюда»
Таблица «Тип_Дисконтной_карты» хранит информацию о типах дисконтных карт, структура приведена в таблице 3.13. Таблица 3.13 – Структура таблицы «Тип_Дисконтной_карты»
Таблица «Тип_Зала» хранит информацию о типах зала, структура приведена в таблице 3.14. Таблица 3.14 – Структура таблицы «Тип_Зала»
Таблица «Тип_Сотрудники» хранит информацию о типах сотрудников, структура приведена в таблице 3.15. Таблица 3.15 – Структура таблицы «Тип_Сотрудники»
Схема базы данных, сгенерированная в СУБД Microsoft SQL Server 2016 представлена на рисунке 2.1. |