Допускаю к защите
Скачать 1.65 Mb.
|
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Москва 2022
полное название образовательного учреждения
КАЛЕНДАРНЫЙ ПЛАН ВКР для специальности 09.02.07 Информационные системы и программирование (группа 4ИСП9-5ВБ)
Руководитель ____________________О.П. Куропаткина План принял к исполнению «13» апреля 2022 г. _____________ Ермаков А.А. ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ В настоящее время каждая организация старается автоматизировать свою систему, будто это поликлиника, где запись происходит с помощью терминала, либо поход за продуктами и оплата через кассу самообслуживания. В рамках данной дипломной работы будет разработан сервис по заказу книг, с целью быстрого поиска нужного автора/книги, оформления заказа, а также учета товара. Данный сервис позволит: улучшить качество обслуживания клиентов, так как все действия по покупке товаров производятся в автоматическом режиме, а менеджерам необходимо только уточнить информацию и выдать товар; снизить трудоемкость и напряженность труда персонала, минимизировать ошибки в его действиях. Для достижения цели были поставлены следующие задачи: изучение особенностей конкретной предметной области, относящихся к теме выпускной квалификационной работы; анализ программных средств с обоснованием выбора; проектирование и разработка базы данных; разработка интерфейса для созданной базы данных; анализ полученных результатов работы разработанного программного обеспечения. Объектом исследования является сервис по заказу книг, предоставляющей услуги по продаже книг. Предметом исследования является разработка базы данных и удобного интерфейса для автоматизации учета продажи книг и ведения складского учёта. По результатам выполненной работы готовое программное средство будет иметь данный функционал: регистрация потенциальных клиентов компании в системе; разграничение доступа; возможность редактировать, изменять, добавлять данные о клиентах и книгах; расчет стоимости предоставляемых услуг; автоматизированное ведение отчётности о предоставляемых клиентам услугах; возможность быстрого просмотра информации о товаре. В ходе исследования применялись следующие методы: анализ, моделирование, тестирование, изучение технической литературы и ее обобщение. Информационной базой выпускной квалификационной работы является научная и техническая литература, электронные источники. Данная выпускная квалификационная работа выполнена на XX страницах машинописного текста, состоит из введения, двух глав, заключения, списка использованной литературы и приложений. Глава 1. Анализ предметной области и применяемых программных средств 1.1. Анализ предметной области и применяемых программных средств В рамках данной выпускной квалификационной работы рассматривается предметная область сервис по заказу книг. В первую очередь, успешность подобного бизнеса зависит от умелого распределения ресурсов. Следовательно, вопросы продуманного учёта клиентов и совершаемых сделок по предоставлению услуг должны занимать одно из ключевых мест в общей стратегии развития предприятия. Важная роль в оптимизации управления клиентами любого предприятия принадлежит автоматизированным системам. В своей деятельности сервис по продаже книг вынужден следить за количеством книг, вести складской учет товара в магазине, а также хранить информацию о заказах. Автоматизированная система должна предоставлять всем заинтересованным лицам (менеджерам, клиентам) мгновенный доступ ко всей необходимой информации. Для регистрации в сервисе клиенту достаточно имени и адреса электронной почты для авторизации. После предоставления данных сервису клиент имеет право выбрать любую книгу из доступных. На основании выбранных пользователем книг рассчитывается итоговая стоимость заказа. В случае, если клиент решит отменить заказ, он имеет возможность сделать это в личном кабинете. Так же в личном кабинете клиент может просматривать историю предыдущих заказов и менять предоставляемые данные. У пользователя есть возможность просмотреть страницу с товарами которая предназначена для того, чтобы пользователь выбрал понравившийся ему товар; Еще присутствует страница с контактными данными, чтобы пользователь, при необходимости, мог связаться с владельцем сайта или техподдержкой чтобы узнать необходимую информацию. С другой стороны, помимо клиента, данным приложением может пользоваться более привилегированный пользователь - менеджер. Основными задачами менеджера являются: проверка информации о книгах; изменение статуса заявок на заказ; добавление данных о новых книгах; обновление информации о книгах; удаление книг; Менеджер не может удалять учётные записи, а также не имеет права редактировать собственную информацию. Последней категорией пользователей является администратор. Администратор обладает всеми возможными правами для редактирования базы данных, кроме, само собой, редактирования сформированных заказов: добавление, изменение, удаление учётных записей пользователей, менеджеров, администраторов; добавление, изменение, удаление данных о книгах. 1.2 Сравнительный анализ используемых программных средств 1.2.1 Анализ СУБД SQL Server Management Studio 2019. Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов с расширениями. SQL Server 2022 интегрируется с Azure Synapse Link и Azure Purview, чтобы клиенты могли получать более подробные сведения, прогнозы и управление на основе своих данных в любом масштабе. Интеграция с облаком улучшена за счет аварийного восстановления (DR) для Управляемого экземпляра SQL Azure, а также подключений без ETL (извлечение, преобразование и загрузка) к облачной аналитике, что позволяет администраторам баз данных управлять своими массивами данных с большей гибкостью и минимальным воздействием на конечный пользователь. Производительность и масштабируемость автоматически повышаются за счет встроенной аналитики запросов. Существует выбор и гибкость для разных языков и платформ, включая Linux, Windows и Kubernetes. За последние десять лет в SQL Server было меньше уязвимостей, чем у конкурентов. Опираясь на это, новая функция реестра создает неизменяемую запись изменений данных с течением времени. Это защищает данные от подделки злоумышленниками и полезно для таких сценариев, как внутренний и внешний аудит. Среда «SQL Server Management Studio» это единая универсальная среда для доступа, настройки и администрирования всех компонентов MS SQL Server, а также для разработки компонентов системы, редактирования текстов запросов, создания скриптов и пр. Благодаря наличию большого количества визуальных средств управления, среда «SQL Server Management Studio» позволяет выполнять множество типовых операций по администрированию MS SQL Server администраторам с любым уровнем знаний SQL Server. Удобная среда разработки, встроенный веб–браузер для быстрого обращения к библиотеке MSDN или получения справки в сети, подробный учебник, облегчающий освоение многих новых возможностей, встроенная справка от сообществ в Интернете и многое другое позволяют максимально облегчить процесс разработки в среде SQL Server, а также дает богатые возможности для создания различных сценариев SQL Server. Основные преимущества СУБД MS SQL Server: 1) оптимизированный многопользовательский режим работы с развитой системой транзакционной обработки, что обеспечивает многочисленным пользователям возможность работы с базой данных, не мешая друг другу. Это – одно из важнейших требований, выдвигаемых сегодня к информационной системе; 2) надежные механизмы защиты информации (учитывая стандартную трехзвенную архитектуру защиты: на уровне сети - на уровне сервера БД - на уровне клиентской ОС); 3) эффективные инструменты для разграничения доступа к БД; 4) поддержка широкого диапазона аппаратно-программных платформ; 5) развитые средства управления, администрирования, контроля и мониторинга сервера БД; 6) поддержка таких эффективных механизмов, как: триггеры, хранимые процедуры и функции, пакеты, словари данных и т.п; Все вышеперечисленное обусловило широкое распространение решений на базе данной СУБД. 1.2.2 Анализ объектно-ориентированного языка программирования С# C# — современный объектно-ориентированный и типобезопасный язык программирования. C# позволяет разработчикам создавать разные типы безопасных и надежных приложений, выполняющихся в .NET. C# относится к широко известному семейству языков C, и покажется хорошо знакомым любому, кто работал с C, C++, Java или JavaScript. Здесь представлен обзор основных компонентов языка C# 8 и более ранних версий. Если вы хотите изучить язык с помощью интерактивных примеров, рекомендуем поработать с вводными руководствами по C#. C# — объектно-ориентированный, ориентированный на компоненты язык программирования. C# предоставляет языковые конструкции для непосредственной поддержки такой концепции работы. Благодаря этому C# подходит для создания и применения программных компонентов. С момента создания язык C# обогатился функциями для поддержки новых рабочих нагрузок и современными рекомендациями по разработке ПО. В основном C# — объектно-ориентированный язык. Вы определяете типы и их поведение. Вот лишь несколько функций языка C#, которые позволяют создавать надежные и устойчивые приложения. Сборка мусора автоматически освобождает память, занятую недостижимыми неиспользуемыми объектами. Типы, допускающие значение null, обеспечивают защиту от переменных, которые не ссылаются на выделенные объекты. Обработка исключений предоставляет структурированный и расширяемый подход к обнаружению ошибок и восстановлению после них. Лямбда-выражения поддерживают приемы функционального программирования. Синтаксис LINQ создает общий шаблон для работы с данными из любого источника. Поддержка языков для асинхронных операций предоставляет синтаксис для создания распределенных систем. В C# имеется Единая система типов. Все типы C#, включая типы-примитивы, такие как int и double, наследуют от одного корневого типа object. Все типы используют общий набор операций, а значения любого типа можно хранить, передавать и обрабатывать схожим образом. Более того, C# поддерживает как определяемые пользователями ссылочные типы, так и типы значений. C# позволяет динамически выделять объекты и хранить упрощенные структуры в стеке. C# поддерживает универсальные методы и типы, обеспечивающие повышенную безопасность типов и производительность. C# предоставляет итераторы, которые позволяют разработчикам классов коллекций определять пользовательские варианты поведения для клиентского кода. C# подчеркивает Управление версиями, чтобы обеспечить совместимость программ и библиотек с течением времени. Вопросы управления версиями существенно повлияли на такие аспекты разработки C#, как раздельные модификаторы virtual и override, правила разрешения перегрузки методов и поддержка явного объявления членов интерфейса. Достоинства: лично для меня одним из самых важных плюсов является наличие большого количества библиотек и шаблонов высокая совместимость с языком С, позволяющая использовать весь существующий С–код (код С может быть с минимальными переделками скомпилирован компилятором С++; библиотеки, написанные на С, обычно могут быть вызваны из С++ непосредственно без каких–либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на С, вызывать код, написанный на С++); из-за большого разнообразия синтаксических конструкций и возможности работать с платформой .Net, C# позволяет быстрее, чем любой другой язык, разрабатывать программные решения. возможность создания обобщённых контейнеров и алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции, используя шаблоны; кроссплатформенность. Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем; эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. 1.2.3 Анализ среды разработки Visual Studio 2022 Visual Studio – полнофункциональная интегрированная среда разработки (IDE) с поддержкой популярных языков программирования, среди которых С, C++, VB.NET, C#, F#, JavaScript, Python. Функциональность Visual Studio охватывает все этапы разработки программного обеспечения, предоставляя современные инструменты для написания кода, проектирования графических интерфейсов, сборки, отладки и тестирования приложений. Возможности Visual Studio могут быть дополнены путем подключения необходимых расширений. Visual Studio 2022 для Windows теперь является 64-разрядным приложением. Это означает, что вы можете открывать, изменять, запускать и отлаживать даже самые большие и сложные решения, не беспокоясь о нехватке памяти. Visual Studio 2022 позволяет быстро и легко создавать современные облачные приложения с помощью Azure. Кроме того, в новой версии реализована полная поддержка .NET 6 и унифицированной структуры для веб-клиентских и мобильных приложений для разработчиков на Windows и Mac. Visual Studio 2022 предоставляет надежную поддержку рабочей нагрузки C++ с новыми возможностями по повышению производительности, инструментарием C++20 и IntelliSense. Редактор кода Visual Studio поддерживает подсветку синтаксиса, вставку фрагментов кода, отображение структуры и связанных функций. Существенно ускорить работу помогает технология IntelliSense – автозавершение кода по мере ввода. Встроенный отладчик Visual Studio используется для поиска и исправления ошибок в исходном коде, в том числе на низком аппаратном уровне. Инструменты диагностики позволяют оценить качество кода с точки зрения производительности и использования памяти. Дизайнер форм Visual Studio незаменим при разработке программ с графическим интерфейсом, помогая спроектировать внешний вид будущего приложения и работу каждого элемента интерфейса. Наконец, Visual Studio предоставляет комплекс инструментов для автоматизации тестирования приложений в части проверки работы интерфейсов, модульного и нагрузочного тестирования. Для командных проектов Visual Studio предлагает поддержку групповой работы, позволяя выполнять совместное редактирование и отладку любой части кода в реальном времени, а в качестве системы управления версиями использовать Team Foundation или Git. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно–ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server). Достоинства Visual Studio: встроенный Web-сервер – для обслуживания Web-приложения ASP.NET необходим Web-сервер, который будет ожидать Web-запросы и обрабатывать соответствующие страницы. Наличие в Visual Studio интегрированного Webсервера позволяет запускать Web-сайт прямо из среды проектирования, а также повышает безопасность, исключая вероятность получения доступа к тестовому Web-сайту с какого-нибудь внешнего компьютера, поскольку тестовый сервер может принимать соединения только с локального компьютера; поддержка множества языков при разработке – Visual Studio позволяет писать код на своем языке или любых других предпочитаемых языках, используя все время один и тот же интерфейс (IDE). Более того, Visual Studio также еще позволяет создавать Web-страницы на разных языках, но помещать их все в одно и то же Web-приложение. Единственным ограничением является то, что в каждой Web-странице можно использовать только какой-то один язык (очевидно, что в противном случае проблем при компиляции было бы просто не избежать). меньше кода для написания – для создания большинства приложений требуется приличное количество стандартного стереотипного кода, и Webстраницы ASP. NET тому не исключение. Например, добавление Web-элемента управления, присоединение обработчиков событий и корректировка форматирования требует установки в разметке страницы ряда деталей. В Visual Studio такие детали устанавливаются автоматически; интуитивный стиль кодирования – по умолчанию Visual Studio форматирует код по мере его ввода, автоматически вставляя необходимые отступы и применяя цветовое кодирование для выделения элементов типа комментариев. Такие незначительные отличия делают код более удобным для чтения и менее подверженным ошибкам. Применяемые Visual Studio автоматически параметры форматирования можно даже настраивать, что очень удобно в случаях, когда разработчик предпочитает другой стиль размещения скобок (например, стиль K&R, при котором открывающая скобка размещается на той же строке, что и объявление, которому она предшествует); более высокая скорость разработки – многие из функциональных возможностей Visual Studio направлены на то, чтобы помогать разработчику делать свою работу как можно быстрее. Удобные функции, вроде функции IntelliSense (которая умеет перехватывать ошибки и предлагать правильные варианты), функции поиска и замены (которая позволяет отыскивать ключевые слова как в одном файле, так и во всем проекте) и функции автоматического добавления и удаления комментариев (которая может временно скрывать блоки кода), позволяют разработчику работать быстро и эффективно. возможности отладки – педлагаемые в Visual Studio инструменты отладки являются наилучшим средством для отслеживания загадочных ошибок и диагностирования странного поведения. Разработчик может выполнять свой код по строке за раз, устанавливать интеллектуальные точки прерывания, при желании сохраняя их для использования в будущем, и в любое время просматривать текущую информацию из памяти. Вывод В результате изучения теоретического материала по свойствам перечисленных средств разработки программного обеспечения можно прийти к следующим выводам: Программная среда разработки интуитивно понятна и обладает технологиями, сокращающими время на написание программного кода и улучшающими его качество, использование технологии WPF обеспечит гибкость построения графического интерфейса и оптимизацию производительности при помощи аппаратного ускорения, а язык программирования C# позволит обеспечить наилучшую логику взаимодействия элементов приложения ГЛАВА II. РАЗРАБОТКА И ВНЕДРЕНИЕ ПРОГРАММНОГО ПРОДУКТА 2.1 Создание USE CASE диаграммы.UML (англ. Unified Modeling Language унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур. UML является языком широкого профиля, это — открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML моделей возможна генерация кода. Для достижения этих целей вначале строится модель в форме так называемой диаграммы вариантов использования (use case diagram), которая описывает функциональное назначение системы или, другими словами, то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является концептуальной моделью системы в процессе ее проектирования и разработки. Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей, взаимодействующих с системой с помощью так называемых вариантов использования. При этом действующим лицом называется любая сущность, взаимодействующая с системой. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь, вариант использования (use case) служит для описания сервисов, которые система предоставляет участнику диаграммы. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с пользователем. В данной диаграмме 2 субъекта. Субъект «Пользователь» должен иметь возможность регистрации и авторизации, просмотра каталога книг и оформление заказа, просмотр и редактирование личной информации. Субъект «Менеджер» должен иметь возможность авторизации, просмотра каталога книг, добавление, изменение и удаление книг, оформление заказа, а также изменение статуса заказа. Возможности всех двух субъектов отображены на USE CASE диаграмме, которая была разработана в Microsoft Office Visio 2019, и представлена в Приложении 1. 2.2 Проектирование базы данных. Создание ER-диаграммы. Для анализа структуры данных и информационного моделирования существует множество программных продуктов. Один из них – Microsoft Office Visio 2019, поддерживающий методологию IDEF1X (Integration DEFinition for Information Modeling). Он позволяет построить логическую модель данных, представляющую собой совокупность информационных объектов и связей между ними, а также физическую модель, непосредственно связанную с конкретной СУБД. Модель «сущность-связь» (ER модель) модель данных, которая позволяет описывать концептуальные схемы предметной области. Сущность – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. Экземпляр сущности – конкретный представитель данной сущности, уникально идентифицируемый объект. Атрибут сущности – именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе. Ключ сущности – атрибут или набор атрибутов, однозначно идентифицируют экземпляр сущности. Ключ сущности должен быть минимально достаточным: в нем не должно быть атрибутов, удаление которых из ключа не отразится на его уникальности. Логическая модель по-прежнему не ориентирована, на какую-либо конкретную СУБД для дальнейшей физической реализации базы данных. Конечным результатом логического проектирования является описание логической структуры базы данных на языке описания данных. Процесс проектирования логической структуры базы данных подразумевает определение всех информационных единиц и связей между ними, задание их имен, определения их типов. Прежде чем строить физическую модель, необходимо решить, какая информация будет храниться в базе данных. Чтобы система смогла выполнять свои функции база данных должна содержать следующие данные: 1)Данные об учётных записях; 2)Персональные данные о сотрудниках и клиентах, которым принадлежат учётные записи; 3)Сведения о заказах; 4)Сведения о товаре; 5)Сведения о книгах, их описание, авторы и количество на складе; Для проверки правильности построенной логической модели она приводится к 3 нормальным формам: 1) отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно было в 1НФ; 2) отношение находится в 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут функционально полно зависит от первичного ключа (составного); 3) отношение находится в ЗНФ в том и только в том случае, если все не ключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа. Полноразмерная схема базы данных, разработанной в Microsoft Office Visio 2019, представлена в Приложении 2. 2.3 Разработка базы данных в СУБД MS SQL Server Физическое проектирование – создание схемы базы данных для конкретной СУБД. Результатом физического проектирования ранее созданной логической схемы является полноценная база данных, к которой в последующем будет разработан интерфейс. Рассмотрим основные сущности нашей базы данных. Для реализации возможности хранения данных о товарах, реализуемых в магазине (в нашей работе в качестве примера будет рассмотрен магазин книг), сформирована отдельная сущность «Book» (рисунок 2.1), которая содержит в себе информацию о всех книгах, которые имеются в наличии. Атрибут “ID” – это уникальный код каждой книги. При добавление новой книги, он генерируется автоматически и является первичным ключом. Атрибут “Title” – отвечает за название книги. Атрибут “Annotation” – содержит кратное описание книги. Атрибут “Weight” – обозначает вес книги. В атрибуте “Cost” указывается стоимость книги. “Count” – отвечает за количество книг на складе. Атрибут “Category” является внешним ключом сущности “Category”, в которой хранится информация о категории книг. В атрибуте “Image” хранится путь к картинке книги. “IDAuthor” является внешним ключом сущности “Author”, где хранится информация об авторах книг. Рисунок 2.1 Сущность «Book» С целью оптимизации учета клиентов, а также сотрудников в магазине следует автоматизировать процесс учета пользователей. Для реализации возможности хранения данных о пользователях, сформирована отдельная сущность «User» (рисунок 2.2), которая содержит в себе информацию о клиентах и сотрудниках магазина. Атрибут “ID” – уникальный код для каждого клиента. При добавлении нового пользователя он генерируется автоматически и является первичным ключом. Атрибут “FName” – содержит в себе информацию об имени пользователя. Атрибут “MName” – содержит в себе информацию об отчестве пользователя. Атрибут “MName” – содержит в себе информацию о фамилии пользователя. Атрибут “Phone” – содержит в себе контактный телефон клиента. Атрибут “Mail” – содержит в себе информацию о почте пользователя, а также с почта используется в качестве логина для авторизации в приложении. Атрибут “Password” – хранит в себе пароль пользователя. Атрибут “Gender” – отвечает за пол пользователя. Атрибут “Role” является внешним ключом сущности “Role”, где та или иная роль отвечает за возможности пользователя. Рисунок 2.2 Сущность «User» Сущность “Order” (рисунок 2.3) хранит в себе данные о совершенном заказе. Атрибут “ID” – содержит уникальный номер заказа, который генерируется автоматически. Атрибут “[User]” является внешним ключом сущности “User”, этот атрибут хранит уникальный номер пользователя, который совершил заказ. В сущности “Date” хранится время и дата совершения заказа. “Sum” – данный атрибут отвечает за сумму заказа. Атрибут “Status” – является внешним ключом сущности “Status”, отвечает за статус заказа. Атрибут “Manager” – также является внешним ключом сущности “Manager”, в данном атрибуте хранится уникальный номер менеджера, совершившего заказ. Рисунок 2.3 Сущность «Order» Сущность “OrderBook” (рисунок 2.4) – Рисунок 2.4 Сущность «OrderBook» Сущность “Author” (рисунок 2.5) – отвечает за хранение имен авторов книг. Атрибут “ID” – уникальный идентификатор автора. “Title” – атрибут, который отвечает за ФИО автора. Рисунок 2.5 Сущность «Author» Сущность “Status” (рисунок 2.6) – хранит в себе статусы…? Такие как (Готов к выдаче, в обработке, отменен, выполнен). Рисунок 2.6 Сущность «Status» Сущность “Role” (рисунок 2.7) – хранит роли пользователей. Атрибут “ID” уникальный идентификатор роли. В атрибуте “Title” хранится название ролей таких как: Клиент и Пользователь. Рисунок 2.7 Сущность «Role» Полноразмерная схема базы данных, разработанная в СУБД MS SQL Server 2019, представлена в Приложении 2. 2.4 Разработка функционала настольного приложения (Visual Studio 2019) Приложение будет разрабатываться с использованием системы WPF. Windows Presentation Foundation (WPF) — это платформа пользовательского интерфейса для создания клиентских приложений для настольных систем. Платформа разработки WPF поддерживает широкий набор компонентов для разработки приложений, включая модель приложения, ресурсы, элементы управления, графику, макет, привязки данных, документы и безопасность. При запуске приложения пользователю будет предложено авторизоваться в системе. Если поля Логин и Пароль заполнены, то приложение сделает запрос к базе данных таблице “User” столбцу “Mail” и “Password” на поиск записи с введёнными данными. Рисунок 2.8 Форма «Авторизация» Если введённые данные не совпадают с имеющимися в базе данных, приложение выдаст ошибку «Пользователя с такими данными не существует, проверьте правильность введенных данных». Рисунок 2.9 Форма «Ошибки авторизации» В случае успешной авторизации пользователя, будет осуществлен переход на главное окно. Рисунок 2.10 Форма «Список книг» На форме главного окна имеется несколько кнопок. Кнопка «Список заказов» скрыта, так-как авторизованный пользователь имел роль “Клиент”. По нажатию на кнопку “Личный” будет личный кабинет пользователя, где будет представлена вся информация о нем. По двойному клику по книге, будет открыта страница с подробной информацией о ней. По нажатие на кнопку “Добавить в корзину” товар будет добавлен в корзину для дальнейшего оформления заказа. Внизу расположены кнопки навигации по страницам. На рисунке 2.11 продемонстрирована работоспособность поля “поиск”. Рисунок 2.8 Форма «Поиск книг» Рисунок 2.9 Форма «Фильтр» |