ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «ТЕХНИЧЕСКИЙ ПОЖАРНО-СПАСАТЕЛЬНЫЙ КОЛЛЕДЖ ИМЕНИ ГЕРОЯ РОССИЙСКОЙ ФЕДЕРАЦИИ В.М. МАКСИМЧУКА» КУРСОВАЯ РАБОТА По МДК 06.01. «Внедрение информационных систем» Тема: «Внедрение автоматизированной информационной системы по разработке и продаже интерфейсов «Импульс» Студент: Иванов Иван Иванович Группа № 2ИС-05т Работа выполнена _____________________/Иванов И.И (подпись студента) (расшифровка подписи) «Допущен к защите» Руководитель _____________/______________/ (подпись) Заведующий отделением (Ф.И.О.) _____________/Иванова О. К./ (подпись) «____»________ 2024 г. Оценка ________________ Москва 2024 (Ф.И.О.) ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «ТЕХНИЧЕСКИЙ ПОЖАРНО-СПАСАТЕЛЬНЫЙ КОЛЛЕДЖ ИМЕНИ ГЕРОЯ РОССИЙСКОЙ ФЕДЕРАЦИИ В.М. МАКСИМЧУКА» ЗАДАНИЕ на выполнение курсовой работы Студент Иванов Иван Иванович (Ф.И.О.) Группа 2ИС-05т Тема: «Внедрение автоматизированной информационной системы по разработке и продаже интерфейсов «Импульс»» Срок предоставления работы к защите _________________________________ ВЫПОЛНЕНИЕ КУРСОВОЙ РАБОТЫ. 1. Исходные данные работы к защите: ГОСТ 34.602-89 «Техническое задание на создание автоматизированной системы». (проблемная ситуация, подлежащая разрешению) 2. Содержание работы: разработка системного проекта, анализ требований и определение спецификаций программного обеспечения, проектирование модели данных, обоснование выбора средств разработки, описание форм информационной системы. (перечень подлежащих разработке вопросов) Задание выдал «____» ___________________ 20___г. Руководитель _______________/___________/ (подпись, Ф.И.О.) Задание принял к исполнению «____» ___________________ 20___г. Студент _______________/ Иванов И.И./ (подпись, Ф.И.О.) 2 Содержание Введение ....................................................................................................................... 4 ГЛАВА 1. ОПИСАНИЕ ИНСТРУМЕНТОВ И ТЕХНОЛОГИЙ, ИСПОЛЬЗУЕМЫХ ПРИ РАЗРАБОТКЕ КУРСОВОГО ПРОЕКТА. .................... 6 1.1. Анализ предметной области .......................................................................... 6 1.2. Выбор средств для разработки АИС ............................................................ 7 ГЛАВА 2. РАЗРАБОТКА ПРОЕКТА КУРСОВОЙ РАБОТЫ. ............................ 11 2.1. Создание базы данных ................................................................................. 11 2.2. Разработка приложения ............................................................................... 14 2.3. Тестирование функционала приложения ................................................... 19 Заключение ................................................................................................................ 24 Список используемых источников .......................................................................... 25 3 Введение Темой курсовой работы является: «Внедрение автоматизированной информационной системы по разработке и продаже интерфейсов «Импульс»» Актуальностью курсовой работы является необходимости постоянного повышения качества обработки информации для пользователей. В условиях ежеминутного увеличения количества информации компании стремятся к автоматизации процессов работы с информацией. Основными преимуществами автоматизированной единой системы перед другими способами хранения и обработки информации являются: скорость записи и чтения информации, доступное и быстрое представление информации с помощью интуитивнопонятного интерфейса, большие возможности по обработке данных, отсутствие риска получения неактуальной информации. Оценив все преимущества АИС, компания “Импульс” решила предоставить пользователям возможность автоматизировать и упростить процесс разработки и продажи интерфейсов. «Импульс» – это современная, независимая, динамично развивающиеся компания, представляющая услуги по разработке интерфейсов для пользователей. Многолетний опыт сотрудников и дизайнеров, позволяет всегда выполнять работу на высоком уровне и в срок. С повышением числа клиентов, которые доверяют компании оказание им услуг, компания «Импульс» испытывает возникновение ряда проблем в части обработки информации: разрозненность информации о клиентах хранящейся в Excel файлах, проблемы с получением запроса от клиента и фиксирования пожелания, в возможности организации оплаты после выполнения поставленной задачи. Практическая значимость данной работы заключается в проведении анализа технологий разработки и описании процесса создания АИС на примере компании «Импульс». В будущем применяемые технологии и процессы могут использоваться для разработки других АИС. 4 Целью курсовой работы является разработка автоматизированной информационной системы по разработке и продаже интерфейсов для компании «Импульс». Для достижения поставленной цели поставлены следующие задачи: проанализировать технологии, которые будут использоваться для разработки информационной системы; проанализировать и обосновать методы выбор данных программных решений для реализации системы; спроектировать систему хранения данных; разработать базу данных для обработки и хранения данных в информационной системе; разработать приложение с графическим интерфейсом для информационной системы; провести итоговое тестирование разработанного приложения совместно с созданной базой данных. Объектом исследования является разработка системы для дизайнеров, которые занимаются созданием и продажей интерфейсов. Предметом исследования является автоматизированная информационная система по разработке и продаже интерфейсов «Импульс». 5 ГЛАВА 1. ОПИСАНИЕ ИНСТРУМЕНТОВ И ТЕХНОЛОГИЙ, ИСПОЛЬЗУЕМЫХ ПРИ РАЗРАБОТКЕ КУРСОВОГО ПРОЕКТА. 1.1. Анализ предметной области Автоматизированная информационная система по разработке и продаже интерфейсов «Импульс» (далее – АИС) предоставляет свой функционал для всех пользователей, желающих воспользоваться системой. Функционал АИС не подразумевает деление пользователей по ролям доступа, всю административную работу будут выполнять администраторы системы. Функциональные требования для АИС представляют реализацию следующего функционала: авторизации и регистрации пользователей в целях организации безопасности работы с данными; создание дизайна интерфейсов без использования программного кода и сохранения проектов на удаленном сервере; продажи и покупки интерфейсов у других пользователей АИС; импорта готовых проектов и выставление их на продажу в маркетплейсе. Разрабатываемая автоматизированная информационная система должна обеспечивать: удобный интерфейс пользователей; быстрый поиск информации; сбор статистики. Нефункциональные требования для АИС — это требования к надежности, безопасности и совместимости. Требования к надежности и безопасности: система должна работать в многопользовательском режиме; каждый пользователь должен иметь свой уникальный логин входа; система должна предупреждать некорректных данных; 6 пользователя в случае ввода система должна запрашивать подтверждение в случае удаление пользователем данных; Определены следующие требования к совместимости информационной системы и программного обеспечения. На компьютер должна быть установлена операционная система Windows. 1.2. Выбор средств для разработки АИС Для разработки любой информационной системы необходимо выбрать средства разработки и тестирования, наиболее подходящие под конкретные требования. Основными факторами, от которых зависит выбор являются: сложность и уникальность информационной системы, наличие функций, которые ранее не разрабатывались для программного продукта; сроки разработки, опыт специалистов и бюджет, выделенный на разработку программного продукта; платформы, на которых будет использоваться АИС, то есть: Web, Desktop, Мобильное приложение; качество взаимодействия выбранных средств разработки и наличие необходимых библиотек; готовые решения для проведения unit и комплексного тестирования возможностей приложения. После анализа предметной области, мы можем прийти к выводу, что АИС для разработки и продажи интерфейса сайтов является сложной, но не уникальной в части функционала. Системы, используемые для обработки данных бизнеса, не включают в себя функционал обработки чрезмерно большого количества данных или работы на специфичных ОС. Исходя из требуемого функционала, можно сделать вывод что наиболее эффективной архитектурой для разрабатываемой АИС, является клиентсерверное приложение, это подразумевает использование единого сервера для обработки данных и использование клиентских приложений, которые будут с этими данными работать. 7 По результатам проведенного анализа, можно сделать вывод, в необходимости язык программирования и cистемы управления базами данных (далее – СУБД), которые эффективно подходят для разработки клиент-серверных приложений и не являются специфическими. Данный проект является курсовым и не подразумевает выделение бюджета на разработку, формирования команды разносторонних специалистов и покупки коммерческих средств для разработки, следовательно, целесообразно использовать открытое программные средства разработки, или имеющие бесплатную лицензию для студентов, некоммерческого использования в собственных целях. Конечные пользователи разрабатываемой АИС — это клиенты компании «Импульс». Размещение и использование АИС возможно на платформах Web, Desktop и мобильное приложение. Лучшей платформой исходя из функциональных требований будет ОС Windows с удаленным сервером и Desktop клиентами, устанавливаемыми на рабочий стол пользователей, в данном варианте приложение будет работать наиболее быстро и комфортно при создании интерфейсов. В случае выбора в качестве архитектуры информационной системы создание веб или мобильного приложения, это повлечет за собой неудобство пользователей, т.к. для создания интерфейсов процесс создания дизайна является основным и наиболее качественно реализуется именно на нативном приложении для ПК. Исходя из проведенного анализа основных факторов влияющих на выбор технических средств при разработке АИС, мы можем провести анализ и выбрать один из следующих языков программирования и СУБД: Python, Java, С++, C#, MySQL, MSSQL, PostgreSQL, Oracle. Язык программирования python используется в основном для работы с BigData и разработки Web приложений. В следствии чего имеет достаточно мало готовых библиотек и функциональных возможностей для разработки Desktop приложений. 8 Языки программирования Java и C++ являются крайне большими и эффективными для разработки приложений под Desktop, имеют большое количество библиотек и реализованных возможностей для разработки приложений под Desktop. Но данные языки программирования являются сложными и заставляют тратить большое количество времени для написания приложения. В условиях ограниченного бюджета и сжатых сроков данные языки не являются лучшим выбором для разработки. Язык программирования C# является разработкой компании Microsoft и имеет огромное количество готовых решений и фреймворков, которые можно использовать для разработки Desktop приложений на платформе Windows. Данный язык достаточно прост в освоении при написании больших приложений и работы с данными, ведь имеет хорошо организованную систему строгой типизации типов данных. СУБД MySQL имеет открытую лицензию и является крайне эффективной при разработке баз данных (далее – БД) для веба приложений. Но в свою очередь в данной СУБД содержится большое количество недоработок, по причине отсутствия коммерческой реализации и профессиональной команды разработчиков. СУБД PostgreSQL имеет открытую лицензию и подходит для разработки любых типов приложений. Содержит крайне большой функционал в части организации таблиц и типов данных, но для небольших проектов данный функционал является избыточным. СУБД Oracle не имеет открытой лицензии, исходя из данного фактора не эффективно использовать ее в некоммерческих проектах. СУБД Ms SQL Server имеет бесплатную лицензию для использования в некоммерческих проектах, данная СУБД является стабильной и разрабатывается компанией Microsoft. Имеет весь необходимый для разработки функционал, который не является излишним. Данная СУБД имеет отлично организованное взаимодействие с языком программирования C# и Entity Framework, удобный 9 менеджер управления с бесплатной лицензией для некоммерческого использования. После проведенного анализа, необходимо выбрать средства разработки лучше всего подходящие для создания АИС. Одним из лучших языков программирования для реализации данных задач является язык С# разработанный компанией Microsoft. Данный язык имеет лучшее взаимодействие с программными продуктами на целевой ОС Windows, имеет широкий круг возможностей для разработки интерфейса приложения с помощью технологии WPF, удобную IDE для разработки с бесплатной лицензией с целью некоммерческого использования, и широкие возможности для взаимодействия с базами данных с помощью использования ORM Entity Framework. В SQL Server имеется большой набор интегрированных служб, расширяющих возможности использования данных: можно составлять запросы, выполнять поиск, проводить синхронизацию, делать отчеты, анализировать данные. Все данные хранятся на основных серверах, входящих в состав центра обработки данных. К ним осуществляется доступ с настольных компьютеров и мобильных устройств. Таким образом, вы полностью контролируете данные независимо от того, где вы их сохранили. Система SQL Server позволяет обращаться к данным из любого приложения, разработанного с применением технологий Microsoft .NET и Visual Studio. В данной главе в результате проведения анализа предметной области были определены основные функциональные и нефункциональные требования к разрабатываемой АИС. Исходя из определенных требований и проведения анализа самых популярных средств разработки, были выбраны оптимальные средства и архитектура разработки АИС, а именно: приложение под Desktop на ОС Windows, язык C#, СУБД Ms SQL Server, фреймворки для разработки WPF .Net Framework и Entity Framework. 10 ГЛАВА 2. РАЗРАБОТКА ПРОЕКТА КУРСОВОЙ РАБОТЫ. 2.1. Создание базы данных На первом этапе разработке проекта необходимо создать БД для хранения и обработки данных, однозначно определиться с сервером, на котором будет располагаться БД и какая часть сети, будет иметь к ней доступ. Подключаемся к серверу MS SQL с помощью использования Management Studio (рис. 2.1). Рисунок. 2.1. Подключение к серверу СУБД MS SQL Server предоставляет возможность графического добавления таблиц в БД (рис 2.2). На основании предъявляемых требований к хранимым данным, были созданы таблицы с корректными типами данных для каждого атрибута. 11 Рисунок 2.2. Создание таблиц в MS SQL Server После добавления атрибутов таблицы, были установлены свойства для каждого столбца, добавлены идентификаторы, первичные ключи (рис 2.3). Рисунок 2.3. Определение ограничений в таблице После создания необходимых таблиц, была проверена корректность созданных таблиц, согласно созданной ERD модели (рис. 2.4). 12 Рисунок 2.4. Список созданных таблиц На последнем этапе физического проектирования, была создана физическая модель базы данных и установлены ограничения Foreign key (рис 2.5). Рисунок 2.5. Физическая модель БД После успешного создания БД, таблицы были заполнены тестовыми данными, для проверки работоспособности созданной структуры. Начальные данные в реальных системах передаёт заказчик или они заполняются по мере 13 работы приложения (рис 2.6). Рисунок 2.6. Заполнение БД тестовыми данными 2.2. Разработка приложения На первом этапе разработки приложения, был создан проект в Visual Studio и определена его архитектура. Был создан проект с шаблоном Windows Presentation Fondation (далее WPF) с библиотеками языка программирования C#. При разработке была использована архитектура фреймворка Model-View-Controller (далее MVC) (рис. 2.7). Рисунок 2.7. MVC модель При разработке графического интерфейса приложения, применялся язык разметки xaml доступный для описания окон,страниц и графических элементов в технологии WPF. На первом этапе выполнения разметки в xaml, были созданы стандартные стили для приложения. Данный подход позволяет уменьшить количество 14 дублируемого кода, при необходимости внести правки общий стиль в приложении в максимально короткие сроки. Стандартные стили были описаны в файле App.xaml (рис. 2.8) Рисунок 2.8. Стандартные стили в приложении В функционал xaml включена возможность задавать имена для графических элементов, данная возможность позволяет получать значения свойств элемента и использовать их значения в языках программирования. Данный вариант разметки реализован на странице «Авторизации» в приложении (рис. 2.9). Рисунок 2.9. Разметка окна авторизации в приложении 15 Для создания удобного интерфейса пользователя без постоянного открытия новых окно, в графическом интерфейсе приложения добавлено одно главное окно, а для всех функциональных модулей разработаны отдельные страницы. Страницы отображаются в элементах Frame (рис. 2.10). Рисунок 2.10. Разметка главного окна в приложении Для организации взаимодействия исходного кода приложения с данными из БД и интерфейсом пользователя, был использован фреймворк MVC. Данный фреймворк подразумевает разделение файлов приложения на слои модели (Model), представления (View) и контроллер (Controller) [11, с. 123]: model обрабатывает данные, которые необходимы для работы приложения. Он включает в себя логику работы с базами данных, кешами, а также классы моделей, которые содержат бизнес-логику; view создает пользовательский интерфейс к приложению. Он генерирует HTML-страницы, которые отображают данные в удобном виде для взаимодействия с пользователем; controller принимает запросы от пользователя и обрабатывает их, вызывая соответствующие методы в слоях Model и View. Он также отвечает за маршрутизацию запросов и управления состоянием приложения. MVC позволяет полностью разделить обработку данных и отображение пользовательского интерфейса, что делает приложение более гибким и удобным в сопровождении. Файловая структура приложения организованна согласно описанному фреймворку (рис. 2.11). 16 Рисунок 2.11. Файловая структура приложения Для разработки функционала авторизации, был написан исходных код работающий по следующему алгоритму: получение логина и пароль введённых пользователем в окне авторизации после нажатия на кнопку «Войти»; передача данных логина и пароль для поиска в БД, в случае если данные найдены, открывает страницу пользователя в зависимости от его роли; поиск пользователя с заданным логином и паролем в базе данных (рис. 2.12). Рисунок 2.12. Авторизация пользователя 17 Для разработки функционала сохранения созданного пользователем дизайна, был написан исходных код работающий по следующему алгоритму (рис 2.13): пользователь подготавливает уникальный дизайн без использования кода с помощью интерфейса приложений; после нажатия пользователем кнопки «Сохранить» выполняется преобразование созданного изображения в файл; пользователю открывается диалоговое окно, в котором он имеет возможность выбрать имя и путь для сохранения дизайна. Рисунок 2.13. Код для сохранения созданного дизайна 18 2.3. Тестирование функционала приложения Для тестирования приложения разработки уникальных интерфейсов «Импульс» применяется ручной метод, который заключается в проверке функционала приложения с помощью целенаправленного ввода корректных и некорректных данных и сравнение полученного результата с ожидаемым. При запуске приложения, открывается стартовая страница пользователя (рис 3.1). Рисунок 3.1. Стартовая страница пользователя Для дальнейшей работы пользователь должен пройти в окно авторизации с помощью кнопки «Войти» или «Начать бесплатно». В окне авторизации пользователь вводит свой логин и пароль (рис 3.2). Рисунок 3.2. Окно авторизации 19 В случае если логин или пароль пользователя введены неверно. Приложение сообщит, что данные некорректны (рис 3.3). Рисунок 3.3. Неправильный логин или пароль После удачной авторизации с корректными учётными данными пользователь перейдёт в окно «Шаблоны». В данном окне пользователь имеете возможность открыть окно создания нового дизайна или импортировать уже существующий в базу данных. (рис 3.4). Рисунок 3.4. Страница шаблонов В окне создания дизайна нового проекта, пользователь имеет возможность создать уникальный дизайн и сохранить его по выбранного пути (рис 3.5 – 3.6). 20 Рисунок 3.5. Создание нового проекта Рисунок 3.6. Сохранение проекта Для последующего сохранения проекта в БД необходимо использовать функционал «Импортировать проект». После сохранения файла проекта на ПК, пользователь может импортировать проект в БД, имея возможность всегда получить к нему доступ и выставить на продажу (рис 3.7). 21 Рисунок 3.7. Сохранение проекта После импорта проекта, пользователь может увидеть его во вкладке «Мои проекты» (рис 3.8). Рисунок 3.8 Мои проекты Для покупки новых проектов пользователь может перейти во вкладку «Маркетплейс» (рис. 3.9). 22 Рисунок 3.9 Маркетплейс В данной главе с использование выбранных средств разработки были созданы: база данных АИС в СУБД MS SQL Server, приложение под рабочий стол в ОС Windows на фреймворке WPF. Был подробно описан процесс создания БД с помощью графских средств управления СУБД MS Management Studio. Проанализирована архитектура фреймворка MVC и реализация его для разработки приложения с функционалом для разрабатываемой АИС. Подробно описаны основные алгоритмы, используемые в исходном коде приложения. По результатам тестирования приложения, для АИС «Импульс функциональные требования, поставленные при анализе предметной области, были реализованы. Приведен подробный анализ интерфейса приложения и функционала доступного пользователю в работе. Проанализированы основные направления, в которых возможно развитие приложения и расширение его функционала для пользователей. 23 Заключение В современном мире информационных технологий системы автоматизации деятельности и централизации обработки информации нашли широкое применение. Любая отрасль не может развиваться без сотрудничества с информатикой, так как организациям необходимо обрабатывать огромное количество разнообразной информации, и без применения и информационносправочных систем это было бы невозможным. В ходе курсовой работы была достигнута заданная цель которой является разработка АИС для разработки и продажи интерфейсов «Импульс», были подробно проанализированы и выполнены все этапа создания целевой АИС, произведен выбор наиболее подходящих для реализации данной цели средств разработки. При выполнении работы были выработаны умения и навыки проектирования структуры БД, был разработан интерфейс приложения для пользователя с соблюдением всех стандартов UX и UI используемых в мире, получен дополнительных опыт в создании базы данных в MS SQL Server, был получен опыт написания программного кода на языке С#, использования ORM Entity Framework и технологии Windows Presentation Foundation (WPF). Структура файлов в разработанном программном обеспечении соответствует стандартам архитектуры разрабатываемых приложений, а код, написанных на языке C#, официальному Style Guide. Итогом выполнения курсовой работы является внедрение АИС для разработки и продажи интерфейсов «Импульс». Были разработаны: система хранения данных, интерфейс приложения, исходный код на языке программирования C#. Процесс разработки был подробно проанализирован и описан в тексте курсовой работы. Цель курсовой работы была достигнута, поставленные задачи выполнены. 24 Список используемых источников 1) Агальцов В.П. Базы данных. В 2 кн. Кн. 2. Распределенные и удаленные базы данных. Учебник. – М.: Инфра-М, Форум, 2019. – 272 с. 2) Светлана, Баранова Волшебные оздоровительные комплексы для стройности, гибкости, бодрости / Баранова Светлана. - М.: Феникс, 2008. - 641 c. 3) Арымбекова Э.М. Основы создания и администрирования базы данных средствами Microsoft SQL Server. Учебное пособие – Е.: РГППУ, 2019 г., 65 с. 4) Астахова И.Ф., Толстобров А.П., Мельников В.М., Фертиков В.В. СУБД. Язык SQL в примерах и задачах. – М.: Физматлит, 2019. – 168 с. 5) Попова-Коварцева Д.А., Сопченко Е.В. Основы проектирования баз данных – Самарский университет, 2019 – 99 с. 6) Вагнер, Билл С# Эффективное программирование / Билл Вагнер. - М.: ЛОРИ, 2021. - 320 c. 7) Руссинович, М. Внутреннее устройство Microsoft Windows / М. Руссинович, Д. Соломон. - М.: Питер, 2020. - 598 c 8) Электронный ресурс: «Документация по разработке для Windows». Форма доступа: https://learn.microsoft.com/ru-ru/windows/apps/ 9) Электронный ресурс: «Разработка приложений на WPF .Net Framework». Форма доступа: https://learn.microsoft.com/ru- ru/dotnet/desktop/wpf/app-development/?view=netframeworkdesktop-4.8 10) Электронный ресурс: «Платформа Microsoft SQL Server 2019 и её преимущества». Форма доступа: https://ab–news.ru/platforma–microsoft–sql– server–2019–i–eyo–preimushhestva/ 25