Разработка информационной системы для ателье
![]()
|
Определения, обозначения, сокращения ТЗ (техническое задание) – документ, содержащий требования заказчика к разрабатываемому продукту. ПО – Программное обеспечение. ВКР – Выпускная квалификационная работа. IDE – Integrated Development Environment (Интегрированная среда разработки). ГОСТ – Межгосударственный стандарт. НПБ – Нормы пожарной безопасности. СанПиН – Санитарные правила и нормы. ПЭВМ – Персональная электронная вычислительная машина. ЧС – Чрезвычайная ситуация. 13 ТЕХНИЧЕСКОЕ ЗАДАНИЕ Введение Термины и сокращения ИС – информационная система. ОС – операционная система. ПК – персональный компьютер. ПО – программное обеспечение. СУБД – система управления базами данных. Наименование разработки Информационная система для ателье. Краткая характеристика области применения Разрабатываемая информационная система (далее – система) необходима для мониторинга и ввода данных по выполняемым заказам в ателье по пошиву и ремонту одежды. Основания для разработки Документ, на основании которого ведется разработка Разработка ведется на основании задания на выпускную квалификационную работу. Организация, утвердившая документ Документ был утвержден в ателье по пошиву и ремонту одежды «Элегия». Назначение разработки Система предназначена для автоматизации учета заказов. Система должна представлять собой веб-приложение, предоставляющее возможность для сотрудников ателье – удобную работу с заказами; для клиентов – ознакомиться с предоставляемыми услугами и оставить заявку. 14 Основной автоматизируемый процесс Прием и обработка заказов. Цели разработки Основной целью разработки является автоматизация процесса учета и оформления заказов. Дополнительными являются: возможность работы с системой с любого устройства, имеющего веб- браузер; получение актуальной версии системы на всех устройствах (обеспечивается веб-архитектурой приложения); использование справочной информации из одного централизованного источника – БД. Функциональные требования Программная система предназначена для следующих классов пользователей: Клиент – имеет возможность ознакомиться с предоставляемыми услугами и оформить заявку на получение услуг. Работник (швея) – имеет возможность просмотреть назначенные для него заказы и подробную информацию по каждому из них, поменять статус заказа, добавить данные примерки и просмотреть всю историю выполненных им заказов. Администратор – управляет всеми заказами и системой в целом, он может добавлять/удалять клиента, управлять заказами и имеет полный доступ к истории заказов. Он занимается распределением заказов между сотрудниками, а также редактирование контента, выводимого в клиентской части. 15 Требования к инструментарию Система должна быть реализована в виде веб- приложения. Программная платформа: C#, ASP.NET Core. Хранилище данных: PostgreSQL 10. Технико-экономические показатели Приложение должно быть реализовано в виде бесплатного веб- приложения. Порядок контроля и приемки Контроль и приемка осуществляется заказчиком на основании технического задания. 16 ВВЕДЕНИЕ Значительный прогресс в развитии информационных технологий предоставил обществу быстрый доступ к большому количеству любой информации, а также возможность ее обработки и передачи в любую точку мира за несколько секунд. Этот прогресс дает огромные возможности, примером которой является проектирование эффективной системы управления информацией на предприятиях любых сфер деятельности. Такая система, если она хорошо спроектирована, способна увеличить эффективность работы предприятия, повысить эффективность труда, сэкономить время на обработку информации, кроме того, предоставляет возможность мгновенно анализировать и строить прогнозы [1]. Все это в совокупности отражает актуальность данного дипломного проекта. Целью данной работы является разработка информационной системы, позволяющей вести учет работ в ателье «Элегия». Для достижения цели необходимо решить задачи: провести анализ предметной области; выявить требования к разрабатываемой информационной системе; проанализировать программные продукты, выполняющие аналогичные задачи; выбор программных средств разработки; составление технического задания; выполнение прототипирования; выбор архитектуры системы; проектирование базы данных; проектирование интерфейса; реализация приложения. 17 1 Анализ предметной области 1.1 Объект исследования Ателье «Элегия» начало свою работу в 2011 году. Швейное ателье выполняет ремонт одежды, производит полный или частичный перекрой вещей. Ателье занимается устранением деформации на одежде после стирок и длительного ношения. Выполняет срочный ремонт одежды и производит замену мелких деталей: молний, воротников, манжетов, замену подкладок и т.д. На рисунке 1 приведена контекстная диаграмме, которая отражает основную деятельность ателье. Показаны входные и выходные данные. Входные: сырье, материалы и инструменты от поставщика; персонал с рынка труда; заказы клиентов; информация о внешней среде; денежные средства от контрагентов. Выходные: денежные средства контрагентам; выполненные заказы. В качестве управления выступают ожидания клиентов, требования нормативных документов, ожидания собственника. Рисунок 1 – Контекстная диаграмма 18 Основными услугами, оказываемыми ателье, являются: ремонт одежды, реставрация и пошив. В настоящее время в ателье «Элегия» осуществляется большой объём работ по пошиву и ремонту одежды. Слаженность и бесперебойность производимых работ зависит от соблюдения графика работ и оперативности обмена информацией. Немаловажное значение для данных показателей имеет учёт выполненных и выполняемых работ. Упростить и ускорить процесс учёта, а значит, улучшить озвученные выше показатели, позволит использование информационной системы, позволяющей вести мониторинг работы ателье. Автоматизация деятельности администратора ателье значительно упрощает и ускоряет работу всего ателье. Данная программа позволит автоматизированным путем вести учет о сделанных заказах. 19 1.2 Аналитический обзор аналогичных систем Перед тем как приступить к проектированию системы, необходимо проанализировать существующие системы с похожим функционалом. В этом разделе рассмотрены основные аналоги разрабатываемой системы. На данный момент для учёта заказов в ателье используется пакет Microsoft Excel. Данное программное обеспечение позволяет администратору делать записи о деятельности ателье, но при этом все данные вводятся вручную. Данный подход имеет следующие недостатки: ручное заполнение всей информации; не отображает изменения по работам в реальном времени; сложно обрабатывать поступающие заказы. Вследствие описанных выше недостатков снижается производительность работы всего ателье, что в свою очередь может стать причиной финансовых потерь. В качестве альтернативы можно рассматривать продукты, входящий в подкласс информационных системы для малого и среднего бизнеса. Ближайшими аналогами из таких систем являются: – Простой софт: конфигурация «Ателье»; – 1С «Швейка». Данные системы являются дорогостоящими, сложными и в силу специфичности требований к информационной системы не могут предложить готового коробочного решения, полностью удовлетворяющего требованиям и реализующих необходимые возможности. Кроме того, производится плата за внедрение самой системы и за её сопровождение. 20 2 Выбор технологий и инструментария 2.1 Платформа Для разработки системы был выбран новый фреймворк ASP.NET Core от компании Microsoft. ASP.NET Core представляет кроссплатформенную, высокопроизводительную среду с открытым исходным кодом, предназначенная для создания различного рода веб-приложений: от небольших веб-сайтов до крупных веб-порталов и веб-сервисов [4]. ASP.NET Core может работать поверх кроссплатформенной среды .NET Core, которая может быть развернута на основных популярных операционных системах: Windows, Mac OS X, Linux. ASP.NET Core включает в себя фреймворк MVC, который объединяет функциональность MVC, Web API и Web Pages. В предыдущих версиях платформы данные технологии реализовались отдельно и поэтому содержали много дублирующей функциональности. ASP.NET Core характеризуется расширяемостью. Фреймворк построен из набора относительно независимых компонентов, что позволяет использовать встроенную реализацию этих компонентов, либо расширить их с помощью механизма наследования, либо вовсе создать и применять свои компоненты со своим функционалом. Для обработки запросов используется новый конвейер HTTP, который основан на компонентах Katana и спецификации OWIN. А его модульность позволяет легко добавить свои собственные компоненты. Если суммировать, то можно выделить следующие ключевые особенности ASP.NET Core: легковесный и модульный конвейер HTTP-запросов; возможность развертывать приложение как на IIS, так и в рамках своего собственного процесса; 21 использование платформы .NET Core и ее функциональности; распространение пакетов платформы через NuGet; интегрированная поддержка для создания и использования пакетов NuGet; единый стек веб-разработки, сочетающий Web UI и Web API; конфигурация для упрощенного использования в облаке; встроенная поддержка для внедрения зависимостей; расширяемость; кроссплатформенность: возможность разработки и развертывания приложений ASP.NET на Windows, Mac и Linux; развитие как open source, открытость к изменениям; Эти и другие особенности, и возможности ASP.NET Core стали ключевыми при выборе его в качестве платформы для разработки данной системы. 2.2 Хранение данных Информационная системы предполагает хранение и повторное использование данных [5]. Для хранения данных было принято решение использовать реляционную СУБД PostgreSQL. PostgreSQL – это объектно-реляционная система управления базами данных, основанная на POSTGRES – программе, разработанной на факультете компьютерных наук Калифорнийского университета в Беркли [6]. Она поддерживает большую часть стандарта SQL и предлагает множество современных функций: сложные запросы; внешние ключи; триггеры; 22 изменяемые представления; транзакционная целостность; многоверсионность. Кроме того, пользователи могут всячески расширять возможности PostgreSQL, например, создавая свои: типы данных; функции; операторы; агрегатные функции; методы индексирования; процедурные языки. А благодаря свободной лицензии, PostgreSQL разрешается бесплатно использовать, изменять и распространять всем и для любых целей – личных, коммерческих или учебных. 2.3 Среда разработки Для создания системы использована интегрированная среда разработки Microsoft Visual Studio 2017. Данная среда разработки предоставляет усовершенствованный редактор кода, удобные инструменты для создания графического пользовательского интерфейса, интегрированный отладчик и множество других инструментов для упрощения разработки приложений на основе .NET Core [7]. При разработке в Visual Studio 2017 проекты приложений имеют встроенную поддержку с такими популярными инструментами, как Bower, Grunt, Gulp, который позволяют управлять скриптами JavaScript и стилями CSS, автоматизировать и оптимизировать процесс веб-разработки. 23 3 Проектирование системы 3.1 Функциональность Система предназначена для следующих классов пользователей: Пользователь может ознакомиться с услугами и оформить заявку на получение услуги. Работник (швея) наделен правами доступа, чтобы просмотреть назначенные для него заказы и подробную информацию по каждому из них, поменять статус заказа, добавить данные примерки и просмотреть всю историю выполненных им заказов. Администратор управляет всеми заказами и системой в целом, он может добавлять/удалять пользователя и работника, управлять заказами и имеет полный доступ к истории заказов. Он занимается распределением заказов между сотрудниками, а также редактирование контента, выводимого в клиентской части. Для отображения взаимодействия между вариантами использования, представляющими функции системы, и действующими лицами использована диаграмма вариантов использования. Этот тип диаграмм описывает общую функциональность системы и позволяет сформулировать общие требования к функциональному поведению проектируемой системы [9, 10]. Диаграммы вариантов использования для каждого класса пользователей, которые используются в системе, изображены на рисунках 2 – 4. 24 Рисунок 2 – Диаграмма вариантов использования для пользователя Рисунок 3 – Диаграмма вариантов использования для работника 25 Рисунок 4 – Диаграмма вариантов использования для администратора 3.2 Прототипирование Для представления предполагаемого веб-приложения были спроектированы соответствующие прототипы страниц, согласованные с заказчиком. Примеры страниц приведены на рисунках 5 – 6. 26 Рисунок 5 – Главная страница Рисунок 6 – Страница "Пошив одежды" 27 3.3 Архитектура Архитектура системы представляет собой трёхуровневую клиент- серверную архитектуру. Согласно данной архитектуре система состоит из следующих компонентов [2]: клиент; сервер приложений; сервер базы данных. Основная особенность данной модели заключается в наличии веб- сервера, который осуществляет бизнес-логику приложения, тем самым освобождая клиента от её реализации. Освобождение клиентской части от бизнес-логики позволяет экономить её ресурсы и снизить требования к аппаратной части и облегчить процесс обновления клиентской части. Кроме того, повышается безопасность, масштабируемость и гибкость системы. Взаимодействие серверной и клиентской части осуществляется посредством сети интернет по протоколу http/https. Схема архитектуры изображена на рисунке 7. Рисунок 7 – Архитектура приложения 28 Каждый из элементов выполняет следующие функции: сервер баз данных – обеспечивает хранение и использование данных необходимых для обеспечения работы; сервер приложений – в данном компоненте сосредоточена большая часть бизнес-логики; клиент – обеспечивает графическое отображение информации пользователю. 3.4 База данных Первая стадия проектирования серверной части – проектирование базы данных. Данный этап производился с помощью программного инструмента Toad Data Modeler. Данный инструмент позволяет пользователям визуально создавать, поддерживать и документировать новые или существующие системы баз данных и развертывать изменения в структурах данных на разных платформах [3]. Полная физическая схема базы данных изображена на рисунке 8. Рисунок 8 – Схема базы данных 29 3.5 Разделение клиентской и администраторской частей Данные части были разделены с помощью областей ASP.NET Core. Область можно определить, как небольшой функциональный модуль в проекте ASP.NET Core MVC с собственным набором контроллеров, представлений и моделей. Использование областей позволило логически разделить проект так, чтобы с каждой функциональной частью можно было работать отдельно. Для разделения необходимо было указать, что каждый контроллер связан с областью. Для этого использован атрибут [Area]: namespace TailorShop.WEB.Areas.Client.Controllers { [Area("Client")] public class HomeController : Controller { private readonly ApplicationDbContext _context; public HomeController(ApplicationDbContext context) { _context = context; } public IActionResult Index() { return View(); } } } Также необходимо было настроить маршрутизацию. Настройка произведена добавлением именованного маршрута «areas»: app.UseMvc(routes => { routes.MapRoute( name: "areas", template: "{area:exists}/{controller=Home}/{action=Index}/{id?}" ); routes.MapRoute( name: "admin", template: "{controller=Home}/{action=Index}/{id?}"); }); 30 4 Результаты В результате разработки был реализован функционал клиентской и администраторской частей. Для создания интерфейса администраторской части использовался фреймворк Bootstrap – простой и легко настраиваемый HTML, CSS и Javascript фреймворк для более быстрой и удобной Web-разработки [11]. 4.1 Клиентская часть Клиентская часть представляет собой веб-сайт, где потенциальный клиент может ознакомиться с предоставляемыми услугами. На рисунке 9 представлена главная страница клиентской части. Рисунок 9 – Главная страница На странице «Пошив одежды» пользователь может просмотреть изделия, которые доступны для заказа индивидуального пошива, а также ознакомиться с расценками. Данная страница показана на рисунке 10. 31 Рисунок 10 – Страница «Пошив одежды» Страница «Ремонт одежды» (Рисунок – 11) аналогична предыдущей странице, за исключением того, что после выбора конкретного изделия пользователь может посмотреть все услуги, связанные с выбранным изделием. Рисунок 11 – Страница «Ремонт одежды» 32 4.2 Администраторская часть Для работы с администраторской частью необходимо авторизоваться в системе. Форма авторизации приведена на рисунке 12. Рисунок 12 – Форма входа После авторизации сотрудник попадает на главную страницу, где имеется возможность оформить заказ, добавить услугу и добавить информации о клиенте Данная страница показана на рисунке 13. Рисунок 13 – Главная страница администраторской части 33 Для ознакомления с заказами сотрудник переходит на страницу заказов с главной страницы, либо через пункт меню. Список заказов представлен на рисунке 14. Рисунок 14 – Страница заказов Для оформления заказа сотрудник переходит на соответствующую страницу заказа заполняет форму заказа. Данная форма предоставляет возможность добавить несколько услуг в один заказ. Для этого пользователь выполняет поиск и выбор услуги по названию. Выбранные услуги добавляются в динамическую таблицу. Страница с формой заказа представлена на рисунке 15. Рисунок 15 – Форма оформления заказа |