Диплом: Разработка системы оптимизации управления запасами на примере ООО «Оригами»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
36
интерфейс WinAPI, направленный на организацию работы в графической среде,
а также библиотека компонентов VCL, хранящая набор WinAPI и включающая
органы управления [19].
Язык объектно-ориентированного программирования Delphi реализует
подходы визуального программирования, при которых существует возможность
одновременного конструирования, изменения, отладки программного
обеспечения в среде разработки IDE (Integrated Development Environment).
В состав среды разработки IDE Delphi входит главное окно, в котором
приводится название проекта, обозреватель дерева объектов, инспектор
объектов, конструктор формы, редактор кода и браузер [3].
Для разработки программного обеспечения на языке программирования
Delphi в среде разработки создаются проекты, представленные в виде
организационной информационной структуры, объединяющей несколько
взаимосвязанных файлов, позволяющих обрабатывать данные с созданием
исполняемого файла, с расширением *.exe, выступающего самостоятельным,
независимым Windows-приложением.
В новый проект входит главная форма (Application), представленная в
виде пустого окна Windows-приложения. Форма Application позволяет запустить
исполняемый файл *.exe на компиляцию и выполнение и ее закрытие приведет к
завершению работы с приложением в целом.
Для создания программного продукта используется окно формы,
выступающее конструктором-проектом разрабатываемого программного
обеспечение. Визуальное программирование предусматривает выбор
необходимого объекта из библиотеки VCL и расположение его в поле формы
При разработке проекта на языке Delphi для разработчика организована
возможность перемещения компонентов в окне формы, изменения его свойств и
размеров. С помощью обработчика событий Инспектора объектов для
компонентов формы можно задавать различные действия. При этом все
выбранные действия разработчиком в автоматическом синхронном режиме
размещаются в исходном программном коде [1].
Кроме того любой созданный объект в среде разработки IDE Delphi можно
переносить из одного проекта в другой, тем самым снижая трудоемкость
37
решаемых задач разработчиком. В состав библиотеки Delphi входит более 373
различных объектов, основными из которых выступают кнопки, списки, панели,
меню. Для упорядочивания объектов в среде разработки предусмотрена Палитра
компонентов, имеющая закладки [31].
Кроме этого любой созданный объект в среде разработки IDE Delphi
можно переносить из одного проекта в другой, тем самым снижать трудоемкость
решаемых задач разработчиком. В состав библиотеки Delphi входит более 373
различных объектов, основными из которых выступают кнопки, списки, панели,
меню. Для упорядочивания объектов в среде разработки предусмотрена Палитра
компонентов, имеющая закладки.
Для хранения типовых и новых форм в состав среды разработки IDE
Delphi входит репозиторий, который создается разработчиком программного
обеспечения. Хранящиеся в репозитории формы позволяют сформировать стиль
разработки [26].
Среда разработки IDE Delphi также включает в состав отладчик
программного кода. В основе отладки программного кода находится механизм
трассировки, позволяющий поочередно просматривать программный код.
В процессах отладки разработчик может создавать точки останова и тем
самым производить исполнение программного кода в пошаговом режиме.
Таким образом, среда разработки IDE Delphi имеет весь необходимый
функционал для осуществления подходов объектно-ориентированного,
визуального программирования и создания полнофункциональных программных
продуктов [35].
На основании выполненного анализа наиболее популярных языков
программирования можно сделать выводы:
- язык программирования C# был представлен на рынке программного
обеспечения компанией Microsoft с целью создания объектно-ориентированного
программного продукта, в котором любую форму можно было представить в
виде объекта, в котором объединяются информационная и функциональная
части;
- объектно-ориентированный язык программирования Delphi применяется
для разработки пользовательских программ, работающих под управлением
38
операционной платформы Windows. В основе работы находится оконный
интерфейс WinAPI, направленный на организацию работы в графической среде,
а также библиотека компонентов VCL, хранящая набор WinAPI и включающая
элементы управления. Каждый из проанализированных языков
программирования имеет все необходимые библиотеки и компоненты для
создания полноценного программного продукта.
На основании полученных данных из ООО «Оригами» было установлено,
что специалисты IT-отдела в большей степени используют язык
программирования C#, поэтому его выбираем для создания клиентской части
информационной системы управления запасами.
2.2.2 Обоснование выбора СУБД
Среди наиболее известных СУБД для разработки программного
обеспечения распространение получили реляционные системы управления
базами данных MS SQL Server 2016 и СУБД MS Access 2016.
Реляционная система управления базами данных MS SQL Server 2016
основана на распределенной архитектуре данных, позволяющей организовать
доступ приложений к базе данных через ядро базы данных [14].
Характеристика основных служб MS SQL Server 2016 приведена в таблице
2.1.
Таблица 2.1
Характеристика основных служб MS SQL Server 2016
Название службы
Характеристика
Служба Open Data
Services
Применяется для создания интерфейса между ядром и
сетевыми библиотеками MS SQL Server
Служба
MSSQLServer
Выступает ядром СУБД MS SQL Server. Ее функциями
являются управление файлами, которые входят в базу
данных MS SQL Server. Этой службой реализуются такие
операции как запросы, распределение ресурсов, инструкции,
проверяются учетные записи
Служба SQL Server
Agent
Выполняет задачи планирования заданий, а также
автоматизирует процесс обработки событий
Служба MSDTC
Выполняет функции администратора транзакций, выполняет
запросы нескольких серверов баз данных
39
Наиболее важные задачи в реляционной СУБД MS SQL Server 2016 среди
приведенных в таблице 2.1 служб выполняет SQL Server Agent. В ее состав
входят различные объекты. Объект задания (Jobs) включает одну или несколько
итераций, каждая из которых представлена в виде определенной конструкции
Transact-SQL или команды для управления репликацией.
Также в состав службы SQL Server Agent входят объекты Alerts (события)
для выполнения функций по отправке сообщений и запуска заданий и Operators
(операторы) – для поддержки рабочего состояния сервера.
При установке реляционной СУБД MS SQL Server 2016 вместе с ней
устанавливаются системные и пользовательские базы данных [15].
Характеристика системных баз данных, входящих в состав реляционной
СУБД MS SQL Server 2016 приведена на рис.2.7.
Рис.2.7. Характеристика системных баз данных SQL Server 2016
Каждая из перечисленных на рисунке 2.7 системных таблиц имеет
префикс sys. Как любая реляционная база данных СУБД MS SQL Server 2016
включает таблицы для хранения записей базы данных. Таблицы представлены в
виде упорядоченного множества столбцов, для каждого из которых назначено
имя, тип данных и размер. Строки таблицы базы данных позволяют описать
свойства объектов.
С целью снижения времени на поиск, выборку и обработку данных в
реляционной базе данных СУБД MS SQL Server 2016 применяются индексы,
База данных tempdb является глобальным
реfсурсом,автоматическидоступнымвсемпользователям,исоздаетсякажfдый раз при
запуске SQL Server.
База данных msdb содержит информацию о планировании заданий (jobs) и событий
(alerts), а также об организации работы
операторов(operators),получающихизвещения
База данных model является шаблоном для создаваемых баз данных.
База данных master хранит всю информацию, относящаюся к конfфигурации и
функционированию SQL Server (учетных записях пользователей, параметры
сервера)
40
которые создаются с помощью столбца таблицы и их функций является
определение места размещения каждой записи в базе данных.
В СУБД MS SQL Server 2016 существуют кластерные и не кластерные
индексы. Если определен кластерный индекс, то его можно использовать для
изменения места размещения записей. В свою очередь, не кластерные индексы
позволяют создать указатели на записи в основной таблице. Следует отметить,
что по умолчанию в реляционной СУБД MS SQL Server 2016 установлены не
кластерные индексы [32].
Для выполнения модификации данных в одной или нескольких таблицах в
СУБД MS SQL Server 2016 предусмотрены представления. Разработчиками
представления используются для выполнения функций выборки данных,
математических вычислений, объединения столбцов таблиц баз данных.
Целостность и непротиворечивость данных в СУБД MS SQL Server 2016
позволят обеспечить ограничения, характеристика которых приведена в таблице
2.2.
Таблица 2.2
Характеристика ограничений СУБД MS SQL Server 2016
Название
ограничения
Характеристика
Ограничение
PRIMARY KEY
Относится к ограничениям по первичному ключу. Его
используют для того чтобы обеспечить логическую
целостность данных
Ограничение
FOREIGN KEY
Относится к ограничениям по внешнему ключу. Его
применяют для обеспечения ссылочной целостности.
Применение внешнего ключа позволяет связывать один или
несколько столбцов в таблице
Ограничение
UNIQUE
Относится к ограничениям по уникальности. Позволяет
предотвратить появление в каком-либо столбце
повторяющихся значений. Этот вид ограничения не может
быть задан для строки
Ограничение
CHECK
Относится к ограничениям по значению. Создает возможности
обеспечения контроля значений, которые введены в столбец
Ограничение
NOT NULL
Относится к ограничениям на неопределенное значение. Его
применяют для обеспечения условия, что в столбце не будет
использоваться значение NULL
Кроме ограничений к объектам СУБД MS SQL Server 2016 относятся
триггеры, представляющие хранимые процедуры, автоматические выполняемые,
41
если в таблицы вносятся изменения. При создании триггеров используются
инструкции для обновления данных UPDATE, их вставки INSERT, а также
удаления DELETE.
В большинстве случаев триггеры СУБД MS SQL Server 2016 применяют
для задания правил ссылочной целостности данных, относящиеся к сложным
процедурам, чем правила задания декларативной ссылочной целостности DRI.
Реляционная система управления база данных MS Access 2016 является
одной самых распространенных систем компании «Microsoft» и в отличие от
предыдущих версий позволяет создать пользовательское веб-приложение,
однако для этого у него должен быть обеспечен доступ в сети Интернет.
Основными элементами реляционной СУБД MS Access 2016 являются
таблицы, запросы, формы, отчеты и макросы.
Для удобства пользователя при создании таблиц можно использовать
специальный конструктор, который позволяет задать имя поля и тип данных и
создать ключевое поле. При этом поле является наименьшим блоком данных, на
основании которого впоследствии база данных заполняется записями.
В каждой таблице должно быть обязательно задано ключевое поле,
позволяющие идентифицировать записи в таблице. В соответствии с
назначением для каждого поля выбирается соответствующий тип данных.
В реляционной СУБД MS Access 2016 предусмотрены следующие типы
данных [36]:
- короткий текст, используемый для представления в таблице базы данных
текстовой информации. Для данного типа данных устанавливается ограничение
не более 255 символов и длинный текст, для которого ограничение по
количеству символов не устанавливается;
- числовой, используемый для представления в таблице базы данных
численных значений, представленных в виде обычных целых или
действительных значений;
- дата/время, используемый для представления в таблице данных полного,
длинного, среднего и краткого форматов вывода даты и времени;
42
- денежный, используемый для представления в таблице данных
денежных единиц, как правило, в валюте той страны, для которой
разрабатывается база данных;
- счетчик, автоматически генерирующий уникальные ключи для каждой
записи;
- логический, используемый для выбора пользователем в таблице данных
значений да или нет;
- поле объекта OLE для представления в таблице данных внедряемых
объектов, к которым относятся графические, табличные и мультимедийные
данные из других приложений;
- гиперссылка, позволяет создать интерактивные переходы на источники
Интернет-ресурсов.
Для разработки интерфейса базы данных важным элементом является
форма, которая позволяет визуализировать данные созданные в таблице или
полученные с помощью запроса. В реляционной СУБД MS Access 2016 имеется
возможность создания пустой формы, с использованием конструктора или на
основании Мастера форм [21].
Кроме форм, в программе имеется возможность генерации отчетов,
которые позволяют визуализировать результирующие данные, полученные в
процессе выполнения запросов или создания сводных таблиц.
Достоинством СУБД MS Access 2016 является встроенная система защиты
компании разработчика, ее пользователь может отключить в ручном режиме.
Для разработки программного продукта основными критериями выбора
системы управления базами данных являются:
- удобство использования;
- скорость разработки приложений и работы программы.
На основании рассмотренного анализа СУБД MS SQL Server 2016 и СУБД
MS Access 2016 для разработки программного продукта выбираем СУБД MS
SQL Server 2016, поскольку она имеет больший уровень защиты данных.
43
2.3 Описание реализации системы
2.3.1 Сценарий диалога и дерево функций системы
Дерево функций информационной системы управления запасами ООО
«Оригами» рис. 2.8.
Рис. 2.8. Дерево функций информационной системы управления запасами ООО
«Оригами»
К основным функциям информационной системы управления запасами
ООО «Оригами» относятся функции «Добавить запись», «Редактировать
запись», «Удалить запись», «Обновить список».
К второстепенным функциям относятся функции «Поиск», «Очистить
поиск», «Расчет» и «Закрыть».
Приложение разрабатывалось для базы данных LocalDB SQL Server v2016
с использованием компонентов доступа Entity Framework и среды Visual Studio
2015.
LocalDB - это вариант SQL сервера, доступный в рамках SQL Server 2016
Express. Для администрирования базы данных можно использовать SQL Server
Функции
Основные
Добавить запись
Редактировать
запись
Удалить запись
Обновить список
Второстепенные
Поиск
Очистить поиск
Расчет
Закрыть
44
Management Studio, входящую в поставку Microsoft SQL Server или встроенный
инструмент в Visual Studio 2015 c аналогичной функциональностью.
ADO.NET Entity Framework (EF) — объектно-ориентированная
технология доступа к данным и относиться к object-relational mapping (ORM)
решением .NET Framework от Microsoft. Предоставляет возможность
взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и
с использованием Entity SQL. EF был установлен в проект с помощью NuGet
[33].
При написании приложения использовался подход Database First, когда
Entity Framework создаёт набор классов, которые отражают модель конкретной
базы данных [24].
В разработке используется паттерн Repository для инкапсулирования
логики работы с источниками данных и паттерн Unit of Work, который позволяет
упростить работу с репозиториями и использовать один и тот же контекст
данных. Repository используется как набор запросов к выбранной таблице БД
(паттерн DAO) [34].
Приложение, разработано как приложение с многодокументным
интерфейсом (MDI) и имеет пункт меню «Окно» с подменю для переключения
между окнами (рис. 2.9).
Рис. 2.9. Главная форма приложения
45
Главная форма приложения, информирует о том, кто работает с данным
экземпляром приложения и из какого он отделения. С помощью меню
вызываются формы для выполнения требуемых операций.
Для запуска программы пользователь проходит авторизацию, путем ввода
логина и пароля (рис. 2.10).
Рис. 2.10. Форма «Авторизация»
Для проверки введенных данных был расширен класс Employee, функцией
CheckUser, которая возвращает DTO объект EmployeeView для класса Employee.
public static EmployeeView CheckUser(string login, string psw)
{
bool res = (login.Length > 0 && psw.Length > 0) ? true : false;
if (!res)
{
throw new System.ArgumentException("Логин/пароль не могут быть
пустыми");
}
UnitOfWork uni = new UnitOfWork();
return uni.EmployeeRepository.GetListView(filter: a => a.Login == login &&
a.Password == psw).FirstOrDefault();
}
Для увеличения производительности для сложных сущностей были
созданы DTO классы, которые запрашиваются из соответствующих
репозиториев.
В приложении были разработаны классы(контроллеры) для всех
вызываемых форм, редактирующих все сущности базы данных. Контроллеры
осуществляют создание формы списка и обработку событий CRUD и
фильтрации данных. Для форм, которые созданы для обработки данных,
контроллеры не создавались, и вся обработка по созданию отчетов или расчетов
велась в коде формы [27].
Рассмотрим реализацию работы с сущностью СОТРУДНИК.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран