ВКР. ВКР Образец. Никитой Алексеевичем Фокиным (И. О. Фамилия) (подпись, дата) Основная профессиональная образовательная программа
Скачать 3.11 Mb.
|
полное название образовательного учреждения ДОПУСКАЮ К ЗАЩИТЕ _______________________ Заместитель директора по УПР О.В. Корешков _________________ (дата) ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА Проектирование и реализация автоматизированной информационной системы (модуля информационной системы) учёта клиентов компании (тема) Выпускная квалификационная работа должна быть выполнена в виде: дипломной работы и демонстрационного экзамена студентом группы 3-ИСП11-6 (номер группы) Никитой Алексеевичем Фокиным (И.О.Фамилия) (подпись, дата) Основная профессиональная образовательная программа по специальности 09.02.07 Информационные системы и программирование (шифр и наименование специальности) Форма обучения очная Руководитель преподаватель Олеся Павловна Куропаткина (ученая степень, должность, И.О.Фамилия) (подпись, дата) Руководитель мастер п. о. Олеся Павловна Куропаткина (ученая степень, должность, И.О.Фамилия) (подпись, дата) Председатель предметной (междисциплинарной, модульной) комиссии Бастрыкин Кирилл Михайлович _________________________ (И.О.Фамилия) (подпись, дата) Москва 2021 полное название образовательного учреждения УТВЕРЖДАЮ _______________________ Заместитель директора по УПР О.В. Корешков _________________ (дата) ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ Студенту Фокину Никите Алексеевичу (фамилия, имя, отчество полностью) I. Тема выпускной квалификационной работы Проектирование и реализация автоматизированной информационной системы (модуля информационной системы) учёта клиентов компании II. Срок сдачи студентом законченной работы 08 июня 2021 г. III. Исходные данные Программные средства: Microsoft Office Visio 2019, СУБД SQL Server Management Studio 2019, среда разработки Visual Studio 2019 IV. Перечень подлежащих разработке вопросов 1. Анализ особенностей предметной области 2. Сравнительный анализ программных средств 3. Проектирование и разработка автоматизированной информационной системы учета клиентов компании V. Перечень графического /иллюстрационного материала 1. Use case диаграмма 2. Схема базы данных, разработанная в Microsoft Office Visio 3. Схема базы данных, разработанная в СУБД MS SQL Server 4. Скриншоты экрана (практическая часть) 5. Презентация VI. Дата выдачи задания «19» апреля 2021 г. Руководитель Куропаткина О.П. (подпись) Задание принял к исполнению Фокин Н.А. (подпись) «19» апреля 2021 г. КАЛЕНДАРНЫЙ ПЛАН ВКР для специальности 09.02.07 Информационные системы и программирование (группа 3ИСП11-6) Сроки преддипломной практики 4 недели с 12.04.21 по 30.04.21 Согласно указа Президента РФ от 23 апреля 2021 г. № 242 Выбор темы, руководителя, оформление заявления с 12.04.21 по 17.04.21 Утверждение темы ВКР 19.04.21 Выполнение задания по теме ВКР с 20.04.21 по 24.04.21 Предоставление отчета по практике руководителю с 26.04.21 по 30.04.21 Аттестация по практике 30.04.21 Подготовка ВКР 4 недели с 18.05.21 по 14.06.21 согласно учебному плану Утверждение задания на ВКР 1 неделя с 18.05.21 по 22.05.21 Подбор и анализ исходной информации Подготовка и утверждение плана (оглавления) ВКР Работа над разделами (главами) и устранение замечаний руководителя ВКР 1 неделя с 24.05.21 по 29.05.21 Согласование содержания ВКР, устранение замечаний 1 неделя с 31.06.21 по 05.06.21 Оформление и представление руководителю полного текста работы. Получение отзыва руководителя ВКР 07.06.21 08.06.21 Предоставление студентом готовой ВКР рецензенту Сдача демонстрационного экзамена Согласно отдельному графику Предзащита ВКР 09.06.21-14.06.21 Руководитель ____________________О.П. Куропаткина План принял к исполнению «12» апреля 2021 г. ___________________ Фокин Н.А. Изм. Лист № докум. Подпись Дата Лист 09.02.07 – 3-ИСП11-6 Разраб. Фокин Н.А. Провер. Куропаткина О.П. Рецензент Н. Контр. Утверд. Проектирование и реализация автоматизированной информационной системы (модуля информационной системы) учёта клиентов компании Лит. Листов 37 ГБПОУ КС №54 им. П.М. Вострухина ОГЛАВЛЕНИЕ Введение……………………............................................................................. 5 Глава I. Анализ предметной области и применяемых программных средств ………………………………………………………………………… 7 1.1 Анализ особенностей предметной области ……………………………… 7 1.2 Сравнительный анализ используемых программных средств ………… 8 1.2.1 Анализ СУБД SQL Server Management Studio 2019...…………………. 8 1.2.2 Анализ объектно-ориентированного языка программирования С#...... 9 1.2.3 Анализ среды разработки Visual Studio 2019...………………………… 11 Выводы……………..………………………………………………………….. 14 Глава II. Разработка и внедрение программного продукта …………………. 15 2.1 Создание USE CASE диаграммы………….……………………………... 15 2.2 Проектирование базы данных. Создание ER-диаграммы ……………… 17 2.3 Разработка базы данных в СУБД…………………………………………. 19 2.4 Разработка функционала настольного приложения …………………….. 23 Выводы.………………………………………………………………………... 34 Заключение......................................................................................................... 35 Список литературы............................................................................................ 36 Приложение 1. USE CASE-диаграмма Приложение 2. Полноразмерная схема базы данных, разработанная в Microsoft Office Visio 2019 Приложение 3. Полноразмерная схема базы данных, разработанная в СУБД MS SQL Server 2019 Приложение 4. Листинг кода основных форм разработанного пользовательского приложения Изм. Лист № докум. Подпись Дата Лист 5 09.02.07 – 3-ИСП11-6 ВВЕДЕНИЕ Сейчас, как никогда раньше, актуальна проблема автоматизации рабочего процесса. Одним из способов сокращения расходов организации является налаживание автоматизированной системы учёта клиентской информации и регистрации персональных обращений для получения услуг компании. В условиях современного рынка при постоянно усиливающейся конкуренции любому предприятию без автоматизации деятельности отдела работы с клиентами или отдела продаж эффективно развиваться практически невозможно. Автоматизация позволяет устранить довольно широкий спектр проблем, таких как: упущенные возможности контакта с клиентами, забытые и нигде не зафиксированные данные, растянутые во времени элементарные задачи, хищение коммерческой информации, предоставление менеджерами услуг без участия компании. Когда в руках, а точнее на серверах бизнеса появляется программное обеспечение для автоматизации бизнес-процессов всех уровней (управляющие, операционные, поддерживающие), большинство этих проблем легко и относительно безболезненно решаются. Можно с уверенностью утверждать, что решение широкого круга задач в любой сфере деятельности человека на данный момент практически невозможно без использования автоматизированных информационных систем. Актуальность данной выпускной квалификационной работы обусловлена постоянным развитием информационных технологий и необходимостью автоматизации бизнес-процессов компании. Применение интерфейса для базы данных позволит максимально упростить и оптимизировать труд уполномоченных сотрудников при работе с данными, а также увеличить доступность и простоту процесса получения услуг клиентами. Целью выпускной квалификационной работы является систематизация и закрепление полученных теоретических знаний и практических умений, проектирование и разработка информационной системы для автоматизации Изм. Лист № докум. Подпись Дата Лист 6 09.02.07 – 3-ИСП11-6 процессов учета клиентов компании, имущества предприятия и ведения отчётности об оказываемых услугах. Для достижения цели были поставлены следующие задачи: - изучение особенностей конкретной предметной области, относящихся к теме выпускной квалификационной работы; - анализ программных средств с обоснованием выбора; - проектирование и разработка базы данных; - разработка интерфейса для созданной базы данных; - анализ полученных результатов работы разработанного программного обеспечения. Объектом исследования является система учета клиентов компании, предоставляющей услуги по аренде транспортных средств. Предметом исследования является разработка базы данных и удобного интерфейса для автоматизации учета клиентов и транспортных средств компании авто-проката. По результатам выполненной работы готовое программное средство будет иметь данный функционал: - регистрация потенциальных клиентов компании в системе; - разграничение доступа; - возможность редактировать, изменять, добавлять данные о клиентах и автомобилях; - расчет стоимости предоставляемых услуг; - автоматизированное ведение отчётности о предоставляемых клиентам услугах; - возможность быстрого просмотра данных. В ходе исследования применялись следующие методы: анализ, моделирование, тестирование, изучение технической литературы и ее обобщение. Изм. Лист № докум. Подпись Дата Лист 7 09.02.07 – 3-ИСП11-6 Информационной базой выпускной квалификационной работы является научная и техническая литература, электронные источники. Данная выпускная квалификационная работа выполнена на XX страницах машинописного текста, состоит из введения, двух глав, заключения, списка использованной литературы и приложений. Изм. Лист № докум. Подпись Дата Лист 8 09.02.07 – 3-ИСП11-6 ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПРИМЕНЯЕМЫХ ПРОГРАММНЫХ СРЕДСТВ 1.1. Анализ предметной области и применяемых программных средств В рамках данной выпускной квалификационной работы рассматривается предметная область учёта клиентов компании автопроката. В первую очередь, успешность подобного бизнеса зависит от умелого распределения ресурсов. Следовательно, вопросы продуманного учёта клиентов и совершаемых сделок по предоставлению услуг должны занимать одно из ключевых мест в общей стратегии развития предприятия. Важная роль в оптимизации управления клиентами любого предприятия принадлежит автоматизированным системам. В своей деятельности компании автопроката вынуждены следить за состоянием имеющихся машин, тщательно проверять соблюдение клиентами условий предоставления аренды, вести учёт заключаемых сделок с клиентами. Автоматизированная система должна предоставлять всем заинтересованным лицам (администраторам, работникам, клиентам) мгновенный доступ ко всей необходимой информации. Для регистрации в сервисе клиенту достаточно предоставить номер телефона или адрес электронной почты для авторизации. В случае, если клиент решит воспользоваться услугами сервиса, он должен будет предоставить сотрудникам предприятия достоверную личную информацию, а именно: номер телефона, корректные ФИО и данные водительского удостоверения. В случае, если предоставленные данные соответствуют требованиям сервиса, пользователь получает возможность заключения договора об аренде. При желании клиента могут быть включены дополнительные услуги: страхование или заправка автомобиля до полного бака. После предоставления данных сервису клиент имеет право выбрать любой автомобиль из автопарка, требования к аренде которого соответствуют его водительскому стажу и возрасту, а также выбрать пункт аренды и пункт возврата автомобиля. На Изм. Лист № докум. Подпись Дата Лист 9 09.02.07 – 3-ИСП11-6 основании опций, выбранных пользователем, и длительности аренды рассчитывается итоговая стоимость услуги. Далее сотрудники оформляют договор аренды - соглашение между сервисом и клиентом, в соответствии с которым клиент обязуется следовать условия сервиса при аренде, а сервис, в свою очередь, обязуется в полной мере предоставить клиенту оплачиваемые услуги. В случае, если клиент решит отменить заказ, он имеет возможность сделать это в личном кабинете. Так же в личном кабинете клиент может просматривать историю предыдущих сделок и менять предоставляемые данные, которые будут изменены после их проверки сотрудником сервиса. С другой стороны, помимо клиента, данным приложением может пользоваться более привилегированный пользователь - модератор. Основными задачами модератора являются: - проверка документов пользователя; - утверждение или отклонение заявок пользователей на получение услуг; - добавление данных о новых автомобилях; - обновление информации об автомобилях. Модератор не может удалять автомобили из каталога или автопарка, удалять учётные записи, а также не имеет права редактировать собственную информацию. Последней категорией пользователей является администратор. Администратор обладает всеми возможными правами для редактирования базы данных, кроме, само собой, редактирования заключённых договоров: - добавление, изменение, удаление учётных записей пользователей, модераторов, администраторов; - добавление, изменение, удаление данных об автомобилях. 1.2 Сравнительный анализ используемых программных средств 1.2.1 Анализ СУБД SQL Server Management Studio 2019 Изм. Лист № докум. Подпись Дата Лист 10 09.02.07 – 3-ИСП11-6 Среда «SQL Server Management Studio» это единая универсальная среда для доступа, настройки и администрирования всех компонентов MS SQL Server, а также для разработки компонентов системы, редактирования текстов запросов, создания скриптов и пр. Благодаря наличию большого количества визуальных средств управления, среда «SQL Server Management Studio» позволяет выполнять множество типовых операций по администрированию MS SQL Server администраторам с любым уровнем знаний SQL Server. Удобная среда разработки, встроенный веб–браузер для быстрого обращения к библиотеке MSDN или получения справки в сети, подробный учебник, облегчающий освоение многих новых возможностей, встроенная справка от сообществ в Интернете и многое другое позволяют максимально облегчить процесс разработки в среде SQL Server, а также дает богатые возможности для создания различных сценариев SQL Server. В среде SQL Server Management Studio встроен обозреватель объектов, который позволяет просматривать все объекты сервера, и предоставляет графический интерфейс для управления этими объектами. Для запуска можно использовать меню «Вид –> Обозреватель объектов». Основные преимущества СУБД MS SQL Server: 1) оптимизированный многопользовательский режим работы с развитой системой транзакционной обработки, что обеспечивает многочисленным пользователям возможность работы с базой данных, не мешая друг другу. Это – одно из важнейших требований, выдвигаемых сегодня к информационной системе; 2) надежные механизмы защиты информации (учитывая стандартную трехзвенную архитектуру защиты: на уровне сети - на уровне сервера БД - на уровне клиентской ОС); 3) эффективные инструменты для разграничения доступа к БД; 4) поддержка широкого диапазона аппаратно-программных платформ; 5) реализация распределенной обработки данных; Изм. Лист № докум. Подпись Дата Лист 11 09.02.07 – 3-ИСП11-6 6) возможность построения гетерогенных и распределенных сетей; 7) развитые средства управления, администрирования, контроля и мониторинга сервера БД; 8) поддержка таких эффективных механизмов, как: триггеры, хранимые процедуры и функции, пакеты, словари данных и т.п. Все вышеперечисленное обусловило широкое распространение решений на базе данной СУБД. 1.2.2 Анализ объектно-ориентированного языка программирования С# Язык программирования C# – популярный объектно–ориентированный язык программирования, который с выходом .Net Core в 2016 году, стал кроссплатформенным. С# представляет собой современный язык для разработки компонентов и модулей для платформ .Net. С# обеспечивает создание безопасного и верифицируемого кода, применение которого возможно в любом современном программном комплексе. Созданные на языке C# приложения могут успешно работать на любом компьютере под управлением операционной системы Windows, Linux и MacOS независимо от архитектуры железа. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. Переняв многое от своих предшественников – языков C++, Pascal, Модула, Smalltalk и, в особенности, Java – С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ и некоторых других языков, не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов). Изм. Лист № докум. Подпись Дата Лист 12 09.02.07 – 3-ИСП11-6 Достоинства: 1) высокая совместимость с языком С, позволяющая использовать весь существующий С–код (код С может быть с минимальными переделками скомпилирован компилятором С++; библиотеки, написанные на С, обычно могут быть вызваны из С++ непосредственно без каких–либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на С, вызывать код, написанный на С++); 2) поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщенное программирование, метапрограммирование (шаблоны, макросы); 3) имеется возможность работы на низком уровне с памятью, адресами, портами; 4) возможность создания обобщённых контейнеров и алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции, используя шаблоны; 5) кроссплатформенность. Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем; 6) эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. 1.2.3 Анализ среды разработки Visual Studio 2019 Visual Studio – полнофункциональная интегрированная среда разработки (IDE) с поддержкой популярных языков программирования, среди которых С, C++, VB.NET, C#, F#, JavaScript, Python. Функциональность Visual Studio охватывает все этапы разработки программного обеспечения, предоставляя современные инструменты для написания кода, проектирования графических Изм. Лист № докум. Подпись Дата Лист 13 09.02.07 – 3-ИСП11-6 интерфейсов, сборки, отладки и тестирования приложений. Возможности Visual Studio могут быть дополнены путем подключения необходимых расширений. Редактор кода Visual Studio поддерживает подсветку синтаксиса, вставку фрагментов кода, отображение структуры и связанных функций. Существенно ускорить работу помогает технология IntelliSense – автозавершение кода по мере ввода. Встроенный отладчик Visual Studio используется для поиска и исправления ошибок в исходном коде, в том числе на низком аппаратном уровне. Инструменты диагностики позволяют оценить качество кода с точки зрения производительности и использования памяти. Дизайнер форм Visual Studio незаменим при разработке программ с графическим интерфейсом, помогая спроектировать внешний вид будущего приложения и работу каждого элемента интерфейса. Наконец, Visual Studio предоставляет комплекс инструментов для автоматизации тестирования приложений в части проверки работы интерфейсов, модульного и нагрузочного тестирования. Для командных проектов Visual Studio предлагает поддержку групповой работы, позволяя выполнять совместное редактирование и отладку любой части кода в реальном времени, а в качестве системы управления версиями использовать Team Foundation или Git. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб - редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального Изм. Лист № докум. Подпись Дата Лист 14 09.02.07 – 3-ИСП11-6 проектирования кода на предметно–ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server). Достоинства Visual Studio: 1) встроенный Web-сервер – для обслуживания Web - приложения ASP.NET необходим Web-сервер, который будет ожидать Web - запросы и обрабатывать соответствующие страницы. Наличие в Visual Studio интегрированного Web- сервера позволяет запускать Web-сайт прямо из среды проектирования, а также повышает безопасность, исключая вероятность получения доступа к тестовому Web-сайту с какого - нибудь внешнего компьютера, поскольку тестовый сервер может принимать соединения только с локального компьютера; 2) поддержка множества языков при разработке – Visual Studio позволяет писать код на своем языке или любых других предпочитаемых языках, используя все время один и тот же интерфейс (IDE). Более того, Visual Studio также еще позволяет создавать Web-страницы на разных языках, но помещать их все в одно и то же Web-приложение. Единственным ограничением является то, что в каждой Web-странице можно использовать только какой-то один язык (очевидно, что в противном случае проблем при компиляции было бы просто не избежать). 3) меньше кода для написания – для создания большинства приложений требуется приличное количество стандартного стереотипного кода, и Web- страницы ASP. NET тому не исключение. Например, добавление Web-элемента управления, присоединение обработчиков событий и корректировка форматирования требует установки в разметке страницы ряда деталей. В Visual Studio такие детали устанавливаются автоматически; 4) интуитивный стиль кодирования – по умолчанию Visual Studio форматирует код по мере его ввода, автоматически вставляя необходимые отступы и применяя цветовое кодирование для выделения элементов типа Изм. Лист № докум. Подпись Дата Лист 15 09.02.07 – 3-ИСП11-6 комментариев. Такие незначительные отличия делают код более удобным для чтения и менее подверженным ошибкам. Применяемые Visual Studio автоматически параметры форматирования можно даже настраивать, что очень удобно в случаях, когда разработчик предпочитает другой стиль размещения скобок (например, стиль K&R, при котором открывающая скобка размещается на той же строке, что и объявление, которому она предшествует); 5) более высокая скорость разработки – многие из функциональных возможностей Visual Studio направлены на то, чтобы помогать разработчику делать свою работу как можно быстрее. Удобные функции, вроде функции IntelliSense (которая умеет перехватывать ошибки и предлагать правильные варианты), функции поиска и замены (которая позволяет отыскивать ключевые слова как в одном файле, так и во всем проекте) и функции автоматического добавления и удаления комментариев (которая может временно скрывать блоки кода), позволяют разработчику работать быстро и эффективно. 6) возможности отладки – педлагаемые в Visual Studio инструменты отладки являются наилучшим средством для отслеживания загадочных ошибок и диагностирования странного поведения. Разработчик может выполнять свой код по строке за раз, устанавливать интеллектуальные точки прерывания, при желании сохраняя их для использования в будущем, и в любое время просматривать текущую информацию из памяти. Выводы В результате изучения теоретического материала по свойствам перечисленных средств разработки программного обеспечения можно прийти к следующим выводам: Программная среда разработки интуитивно понятна и обладает технологиями, сокращающими время на написание программного кода и улучшающими его качество, использование технологии WPF обеспечит гибкость построения графического интерфейса и оптимизацию Изм. Лист № докум. Подпись Дата Лист 16 09.02.07 – 3-ИСП11-6 производительности при помощи аппаратного ускорения, а язык программирования C# позволит обеспечить наилучшую логику взаимодействия элементов приложения. Изм. Лист № докум. Подпись Дата Лист 17 09.02.07 – 3-ИСП11-6 ГЛАВА II. РАЗРАБОТКА И ВНЕДРЕНИЕ ПРОГРАММНОГО ПРОДУКТА 2.1 Создание USE CASE диаграммы UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес- процессов, системного проектирования и отображения организационных структур. UML является языком широкого профиля, это — открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML- моделей возможна генерация кода. Для достижения этих целей вначале строится модель в форме так называемой диаграммы вариантов использования (use case diagram), которая описывает функциональное назначение системы или, другими словами, то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является концептуальной моделью системы в процессе ее проектирования и разработки. Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей, взаимодействующих с системой с помощью так называемых вариантов использования. При этом действующим лицом называется любая сущность, взаимодействующая с системой. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь, вариант использования (use case) служит для описания сервисов, которые система предоставляет участнику диаграммы. Другими словами, каждый вариант использования определяет Изм. Лист № докум. Подпись Дата Лист 18 09.02.07 – 3-ИСП11-6 некоторый набор действий, совершаемый системой при диалоге с пользователем. В данной диаграмме 3 субъекта. Субъект «Пользователь» должен иметь возможность регистрации и авторизации, просмотра каталога автомобилей и условий аренды, просмотр адресов пунктов выдачи, правил аренды, просмотр и редактирование личной информации. Субъект «Модератор» должен иметь возможность авторизации, просмотра каталога автомобилей, добавление, изменение и удаление транспорта, одобрение или отклонение заявок пользователей об аренде автомобиля. Субъект «Администратор» должен управлять ролями пользователей, данными обо всех автомобилях. Возможности всех трёх субъектов отображены на USE CASE диаграмме, которая была разработана в Microsoft Office Visio 2019, и представлена в Приложении 1. 2.2 Проектирование базы данных. Создание ER-диаграммы Для анализа структуры данных и информационного моделирования существует множество программных продуктов. Один из них – Microsoft Office Visio 2019, поддерживающий методологию IDEF1X (Integration DEFinition for Information Modeling). Он позволяет построить логическую модель данных, представляющую собой совокупность информационных объектов и связей между ними, а также физическую модель, непосредственно связанную с конкретной СУБД. Модель «сущность-связь» (ER модель) модель данных, которая позволяет описывать концептуальные схемы предметной области. Сущность – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. Изм. Лист № докум. Подпись Дата Лист 19 09.02.07 – 3-ИСП11-6 Экземпляр сущности – конкретный представитель данной сущности, уникально идентифицируемый объект. Атрибут сущности – именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе. Ключ сущности – атрибут или набор атрибутов, однозначно идентифицируют экземпляр сущности. Ключ сущности должен быть минимально достаточным: в нем не должно быть атрибутов, удаление которых из ключа не отразится на его уникальности. Логическая модель по-прежнему не ориентирована, на какую-либо конкретную СУБД для дальнейшей физической реализации базы данных. Конечным результатом логического проектирования является описание логической структуры базы данных на языке описания данных. Процесс проектирования логической структуры базы данных подразумевает определение всех информационных единиц и связей между ними, задание их имен, определения их типов. Прежде чем строить физическую модель, необходимо решить, какая информация будет храниться в базе данных. Чтобы система смогла выполнять свои функции база данных должна содержать следующие данные: 1) Данные об учётных записях; 2) Персональные данные о сотрудниках и клиентах, которым принадлежат учётные записи; 3) Сведения о центрах аренды; 4) Сведения о видах автомобилей, которые компания может предоставить клиенту в аренду, их техническом оснащении, модели и производителе; 5) Сведения о конкретных автомобилях определённого вида, их описание, местоположение и текущий статус; 6) Сведения о водительских удостоверениях пользователей и средствах оплаты; Изм. Лист № докум. Подпись Дата Лист 20 09.02.07 – 3-ИСП11-6 7) Сведения о типах требований для аренды тех или иных транспортных средств. Для проверки правильности построенной логической модели она приводится к 3 нормальным формам: 1) отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно было в 1НФ; 2) отношение находится в 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут функционально полно зависит от первичного ключа (составного); 3) отношение находится в ЗНФ в том и только в том случае, если все не ключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа. Полноразмерная схема базы данных, разработанной в Microsoft Office Visio 2019, представлена в Приложении 2. 2.3 Разработка базы данных в СУБД MS SQL Server Физическое проектирование – создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т. п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т. д. Результатом физического проектирования ранее созданной логической схемы является полноценная база данных, к которой в последующем будет разработан интерфейс. Изм. Лист № докум. Подпись Дата Лист 21 09.02.07 – 3-ИСП11-6 Рассмотрим основные сущности нашей базы данных. Сущность «Сотрудник» содержит в себе основную информацию о сотрудниках компании. К атрибутам данной сущности можно отнести: ФИО, Фото, адрес, электронную почту, идентификатор, являющийся внешним ключом для сущности «Пользователь». Рисунок 2.1 Сущность «Сотрудник» Для учёта клиентов компании необходимо использовать отдельную сущность «Клиент», которая содержит следующие атрибуты: ФИО, Фото, телефон, адрес электронной почты, внешний ключ для связи с сущностью «Платёжная информация», внутри которой находятся данные банковской карты пользователя, а так же внешний ключ сущности «Водительское удостоверение», в котором содержится необходимая для аренды информация о документе, позволяющем клиенту управлять транспортным средством и внешний ключ, связывающий сущности «Клиент» и «Пользователь». Изм. Лист № докум. Подпись Дата Лист 22 09.02.07 – 3-ИСП11-6 Рисунок 2.2 Сущность «Клиент» Сущность «Пользователь» несёт в себе данные об учётных записях клиентов и сотрудников, а именно – идентификатор, логин, пароль и внешний ключ, связывающий сущности «Пользователь» и «Роль», которая служит для определения полномочий пользователя. Рисунок 2.3 Сущность «Пользователь» Ключевая услуга компании – предоставление автомобилей в аренду. Автомобили могут быть от различных производителей, могут иметь разные названия моделей, а также могут иметь разную спецификацию: тип привода, тип коробки передач, тип кузова и класс, соответственно, для хранения подобной информации потребуется несколько отдельных сущностей, а именно: «Тип коробки передач», «Тип кузова», «Тип привода», «Производитель», «Модель», «Класс». При этом, все эти сущности будет объединять таблица «Тип Автомобиля», которая будет одновременно являться каталогом транспорта и, по Изм. Лист № докум. Подпись Дата Лист 23 09.02.07 – 3-ИСП11-6 сути, хранить данные о возможных конфигурациях предоставляемых в аренду автомобилей. Сущность «Автомобиль» будет хранить информацию о конкретных машинах. Атрибутами данной сущности будут: фото автомобиля, суточная стоимость аренды, данные о количестве пассажиров, которые могут поместиться в салон, государственный номер, данные о технических особенностях конкретного автомобиля из сущности «Тип автомобиля». Рисунок 2.4 Сущность «Автомобиль» Рисунок 2.5 Сущность «Тип Автомобиля» Для того, чтобы получить автомобиль в собственное распоряжение, клиенту потребуется посетить один из предложенных сервисных центров. Сущность «Центр аренды» будет хранить информацию о адресах и названиях центров выдачи и приёма автотранспорта для аренды. Изм. Лист № докум. Подпись Дата Лист 24 09.02.07 – 3-ИСП11-6 Рисунок 2.6 Сущность «Центр аренды» Основной в базе данных является сущность «Договор об аренде». Она содержит в себе данные о клиенте, заключившем договор, о сотруднике, который принял заявку клиента к обработке, об автомобиле, который арендовал клиент, о сроке начала и окончания аренды, о дополнительных услугах и о текущем статусе заявления. Рисунок 2.7 Сущность «Договор аренды» Полноразмерная схема базы данных, разработанной в СУБД MS SQL Server 2019, представлена в Приложении 2. Также, для удобного отображения данных из базы создано представление «ДанныеАвтомобиля», которое содержит в себе полную информацию о спецификации автомобилей и их текущем статусе. Изм. Лист № докум. Подпись Дата Лист 25 09.02.07 – 3-ИСП11-6 Рисунок 2.8 Код создания представления «ДанныеАвтомобиля» на T-SQL Рисунок 2.9 Пример работы представления «ДанныеАвтомобиля» 2.4 Разработка функционала настольного приложения Пользовательский интерфейс для базы данных будет выполнен с использованием платформы Windows Presentation Foundation (WPF). WPF - система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе .NET Framework (начиная с версии 3.0), использующая язык декларативного описания интерфейса XAML. Первое, что увидит пользователь при запуске приложения – окно авторизации. После определения цветовой палитры, шрифтов и стиля, верстаем разметку для данного окна. Изм. Лист № докум. Подпись Дата Лист 26 09.02.07 – 3-ИСП11-6 Рисунок 2.10 Визуализация окна «Авторизация» В случае, если пользователь уже зарегистрирован в сервисе, он имеет возможность авторизоваться в приложении при помощи указанного при регистрации логина и пароля. Если у пользователя нет аккаунта, он может перейти к процедуре регистрации, нажав на соответствующую кнопку в нижней части формы. Изм. Лист № докум. Подпись Дата Лист 27 09.02.07 – 3-ИСП11-6 Рисунок 2.11 Визуализация окна «Авторизация» В случае, если пользователь не заполнил обязательные поля, помеченные символом «*» программа информирует его о том, что данные введены некорректно (см. рис. 2.12). Если всё в порядке, тогда окно регистрации прекращает свою работу и переносит пользователя обратно к форме авторизации. Рисунок 2.12 Оповещение о некорректно введённой информации Изм. Лист № докум. Подпись Дата Лист 28 09.02.07 – 3-ИСП11-6 Авторизация производится посредством поиска в таблице «Пользователь» совпадающего логина и соответствующего ему пароля. В случае отсутствия совпадения пользователю выводится информационный диалог (см. рис. 2.13). Рисунок 2.13 Пример неудачной попытки авторизации В случае удачной авторизации, в зависимости от уровня привилегий пользователя открывается форма для клиентов или форма для сотрудников. В случае авторизации в качестве клиента, пользователь видит страницу приложения, на которой предлагается возможность быстрой аренды одного из автомобилей компании. Рисунок 2.14 Пример главной страницы Изм. Лист № докум. Подпись Дата Лист 29 09.02.07 – 3-ИСП11-6 На экране быстрой аренды пользователь может выбрать автомобиль при помощи кнопок. В списке выбора все автомобили из каталога один за другим. В зависимости от выбора автомобиля меняется краткая характеристика авто и требования для его аренды. Определившись с выбором, клиент может указать дату начала и окончания аренды, затем выбрать центр аренды и перейти к форме заказа. Рисунок 2.15 Окно оформления заказа Если даты начала и окончания указаны корректно, а также выбран пункт аренды, то при нажатии кнопки «Арендовать» клиент получает сообщение с просьбой об ожидании. В этот момент сотрудник компании, авторизировавшийся под учётной записью модератора, увидит добавившуюся в таблицу заявку на соответствующей странице. Далее, сотрудник должен связаться с пользователем для проверки действительности заказа. После Изм. Лист № докум. Подпись Дата Лист 30 09.02.07 – 3-ИСП11-6 проверки, сотрудник одобряет заявку пользователя. В указанный день клиент может явиться и забрать арендованный автомобиль. После одобрения заявки на аренду запись о заключённой сделке появится в личном кабинете пользователя. Помимо быстрой аренды, пользователь может ознакомиться и с другими возможностями приложения. Для навигации предусмотрено интерактивное боковое меню. Рисунок 2.16 Меню К интерактивным функциям меню можно отнести всплывающие пояснения к каждой кнопке (см. рис. 2.17), а также его открытие и закрытие для более удобного обзора функций (см. рис. 2.18). Рисунок 2.17 Меню Изм. Лист № докум. Подпись Дата Лист 31 09.02.07 – 3-ИСП11-6 Рисунок 2.18 Меню в открытом состоянии На странице условий аренды можно ознакомиться с текстовым документом, посвящённым правилам сервиса. Рисунок 2.19 Страница условий аренды Далее клиент может ознакомиться с каталогом всех автомобилей компании, при желании отобрать определённый автомобиль по доступным параметрам фильтрации, а именно – типу коробки передач, классу, вместительности салона и требованиям к аренде. Изм. Лист № докум. Подпись Дата Лист 32 09.02.07 – 3-ИСП11-6 Рисунок 2.20 Страница каталога всех автомобилей Далее, клиент может ознакомиться с адресами доступных центров аренды компании внутри приложения или на полноразмерной карте сервиса «Яндекс». Рисунок 2.21 Карта всех центров аренды Изм. Лист № докум. Подпись Дата Лист 33 09.02.07 – 3-ИСП11-6 Для использования услуг сервиса, пользователь должен корректно ввести личные данные при регистрации, а также указать данные водительского удостоверения в личном кабинете или при первой попытке оформления заказа. Рисунок 2.23 Профиль пользователя В случае оформления аренды, данные о сделке с компанией будут отображаться в окне «История заказов» в профиле пользователя. Для завершения пользования приложением или смены учётной записи, пользователь может воспользоваться кнопкой выхода. Рисунок 2.24 Выход Помимо клиентов, приложением так же будут пользоваться сотрудники компании. В случае авторизации под учётной записью модератора, сотрудника встретит аналогичное пользовательскому окно. Стартовой станицей будет список заявок на аренду от клиентов. Изм. Лист № докум. Подпись Дата Лист 34 09.02.07 – 3-ИСП11-6 Рисунок 2.25 Список заявок Далее, сотрудник может просмотреть список физических автомобилей в автопарке компании. Отслеживать и изменять их статус доступности для аренды, изменять данные их гос. Номеров и информацию о центре аренды, в котором они находятся в данный момент. Так же, модератор может добавлять или изменять данные об автомобиле, правом удаления автомобиля владеет только администратор. Рисунок 2.26 Список физических автомобилей Изм. Лист № докум. Подпись Дата Лист 35 09.02.07 – 3-ИСП11-6 Рисунок 2.27 Изменение автомобиля Помимо редактирования данных техники, сотрудник может просматривать данные о каталоге автомобилей. Рисунок 2.28 Список автомобилей в каталоге А также изменять автомобили из каталога и добавлять новые. Изм. Лист № докум. Подпись Дата Лист 36 09.02.07 – 3-ИСП11-6 Рисунок 2.29 Изменение автомобиля из каталога Рисунок 2.30 Добавление автомобиля в каталог Помимо автомобилей, модератор может просматривать список клиентов компании, осуществлять поиск клиента по его ФИО, номеру телефона и электронной почте. При необходимости, модератор может изменять личную информацию пользователя. Модератор не имеет права редактировать собственную информацию, поэтому вкладка «профиль» для модератора отсутствует. Изм. Лист № докум. Подпись Дата Лист 37 09.02.07 – 3-ИСП11-6 Рисунок 2.32 Список клиентов Помимо клиента и модератора, приложением так же может пользоваться администратор. От модератора его отличают возможность удаления автомобиля из каталога, возможность удаления физического автомобиля из базы данных компании, например, в случае прихода транспорта в негодность, а также просмотр списка сотрудников, их добавление, редактирование личных данных, создание учётных записей с разными привилегиями и их удаление. Рисунок 2.33 Список сотрудников компании Изм. Лист № докум. Подпись Дата Лист 38 09.02.07 – 3-ИСП11-6 Рисунок 2.34 Список пользователей Выводы Таким образом, после анализа предметной области, во второй главе были разработаны ER и USE CASE диаграммы, на основе которых была создана база данных, которая позволяет быстро и эффективно распределять информацию по таблицам без избыточности данных, а также программа на языке C#. Его интуитивно-понятный интерфейс позволит быстро получить или отредактировать нужную информацию из нескольких таблиц как клиентам компании, так и её сотрудникам с разными уровнями допуска. Изм. Лист № докум. Подпись Дата Лист 39 09.02.07 – 3-ИСП11-6 ЗАКЛЮЧЕНИЕ Целью данной выпускной квалификационной работы являлось закрепление полученных теоретических знаний и практических умений, проектирование и разработка информационной системы для учета клиентов компании. Для достижения поставленной цели использовались программные средства - система управления базами данных MS SQL Server и среда разработки Visual Studio 2019 с применением языка программирования C#. Проект выполнялся при помощи технологии WPF. Разработанная база данных позволяет быстро и эффективно распределять, информацию о клиентах по таблицам без избыточности данных. Созданный программный продукт удобен и эффективен в использовании. Его интуитивно-понятный интерфейс позволит пользователям без специальных навыков быстро просмотреть и отредактировать информацию из нескольких таблиц. Разработанная программа позволяет систематизировать и отображать информацию о клиентах компании, добавлять их и удалять при необходимости, а также делать выборку клиентов по фильтрам. Помимо этого, база данных предоставляет доступ к информации о сотрудниках компании, автомобилях из автопарка и договорах, заключённых между клиентами и компанией для привилегированных пользователей. Созданная база данных может быть усовершенствована и дополнена новыми данными. Применение разработанной автоматизированной системы позволит максимально упростить учёт клиентов компании и других сущностей, относящихся к исследуемой сфере услуг. Изм. Лист № докум. Подпись Дата Лист 40 09.02.07 – 3-ИСП11-6 СПИСОК ЛИТЕРАТУРЫ 1. Албахари, Джозеф C# 3.0. Справочник / Джозеф Албахари , Бен Албахари. - М.: БХВ-Петербург, 2017. 2. Бишоп, Дж. C# в кратком изложении / Дж. Бишоп, Н. Хорспул. – М.: Бином. Лаборатория знаний, 2017. 3. Бишоп, Дж. C# в кратком изложении / Дж. Бишоп, Н. Хорспул. – М.: Бином. Лаборатория знаний, 2017. 4. Гросс, Кристиан C# и платформа .NET 3.5 Framework / Кристиан Гросс. – М.: Вильямс, 2016. 5. Грофф, Джеймс Р., Вайнберг, Пол Н., SQL: полное руководство, 3-е изд.: Пер. с англ. – М.: издательство «И.Д. Вильямс», 2018. 6. Евсеева О.Н., Шамшев А.Б. Работа с базами данных на языке С#. Технология ADO .NET: учебное пособие / сост. О.Н. Евсеева, А.Б. Шамшев. – Ульяновск: УлГТУ, 2017. 7. Зиборов, В.В. Visual C# на примерах / В.В. Зиборов. – М.: БХВ– Петербург, 2016. 8. Ишкова, Э. А. Самоучитель С#. Начала программирования / Э.А. Ишкова. – М.: Наука и техника, 2016. 9. Петкович Д. Microsoft SQL Server 2017. Руководство для начинающих: Пер. с англ. – СПб.: БХВ-Петербург, 2018. 10. Редько, В.Н. Базы данных и информационные системы / В.Н. Редько, И.А. Басараб. - М.: Знание, 2017. 11. Рихтер, Джеффри CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C# / Джеффри Рихтер. / Троелсен, Эндрю Язык программирования C# 5.0 и платформа .NET 4.5 / Эндрю Троелсен. - М.: Вильямс, 2017. 12. Фримен, Адам ASP.NET MVC 3 Framework с примерами на C# для профессионалов / Адам Фримен , Стивен Сандерсон. - М.: Вильямс, 2017. Изм. Лист № докум. Подпись Дата Лист 41 09.02.07 – 3-ИСП11-6 14. Хаббард, Дж. Автоматизированное проектирование баз данных / Дж. Хаббард. - М.: Мир, 2016 15. Шнайдер Microsoft SQL Server 6.5. Проектирование высокопроизводительных баз данных / Шнайдер, Роберт. М.:ЛОРИ, 2017. Приложение 1. USE CASE диаграмма Приложение 2. Полноразмерная схема базы данных, разработанная в Microsoft Office Visio 2019 Приложение 3. Диаграмма базы данных, разработанная в Microsoft SQL Server Management Studio Приложение 4. Листинг кода основных форм разработанного пользовательского приложения 4.1 Листинг кода навигации главного окна 4.2 Листинг кода главной страницы 4.3 Листинг кода загрузки названия автомобиля и фотографии из бинарного объекта БД 4.4 Листинг кода изменения автомобиля из каталога 4.5 Листинг разметки пользовательского элемента интерфейса 4.6 Листинг кода регистрации клиента 4.7 Листинг кода авторизации |