Проектирование, документирование и разработка информационной системы проведения закупок
Введение
В настоящее время производство различных товаров и предоставление услуг растет с каждым годом, в связи с этим увеличивается расход производственного сырья и расходных материалов. Чтобы следить за огромными потоками сырья, нужны целые отделы персонала, следовательно, нужны средства для их обеспечения, поэтому многие производства прибегают к автоматизации и компьютеризации процесса закупок.
Создание информационной системы для проведения закупок имеет огромную актуальность и важность в современном бизнесе. Можно привести несколько основных аргументов, обосновывающих актуальность:
Улучшение эффективности: ИС позволяет автоматизировать и стандартизовать процесс закупки, упрощая их выполнение и сокращая время работы с бумагами.
Прозрачность процесса закупки: такая информационная система предоставляет заказчику и поставщику возможность взаимодействовать и обмениваться информацией.
Глава 1. Анализ предметной области. 8
1.1 Анализ правового вопроса закупок. 8
1.3 Анализ существующих программных решений. 11
Глава 2. Разработка требований и выбор инструментов проектирования ИС. 16
2.1 Разработка требований к ИС.. 16
2.1.1 Функциональные требования к ИС.. 16
2.1.2 Нефункциональные требования к ИС.. 17
2.2 Выбор инструментов проектирования и разработки ИС.. 17
2.2.1 Выбор инструментов проектирования ИС.. 18
2.2.2 Выбор инструментов разработки ИС.. 20
Глава 3. Проектирование ИС. 24
3.1.1 Диаграмма прецедентов. 24
3.1.2 Диаграмма деятельности. 25
3.2 Проектирование базы данных. 29
3.3 Прототипирование пользовательского интерфейса. 29
4.1.1 Разработка пользовательского интерфейса. 32
- Виды электронных торговых площадок / Демина Нина Владимировна, Чистова Марина Валерьевна // Вестник экспертного совета. 2018. №1-2 (12-13). URL: https://cyberleninka.ru/article/n/vidy-elektronnyh-torgovyh-ploschadok (дата обращения: 01.04.2023).
- Система тендерных закупок как форма отбора конкурентных предложений / Е. Н. Инютина, С. К. Герковенко // Сборник материалов международной студенческой научно-практической конференции. 2018. – С. 39-44. URL: https://elibrary.ru/download/elibrary_35066154_49012124.htm (дата обращения: 01.04.2023)
- Федеральный закон "О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд" от 05.04.2013 N 44-ФЗ (последняя редакция).
- Федеральный закон "О закупках товаров, работ, услуг отдельными видами юридических лиц" от 18.07.2011 N 223-Ф3 (последняя редакция).
- Основы проектирования и реализации информационных систем [Электронный ресурс]: учебно-методическое пособие / Н. Н. Дацун, А. В. Отинов, Т. С. Гашева, Д. И. Власов ; Пермский государственный национальный исследовательский университет. – Электронные данные. – Пермь, 2021. – 5,78 Мб ; 132 с. – Режим доступа: http://www.psu.ru/files/docs/science/books/uchebnie-posobiya/DacunOtinov-Gasheva-Vlasov-Osnovy-roektirovaniya-i-realizaciiinformacionnyh-sistem.pdf
- Прудников В. М., Лобода А. С., Подопригора Д. О. Вопросы разработки Web-приложения" Ежедневник преподавателя": дис. – Белорусско-Российский университет, 2016.
- Удостоверяющий центр СКБ Контур: [Электронный ресурс]. URL: https://ca.kontur.ru/articles/tenders (дата обращения: 01.04.2023)
- Официальный сайт Единой информационной системы в сфере закупок: [Электронный ресурс]. URL: https://zakupki.gov.ru/ (дата обращения: 01.04.2023)
- РТС-тендер. База знаний: [Электронный ресурс]. URL: https://help.rts-tender.ru/articles (дата обращения: 01.04.2023)
- Figma — онлайн-сервис для разработки интерфейсов: [Электронный ресурс]. URL: https://www.figma.com/ (дата обращения 20.04.23)
Уязвимости в npm-пакетах могут предоставить злоумышленникам доступ к системе, выполнение нежелательного кода или обход безопасности. Это может быть вызвано уязвимостями в коде пакета, его зависимостях или устаревшими версиями пакетов, которые не содержат исправлений уязвимостей.
Для защиты от угроз, связанных с npm пакетами, применялись следующие меры:
- Проверка и выбор надежных пакетов: предпочтение отдано пакетам с активным сообществом и регулярными обновлениями;
- Обновление пакетов: регулярная проверка наличия обновлений для установленных пакетов и их зависимостей, так как обновления часто содержат исправления уязвимостей;
- Анализ уязвимостей: в npm есть встроенная команда npm audit, которая анализирует и проверяет установленные пакеты на наличие известных уязвимостей
Другим механизмом усиления безопасности ИС является - хеширование паролей. Этот механизм является не только хорошей практикой, но и позволяет скрыть исходные значения паролей в базе данных и в случае, если злоумышленник получает доступ к хранилищу данных, он не сможет прочитать и использовать пароли напрямую. Также стоит отметить, что хеширование паролей было сопровождено дополнительными мерами безопасности, такими как соль (salt) и механизмы медленного хеширования (bcrypt), ниже приведен пример использования хеш-функции:
const hashPassword = await bcrypt.hash(userDto.password, process.env.SALT || '#$%^%$#aF4x')
Следующее, что было использовано при разработке ИС - .env-файл. Он представляет собой файл конфигурации, который используется для хранения переменных окружения в приложениях. В нем можно задать различные параметры, такие как секретные ключи, аутентификационные данные, адрес и пароль для базы данных, а также другие настройки. Основная цель использования этого файла заключается в том, чтобы отделить конфиденциальные данные и настройки от исходного кода приложения. Однако, важно помнить, что данный файл нельзя выкладывать в открытый доступ, поэтому его необходимо записывать в .gitignore файл.