Представьте, что до 90% времени выполнения рутинных задач можно сократить, а операционные расходы уменьшить на 15-20%. Эти впечатляющие цифры, отражающие потенциал автоматизации бизнес-процессов, служат мощным стимулом для организаций, стремящихся к оптимизации своей деятельности. В условиях современного рынка, где скорость, точность и эффективность играют решающую роль, ручное управление потоками документов и запросов становится не просто неэффективным, но и экономически невыгодным. Именно поэтому разработка автоматизированных информационных систем (АИС), способных преобразить и ускорить ключевые бизнес-процессы, является одной из наиболее актуальных и востребованных задач в сфере информационных технологий.
Данная дипломная работа посвящена комплексному исследованию, проектированию и разработке АИС, предназначенной для автоматизации процесса формирования заявок на приобретение товаров. Она адресована студентам и аспирантам технических и экономических специальностей, стремящимся получить глубокие знания в области прикладной информатики, программной инженерии и информационных систем. Цель исследования – разработать всеобъемлющий план создания АИС, начиная от теоретических основ и методологии системного анализа, заканчивая детальным проектированием архитектуры и интерфейсов, выбором средств разработки и всесторонней экономической оценкой эффективности внедрения.
В рамках этой работы будут последовательно решены следующие задачи:
- Анализ фундаментальных понятий АИС и бизнес-процессов.
- Изучение методологий жизненного цикла разработки программного обеспечения.
- Обоснование выбора технологического стека, включая язык PHP, фреймворки и СУБД.
- Детальное проектирование базы данных и пользовательских интерфейсов.
- Разработка функциональных требований и сценариев использования.
- Описание этапов реализации и тестирования системы.
- Анализ вопросов информационной безопасности и управления доступом.
- Количественная оценка экономической целесообразности проекта.
Объектом исследования выступает сам процесс формирования заявок на приобретение товаров в корпоративной среде, а предметом – методология и практические аспекты создания автоматизированной информационной системы для его оптимизации. Структура работы последовательно проведет читателя через все этапы жизненного цикла проекта, предоставляя не только теоретические сведения, но и практические рекомендации, подкрепленные актуальными данными и методиками. Особое внимание будет уделено нюансам выбора технологий и подходов, которые зачастую остаются за рамками стандартных дипломных работ, обеспечивая уникальность и практическую ценность данного исследования.
Теоретические основы автоматизированных информационных систем и бизнес-процессов
В основе любой успешной автоматизации лежит глубокое понимание двух фундаментальных концепций: что такое информационная система и как она взаимодействует с бизнес-процессами. Этот раздел призван раскрыть эти краеугольные камни, заложить теоретический фундамент для дальнейшего проектирования нашей АИС, позволяя нам не просто создавать инструменты, но и формировать полноценные экосистемы, трансформирующие организацию.
Понятие, цели и функции автоматизированных информационных систем (АИС)
Когда мы говорим об автоматизированной информационной системе, мы имеем в виду не просто набор программ и компьютеров, а организованную совокупность программно-аппаратных средств, объединенных информационными потоками, предназначенную для сбора, хранения, обработки и выдачи информации с целью автоматизации различных процессов. Это своего рода нервная система организации, где каждый импульс (данные) обрабатывается и направляется к нужной точке для принятия решений или выполнения действий.
Исторически АИС возникли из потребности человека упорядочить и ускорить рутинные операции, масштабировать обработку данных, которая вручную становилась слишком трудоемкой или вовсе невозможной. Их внедрение преследует ряд стратегических целей:
- Повышение эффективности управления: Предоставляя актуальные и точные данные, АИС позволяет руководству принимать обоснованные и своевременные решения.
- Ускорение бизнес-процессов: Автоматизация исключает задержки, связанные с ручным вводом, обработкой и передачей информации, значительно сокращая время выполнения задач.
- Снижение затрат: Оптимизация процессов и уменьшение человеческого фактора ведут к экономии ресурсов, снижению вероятности ошибок и, как следствие, уменьшению расходов.
- Обеспечение информационной безопасности: Централизованное хранение и обработка данных позволяет применять комплексные меры защиты, контролировать доступ и минимизировать риски утечек.
- Повышение качества услуг и продукции: Благодаря точности данных и отлаженным процессам, АИС способствует улучшению конечного результата деятельности организации.
- Поддержка принятия решений: Системы могут генерировать аналитические отчеты, прогнозы и рекомендации, становясь мощным инструментом для стратегического планирования.
Функционально АИС выполняют ряд ключевых операций. Они включают:
- Обработку данных: Это может быть сортировка, фильтрация, агрегирование информации, расчеты и преобразования.
- Управление данными: Обеспечение целостности, непротиворечивости и актуальности хранимых сведений, резервное копирование и восстановление.
- Аналитическую обработку: Формирование отчетов, дашбордов, проведение статистического анализа и построение прогнозов для выявления тенденций и закономерностей.
- Обеспечение доступа пользователей: Предоставление авторизованного доступа к информации в соответствии с ролями и правами, удобный интерфейс для взаимодействия с системой.
Таким образом, АИС — это не просто инструмент, а комплексная экосистема, призванная трансформировать организацию, делая ее более адаптивной, эффективной и конкурентоспособной. Это означает, что инвестиции в АИС — это не просто расходы, а стратегические вложения в будущее компании, обеспечивающие долгосрочное преимущество на рынке.
Бизнес-процессы: определение, компоненты и принципы автоматизации
Каждая организация, будь то крупная корпорация или небольшой стартап, представляет собой набор бизнес-процессов – совокупности взаимосвязанных задач и мероприятий, направленных на достижение определенной цели или результата. Это повторяющаяся последовательность действий, которая преобразует входные ресурсы в ценный конечный продукт или услугу для внутреннего или внешнего клиента. Например, процесс найма нового сотрудника, процесс обработки заказа клиента или, как в нашем случае, процесс формирования заявки на приобретение товаров.
Любой бизнес-процесс можно разложить на несколько основных компонентов:
- Входные данные (ресурсы): Информация, материалы, люди, оборудование, которые необходимы для начала процесса. Например, запрос на закупку от отдела.
- Выполняемые действия (операции): Последовательность шагов, преобразований или решений, которые приводят к изменению состояния входных данных. Например, заполнение формы, согласование с руководителем, отправка в отдел закупок.
- Выходные данные (результат или продукт): Конечный результат процесса, который имеет ценность для следующего этапа или для конечного потребителя. Например, утвержденная заявка или выполненная закупка.
Автоматизация бизнес-процессов – это применение информационных технологий для выполнения рутинных, повторяющихся задач, которые ранее выполнялись человеком. Цель такой автоматизации — не просто перевести процесс в цифру, а существенно повысить его эффективность.
Преимущества автоматизации трудно переоценить. Статистика подтверждает:
- Сокращение времени выполнения задач до 90%: Задачи, требующие ручного ввода данных, пересылки документов и согласований, могут быть выполнены почти мгновенно благодаря системе.
- Снижение операционных расходов на 15-20%: Уменьшение трудозатрат, снижение количества ошибок и оптимизация использования ресурсов напрямую влияют на финансовые показатели.
- Уменьшение количества ошибок: Человеческий фактор является основной причиной ошибок; автоматизированные системы минимизируют этот риск.
- Высвобождение рабочего времени: Сотрудники освобождаются от рутины и могут сосредоточиться на более сложных, аналитических и творческих задачах, требующих интеллектуального подхода.
- Повышение прозрачности и контролируемости: Все этапы процесса фиксируются в системе, что обеспечивает полную видимость и возможность аудита.
Таким образом, понимание структуры бизнес-процессов и потенциала их автоматизации является ключом к успешному проектированию АИС, способной принести реальную ценность организации.
Сущность и жизненный цикл заявки в контексте АИС
В сердце нашей автоматизированной системы лежит понятие заявки. В контексте АИС заявка представляет собой документ, содержащий сведения и требующий обработки в системе. Это не просто бумажка или электронное письмо; это структурированный запрос, инициирующий определенный бизнес-процесс. Для системы по приобретению товаров, заявка – это запрос на покупку определенных позиций, будь то офисные принадлежности, программное обеспечение или новое оборудование.
Типичная электронная форма заявки в АИС проектируется таким образом, чтобы максимально полно и однозначно собрать необходимую информацию. Она может включать:
- Стандартные поля:
- Наименование: Краткое название заявки (например, «Заявка на канцтовары»).
- Дата создания: Автоматически генерируемая дата и время подачи заявки.
- Статус: Текущее состояние заявки (например, «Новая», «На согласовании», «Утверждена», «Отклонена», «Выполнена»).
- Ответственный исполнитель: Сотрудник или отдел, ответственный за обработку или выполнение заявки.
- Инициатор: Пользователь, создавший заявку.
- Переменные поля для детализации запроса:
- Предмет заявки: Конкретные товары или услуги (например, «Бумага А4», «Лицензия на ПО»).
- Описание проблемы/потребности: Подробное обоснование необходимости приобретения.
- Количество: Требуемое количество каждого предмета.
- Предполагаемая стоимость: Оценочная стоимость.
- Прикрепленные документы: Счета, коммерческие предложения, технические спецификации.
- Срочность: Уровень приоритета заявки (например, «Обычная», «Срочная», «Критическая»).
Жизненный цикл заявки в АИС – это последовательность состояний и переходов, отражающих процесс её обработки. В системе Requisition, например, заявка проходит через следующие ключевые этапы:
- Создание: Пользователь (инициатор) заполняет электронную форму.
- Отправка на согласование: Заявка передается на рассмотрение ответственному лицу (например, руководителю отдела или финансовому директору).
- Согласование/Отклонение: Руководитель рассматривает заявку.
- Если согласовано, заявка переходит на следующий этап (например, в отдел закупок).
- Если отклонено, заявка возвращается инициатору с указанием причины или архивируется.
- Выполнение: Отдел закупок обрабатывает заявку, осуществляет покупку.
- Закрытие/Архивирование: После успешного выполнения или окончательного отклонения заявка переходит в архив.
На каждом этапе фиксируются важные данные: дата и время перехода, имя пользователя, принявшего решение, комментарии. Это обеспечивает прозрачность, отслеживаемость и возможность последующего анализа. Гибкость системы позволяет настроить переменный объем полей и этапов согласования, адаптируя ее к уникальным потребностям конкретной организации, что является критически важным для успешного внедрения и принятия пользователями.
Методологии системного анализа и жизненный цикл разработки программного обеспечения
Разработка любой сложной информационной системы начинается не с написания кода, а с глубокого анализа и выбора правильного пути. Этот путь, или жизненный цикл разработки программного обеспечения (ЖЦРПО), определяет последовательность этапов, которые проект проходит от зарождения идеи до ее полного воплощения и эксплуатации. Понимание различных методологий ЖЦРПО критически важно для успешного управления проектом и достижения поставленных целей.
Жизненный цикл разработки программного обеспечения (ЖЦРПО): основные этапы
Жизненный цикл разработки программного обеспечения (ЖЦРПО) — это систематический подход, описывающий, как создавать ПО, соответствующее стандартам качества и требованиям безопасности. Это дорожная карта, которая позволяет команде проекта двигаться к цели структурированно и предсказуемо. Основные этапы ЖЦРПО, применимые к большинству проектов, включают:
- Планирование (Planning):
- Цель: Определение общего видения проекта, его целей, рамок и осуществимости.
- Детали: На этом этапе происходит сбор высокоуровневых требований, оценка рисков, определение бюджета, сроков и необходимых ресурсов (команды, оборудования). Формируется технико-экономическое обоснование, которое доказывает целесообразность проекта.
- Анализ и проектирование (Analysis and Design):
- Цель: Детальное изучение требований пользователей и системы, а также разработка архитектуры и дизайна будущей системы.
- Детали:
- Анализ: Сбор и уточнение функциональных и нефункциональных требований, создание диаграмм бизнес-процессов, определение сущностей и их взаимосвязей (например, с помощью ER-диаграмм).
- Проектирование: Разработка общей архитектуры системы (например, клиент-серверной), проектирование базы данных (структура таблиц, индексы), проектирование пользовательского интерфейса (UI/UX), модулей и алгоритмов. Создание детальных спецификаций для каждого компонента.
- Реализация (Implementation/Development):
- Цель: Написание программного кода на основе разработанных спецификаций и дизайна.
- Детали: Программисты пишут код, используя выбранный язык программирования (PHP) и фреймворки. Этот этап также включает модульное тестирование – проверку работоспособности отдельных частей кода.
- Тестирование (Testing):
- Цель: Обнаружение и исправление ошибок, обеспечение соответствия системы требованиям.
- Детали: Проведение различных видов тестирования:
- Модульное тестирование: Проверка отдельных компонентов.
- Интеграционное тестирование: Проверка взаимодействия между модулями.
- Системное тестирование: Проверка системы в целом на соответствие требованиям.
- Приемочное тестирование: Проверка пользователями на соответствие бизнес-потребностям.
- Внедрение и развертывание (Deployment):
- Цель: Установка и запуск программного обеспечения в рабочей среде.
- Детали: Установка системы на серверы, настройка баз данных, обновление клиентских приложений, обучение конечных пользователей и предоставление им доступа.
- Эксплуатация и поддержка (Maintenance):
- Цель: Обеспечение бесперебойной работы системы, устранение новых ошибок, внесение улучшений и обновлений.
- Детали: Постоянный мониторинг производительности, техническая поддержка пользователей, исправление обнаруженных дефектов, выпуск обновлений, доработка функционала в соответствии с меняющимися требованиями бизнеса.
Каждый из этих этапов критически важен, и пропуск или некачественное выполнение одного из них может привести к серьезным проблемам на последующих стадиях, увеличивая стоимость и сроки проекта. В чем же скрытый риск при игнорировании, например, этапа проектирования?
Сравнительный анализ моделей Waterfall и Agile
Выбор методологии разработки ПО — одно из ключевых решений на этапе планирования проекта. Две наиболее известные и полярные модели ЖЦРПО — это Водопадная (Waterfall) модель и Гибкая методология (Agile).
Водопадная (Waterfall) модель — это классический, строго упорядоченный линейный процесс, где каждая фаза начинается только после полного завершения предыдущей. Поток работ «падает» вниз, как водопад, не возвращаясь назад.
- Преимущества Waterfall-модели:
- Структурированность и предсказуемость: Четко определенные этапы, требования фиксируются в начале проекта, что позволяет точно планировать сроки и бюджет.
- Минимальное расширение охвата проекта (Scope Creep): Поскольку требования зафиксированы, изменения в процессе проекта затруднены, что предотвращает «расползание» функционала.
- Простота управления: Подходит для проектов с хорошо определенн��ми и стабильными требованиями, где изменения маловероятны.
- Подходит для критически важных систем: В областях, где безопасность и точность являются приоритетом, например, в медицине или аэрокосмической промышленности.
- Недостатки Waterfall-модели:
- Негибкость: Крайне сложно и дорого вносить изменения после завершения фазы. Если требования изменились в середине проекта, это может привести к значительным переработкам.
- Позднее обнаружение ошибок: Большинство ошибок выявляются только на этапе тестирования, когда их исправление обходится дороже всего.
- Низкое участие заказчика: Заказчик активно участвует только на начальных этапах сбора требований и на конечном этапе приемки.
- Длительные сроки: Проект может затянуться из-за последовательного выполнения этапов.
Гибкая методология (Agile), напротив, представляет собой итеративную разработку с непрерывным участием заказчика. Она фокусируется на людях, продукте, сотрудничестве и гибкости, поощряя непрерывное совершенствование и способность быстро реагировать на изменения. Проект разбивается на короткие итерации (спринты), обычно от 1 до 4 недель, в конце каждой из которых выпускается рабочая версия продукта.
- Преимущества Agile-методологии:
- Гибкость и адаптивность: Легко вносить изменения в требования на любом этапе проекта, что особенно полезно для проектов с неопределенными или часто меняющимися требованиями.
- Высокое участие заказчика: Заказчик регулярно получает рабочие версии продукта и предоставляет обратную связь, что обеспечивает соответствие продукта его ожиданиям.
- Раннее обнаружение ошибок: Непрерывное тестирование и обратная связь помогают выявлять и исправлять ошибки на ранних стадиях.
- Быстрое получение рабочего продукта: Клиент начинает получать работающий функционал уже после первых итераций.
- Повышение удовлетворенности команды: Более высокая мотивация команды благодаря видимым результатам и возможности влиять на процесс.
- Недостатки Agile-методологии:
- Требует высокой дисциплины и самоорганизации команды: Без четких правил может возникнуть хаос.
- Сложность в оценке сроков и бюджета: Из-за гибкости требований бывает сложно предсказать финальный объем работ.
- Интенсивное взаимодействие: Требует постоянного общения между командой и заказчиком.
- Может не подходить для небольших проектов: Избыточность процессов для очень маленьких команд.
Основное отличие между Waterfall и Agile заключается в подходе к разработке и управлению проектом: Waterfall придерживается строгого линейного процесса, тогда как Agile обеспечивает гибкость и адаптивность.
Для разработки АИС по формированию заявок, особенно если требования могут меняться в процессе или если необходимо быстро получить работающий прототип, Agile-подход (например, Scrum) будет предпочтительнее. Он позволит оперативно реагировать на обратную связь от будущих пользователей, постепенно наращивать функционал и гарантировать, что итоговая система будет максимально соответствовать реальным потребностям бизнеса. Внедрение АИС часто сопряжено с изменением устоявшихся бизнес-процессов, поэтому итеративный подход, позволяющий постоянно корректировать и улучшать систему, становится критически важным.
Выбор и обоснование технологического стека для АИС
Выбор правильного технологического стека – это фундамент, на котором будет строиться вся автоматизированная информационная система. Это решение определяет не только возможности и производительность системы, но и легкость её поддержки, масштабирования и безопасности. Для нашей АИС по формированию заявок на приобретение товаров, мы сфокусируемся на веб-ориентированных решениях, что естественным образом приводит к выбору PHP в качестве основного языка программирования.
Язык программирования PHP: характеристики и применение
PHP (Hypertext Preprocessor) — это один из первых и самых популярных языков программирования веб-скриптов с открытым исходным кодом, который сыграл ключевую роль в формировании современного Интернета. Его история насчитывает более двух десятилетий, и за это время он эволюционировал из простого инструмента для создания динамических веб-страниц в мощную платформу для разработки сложных корпоративных приложений.
По состоянию на октябрь 2025 года, согласно данным W3Techs, PHP используется 77,5% всех веб-сайтов, чей язык программирования на стороне сервера известен. Эта цифра говорит о его невероятной распространенности и актуальности. Такой охват не случаен и обусловлен рядом выдающихся характеристик:
- Гибкость: PHP легко интегрируется с HTML, позволяет смешивать код и разметку, а также поддерживает различные архитектурные паттерны. Он может использоваться как для небольших скриптов, так и для массивных проектов.
- Многократное использование: Благодаря богатой экосистеме библиотек, фреймворков и готовых решений, многие компоненты могут быть повторно использованы, что ускоряет разработку.
- Масштабируемость: PHP-приложения могут быть эффективно масштабированы для обработки больших нагрузок, что важно для корпоративных систем с множеством пользователей.
- Безопасность: С каждой новой версией PHP получает улучшения в области безопасности, а современные фреймворки предоставляют встроенные механизмы защиты от распространенных веб-уязвимостей.
- Открытый исходный код и обширное сообщество: PHP является открытым проектом, что означает бесплатное использование, постоянное развитие и наличие огромного сообщества разработчиков, готовых оказать поддержку.
- Производительность: Современные версии PHP (например, PHP 8.x) демонстрируют значительно улучшенную производительность по сравнению с предыдущими, что делает его конкурентоспособным решением для высоконагруженных систем.
Применение PHP интенсивно распространяется на разработку веб-приложений любого масштаба – от простых блогов и визиток до сложных интернет-магазинов, социальных сетей, CRM-систем и, конечно, автоматизированных информационных систем. Его способность взаимодействовать с различными базами данных, работать на разных операционных системах и поддерживаться большинством веб-серверов делает его универсальным выбором для бэкенд-разработки.
Для нашей АИС по формированию заявок, PHP будет служить основой для серверной логики, обработки данных, взаимодействия с базой данных и формирования динамического контента, обеспечивая надежную и эффективную работу системы.
Сравнительный анализ PHP-фреймворков (Symfony, Laravel, Yii2)
Разработка сложной АИС «с нуля» на чистом PHP — задача трудоемкая и не всегда оправданная. На помощь приходят PHP-фреймворки – наборы готовых компонентов, библиотек и правил, которые ускоряют разработку, стандартизируют код и повышают его качество. Наиболее популярные PHP-фреймворки, зарекомендовавшие себя в индустрии, включают Symfony, Laravel и Yii2.
Все три фреймворка строятся на архитектурном паттерне MVC (Model-View-Controller), который разделяет приложение на три взаимосвязанных компонента:
- Model (Модель): Отвечает за логику данных, взаимодействие с базой данных.
- View (Представление): Отвечает за отображение данных пользователю (UI).
- Controller (Контроллер): Обрабатывает пользовательский ввод, взаимодействует с моделью и представлением.
Рассмотрим каждый из них подробнее:
- Symfony:
- Особенности: Symfony — мощный и гибкий фреймворк, разработанный с 2005 года. Он является набором переиспользуемых PHP-компонентов, которые могут быть использованы как по отдельности, так и в составе фреймворка.
- Преимущества: Высокая модульность, стабильность, строгие стандарты кодирования, отличная документация, развитое сообщество. Идеален для создания крупных и сложных корпоративных веб-приложений, требующих долгосрочной поддержки. Многие другие фреймворки (включая Laravel) используют компоненты Symfony.
- Недостатки: Крутая кривая обучения для новичков, может показаться избыточным для небольших проектов.
- Laravel:
- Особенности: Laravel, появившийся в 2011 году, быстро завоевал популярность благодаря своей элегантности, выразительному синтаксису и обширному набору встроенных инструментов. Он считается одним из самых простых PHP-фреймворков в освоении.
- Преимущества: Предоставляет встроенные инструменты для управления базами данных (Eloquent ORM), аутентификации и авторизации (Breeze, Jetstream), маршрутизации, очередей, кэширования. Обширная экосистема (Forge, Vapor, Nova) и активное сообщество. Ускоряет разработку за счет множества «готовых» решений.
- Недостатки: Может быть менее производительным на очень высоких нагрузках по сравнению с Yii2, менее гибкий в архитектуре по сравнению с чистым Symfony-компонентным подходом.
- Yii2:
- Особенности: Yii (акроним от «Yes, It Is!») — высокопроизводительный, компонентный PHP-фреймворк, оптимизированный для быстрой разработки. Он появился в 2008 году, а вторая версия (Yii2) была выпущена в 2014 году. Он популярен в русскоязычной среде и ориентирован на генерацию HTML и работу с формами.
- Преимущества: Высокая производительность, строгая структура, наличие обширной русскоязычной документации и сообщества. Отлично подходит для разработки высокопроизводительных веб-приложений и REST API. Предоставляет мощные инструменты для работы с формами, ActiveRecord, кэширования.
- Недостатки: Менее гибкий в плане настройки, чем Symfony, и менее «дружелюбный» для новичков, чем Laravel. В последние годы демонстрирует менее динамичный рост популярности по сравнению с Laravel, хотя в РФ по-прежнему сильны его позиции.
Выбор для текущего проекта:
Для разработки АИС по формированию заявок, где важна высокая производительность, строгая структура, а также возможность быстрой разработки и интеграции, Yii2 представляется оптимальным выбором. Его популярность в русскоязычной среде обеспечит доступ к обширным ресурсам и поддержке, а ориентация на генерацию HTML и работу с формами идеально подходит для системы, центральным элементом которой являются электронные заявки. Кроме того, высокая производительность Yii2 будет преимуществом при обработке большого количества заявок и пользователей в корпоративной среде.
Системы управления базами данных (СУБД): выбор MySQL
Любая информационная система, которая работает с данными, требует эффективного способа их хранения, организации и извлечения. Именно здесь на сцену выходит Система управления базами данных (СУБД) — комплекс программно-языковых средств, позволяющих создавать базы данных и управлять данными. СУБД выступает в роли «прослойки» между самой базой данных и пользовательскими запросами, выполняя функции, критически важные для целостности и доступности информации.
Основные функции СУБД включают:
- Создание и удаление баз данных: Управление жизненным циклом структур хранения данных.
- Изменение структуры данных: Добавление, удаление, изменение таблиц, полей, индексов.
- Фильтрация и поиск элементов: Эффективное извлечение нужных данных по заданным критериям.
- Обеспечение целостности данных: Поддержание согласованности и корректности информации, предотвращение противоречий.
- Резервное копирование и восстановление: Защита от потери данных и возможность их восстановления после сбоев.
- Управление доступом: Аутентификация пользователей, разграничение прав на чтение, запись, изменение данных.
Среди множества существующих СУБД, таких как Oracle, Microsoft SQL Server, PostgreSQL, для нашей веб-ориентированной АИС наиболее подходящим и широко используемым решением является MySQL.
Обоснование выбора MySQL:
- Распространенность и популярность: MySQL является одной из наиболее популярных реляционных СУБД в мире, занимая лидирующие позиции в веб-разработке и применяясь такими гигантами, как Facebook, Twitter и YouTube. По состоянию на октябрь 2025 года, она продолжает оставаться стандартом де-факто для большинства веб-приложений.
- Бесплатность и открытый исходный код: MySQL доступна бесплатно, что значительно снижает общие затраты на проект, особенно важно для дипломной работы.
- Совместимость с PHP: MySQL и PHP образуют классическую связку LAMP (Linux, Apache, MySQL, PHP), которая является основой для миллионов веб-сайтов и приложений, обеспечивая отличную совместимость и производительность.
- Масштабируемость: MySQL способна обрабатывать большие объемы данных и высокие нагрузки, что критично для корпоративной АИС, где количество заявок и пользователей может постоянно расти.
- Поддержка различных интерфейсов: СУБД поддерживает как текстовый (консольный), так и графический интерфейс (например, phpMyAdmin, MySQL Workbench), что упрощает администрирование.
- Механизмы безопасности: В MySQL встроены механизмы аутентификации, шифрования данных и детального разграничения прав доступа, что соответствует требованиям информационной безопасности.
- Активное сообщество и документация: Огромное количество ресурсов, документации, форумов и специалистов, работающих с MySQL, упрощает поиск решений и поддержку.
Таким образом, выбор MySQL для нашей АИС является обоснованным с точки зрения функциональности, стоимости, производительности и совместимости с остальным технологическим стеком.
Веб-серверы и интегрированные среды разработки (IDE)
После выбора языка программирования и СУБД необходимо определить, как будет работать наше веб-приложение и в чем будет вестись его разработка. Здесь ключевую роль играют веб-серверы и интегрированные среды разработки (IDE).
Веб-серверы:
По сути, веб-сервер — это компьютер, который хранит файлы сайта (HTML, CSS, JS, изображения) и доставляет их на устройство конечного пользователя. Однако этим термином также называют программное обеспечение, которое управляет данными и доставляет их пользователям на веб-браузер, используя HTTP-протоколы. Для динамических веб-приложений, таких как наша АИС, веб-сервер выполняет гораздо более сложную роль: он обрабатывает запросы, запускает скрипты на стороне сервера (например, PHP-код), взаимодействует с базой данных и только затем формирует ответ для браузера пользователя.
Типичный динамический веб-сервер состоит из:
- Статического веб-сервера: Отвечает за отдачу статических файлов (изображения, стили, скрипты).
- Сервера приложений: Выполняет динамический код (PHP-скрипты) и генерирует динамический контент.
- Базы данных: Хранит и управляет информацией.
Наиболее популярными веб-серверами являются Apache и Nginx:
- Apache HTTP Server: Один из старейших и наиболее широко используемых веб-серверов. Отличается гибкостью конфигурации, модульной архитектурой и большим количеством поддерживаемых модулей. Отлично подходит для большинства PHP-приложений.
- Nginx (Engine-X): Более современный и высокопроизводительный веб-сервер, который часто используется как обратный прокси-сервер или для обслуживания статического контента. Известен своей способностью обрабатывать большое количество одновременных соединений с низким потреблением ресурсов.
Для нашей АИС, особенно с учетом использования PHP и СУБД MySQL, оптимальным выбором будет Apache. Он прекрасно интегрируется с PHP через модуль mod_php или через FastCGI, обеспечивает надежную работу и имеет богатую документацию. Nginx также может быть использован, часто в связке с PHP-FPM для повышения производительности.
Интегрированные среды разработки (IDE):
IDE — это программное обеспечение, которое предоставляет разработчикам полный набор инструментов для создания программного обеспечения в одном месте. Для PHP-разработки существует несколько отличных IDE:
- PhpStorm: Считается одной из наиболее мощных и функциональных IDE для PHP.
- Преимущества: Поддержка последних версий PHP, всех популярных PHP-фреймворков (Symfony, Laravel, Yii2), глубокая интеграция с системами контроля версий (Git), мощные инструменты отладки, статического анализа кода, рефакторинга и тестирования. Предоставляет умное автодополнение, подсветку синтаксиса, навигацию по коду.
- Недостатки: Платная лицензия.
- NetBeans: Бесплатная IDE с хорошей поддержкой PHP, Java, HTML/CSS/JavaScript. Имеет встроенный отладчик и инструменты для работы с базами данных.
- Eclipse PDT (PHP Development Tools): Расширение для универсальной IDE Eclipse, предоставляющее функционал для PHP-разработки. Бесплатна, но может быть сложнее в настройке.
- Visual Studio Code (VS Code): Легковесный, но очень мощный редактор кода от Microsoft с огромным количеством расширений, превращающих его в полноценную IDE для PHP (и не только). Бесплатен и кроссплатформен.
- Sublime Text: Быстрый и минималистичный текстовый редактор с функциями IDE при установке соответствующих плагинов.
Для разработки нашей АИС, учитывая ее сложность и необходимость в эффективной отладке и поддержке кода, PhpStorm является наиболее предпочтительным выбором. Его мощные функции значительно ускорят процесс разработки, помогут поддерживать высокое качество кода и упростят работу с фреймворком Yii2. Для бюджетного варианта или при освоении, VS Code с соответствующими расширениями также будет отличным решением.
Проектирование архитектуры инфор��ационной системы и пользовательских интерфейсов
Эффективность и удобство АИС напрямую зависят от качества ее проектирования. Этот раздел посвящен двум ключевым аспектам: разработке надежной и структурированной базы данных и созданию интуитивно понятного пользовательского интерфейса. Эти элементы – не просто технические детали, а критически важные факторы, определяющие, насколько успешно система будет принята пользователями и сможет ли она эффективно поддерживать бизнес-процессы.
Проектирование базы данных: нормализация и ER-моделирование
Сердцем любой информационной системы является ее база данных. От того, насколько грамотно она спроектирована, зависит производительность, целостность и масштабируемость всей АИС. Два фундаментальных подхода к проектированию БД – это нормализация и ER-моделирование.
Нормализация базы данных — это методика организации таблиц и их столбцов таким образом, чтобы обеспечить целостность данных, устранить избыточность и несогласованность, а также повысить эффективность обслуживания и обновления. Этот процесс включает декомпозицию (разделение) больших таблиц на более мелкие логические единицы.
Процесс нормализации проходит через несколько нормальных форм (НФ), каждая из которых накладывает дополнительные ограничения на структуру таблицы. База данных считается нормализованной после достижения третьей нормальной формы, что является общепринятым стандартом для большинства бизнес-приложений.
Рассмотрим первые три нормальные формы:
- Первая нормальная форма (1НФ):
- Требования:
- Каждая таблица не должна содержать повторяющиеся группы столбцов (например,
товар1,количество1,товар2,количество2). Вместо этого каждая повторяющаяся сущность должна быть в отдельной строке. - Все столбцы должны содержать атомарные (неделимые) значения. Например, поле «Адрес» должно быть разделено на «Улица», «Дом», «Город».
- Каждая строка должна быть уникальна и однозначно идентифицироваться первичным ключом.
- Каждая таблица не должна содержать повторяющиеся группы столбцов (например,
- Пример: Таблица «Заявки» с полями «Наименование товара 1», «Количество 1», «Наименование товара 2», «Количество 2» нарушает 1НФ. Для соблюдения 1НФ следует создать отдельную таблицу «Позиции заявки», где каждая позиция товара в заявке будет отдельной строкой.
- Требования:
- Вторая нормальная форма (2НФ):
- Требования:
- Таблица должна находиться в первой нормальной форме (1НФ).
- Каждый неключевой атрибут должен быть полностью функционально зависим от первичного ключа. Это означает, что не должно быть частичных зависимостей, когда неключевой атрибут зависит только от части составного первичного ключа.
- Пример: Если у нас есть таблица
[ЗаявкиПозиции]с составным первичным ключом[ID_Заявки, ID_Товара], и в этой таблице есть полеНазвание_Товара, которое зависит только отID_Товара, а не отID_Заявки, то это нарушает 2НФ.Название_Товарадолжно быть вынесено в отдельную таблицу[Товары].
- Требования:
- Третья нормальная форма (3НФ):
- Требования:
- Таблица должна находиться во второй нормальной форме (2НФ).
- Не должно быть транзитивных зависимостей: каждый неключевой атрибут должен быть независим от других неключевых атрибутов. Другими словами, неключевые атрибуты должны зависеть только от первичного ключа, а не от других неключевых атрибутов.
- Пример: В таблице
[Заявки]есть поляID_ОтделаиНазвание_Отдела. ЕслиНазвание_Отделазависит отID_Отдела, аID_Отделане является первичным ключом, то это транзитивная зависимость.Название_Отделаследует вынести в отдельную таблицу[Отделы], а в таблице[Заявки]оставить толькоID_Отдела.
- Требования:
ER-диаграмма (диаграмма «сущность-связь») — это графическое представление данных и их взаимосвязей, используемое в процессе проектирования баз данных. Она позволяет визуализировать структуру БД до ее физической реализации, что значительно упрощает понимание и обсуждение архитектуры. ER-диаграмма является краеугольным камнем для проектирования и отладки реляционных баз данных.
Компоненты ER-диаграммы:
- Сущности: Объекты или концепции, о которых хранится информация (например, «Заявка», «Товар», «Пользователь», «Отдел»). Обычно изображаются в виде прямоугольников.
- Атрибуты: Свойства или характеристики сущностей (например, для сущности «Заявка» это «Дата создания», «Статус»). Изображаются как овалы, прикрепленные к сущностям.
- Связи: Взаимоотношения между сущностями (например, «Пользователь создает Заявку», «Заявка содержит Товар»). Изображаются как ромбы или просто линии, соединяющие сущности.
Уровни детализации ER-моделей:
- Концептуальная модель: Высокоуровневое представление общей структуры данных, фокусируется на основных сущностях и их связях, без технических деталей.
- Логическая модель: Более подробная модель, включающая все операционные сущности, их атрибуты (с указанием типов данных) и типы связей (один-ко-многим, многие-ко-многим). Она независима от конкретной СУБД.
- Физическая модель: Самая детальная модель, содержащая все технические подробности, необходимые для внедрения БД в конкретной СУБД (имена таблиц, типов столбцов, первичные и внешние ключи, индексы, ограничения).
Использование нормализации и ER-моделирования в тандеме позволяет создать надежную, эффективную и легко поддерживаемую базу данных для нашей АИС, которая будет служить прочным фундаментом для всей системы.
Принципы и подходы к проектированию пользовательского интерфейса (UI/UX) для корпоративных систем
Внешний вид и ощущение от взаимодействия с системой — это не просто эстетика, а важнейший фактор, определяющий ее успех. Проектирование пользовательского интерфейса (UI) и пользовательского опыта (UX) для корпоративных систем имеет свои особенности и критически важно для принятия системы сотрудниками. Удобный и интуитивно понятный UI/UX дизайн корпоративных систем напрямую влияет на продуктивность сотрудников, снижая время на обучение и выполнение рутинных операций, а также повышая уровень их удовлетворенности и принятия системы. Отсутствие удобства может привести к сопротивлению пользователей, низкой вовлеченности и ошибкам в работе, порой даже к «саботажу».
Ключевые принципы UI/UX дизайна, которые должны лежать в основе нашей АИС:
- Удобство и интуитивность: Система должна быть легкой в освоении и использовании. Пользователи должны без труда понимать, как выполнять задачи, даже если они работают с системой впервые.
- Простота: Избегайте избыточной информации и сложных путей. Каждая функция должна быть легкодоступна.
- Предоставление обратной связи: Система должна всегда информировать пользователя о статусе его действий (например, «Заявка успешно создана», «Ошибка при сохранении»).
- Минимизация когнитивной нагрузки: Снижение количества информации, которую пользователю нужно держать в уме, и шагов, которые нужно выполнить. Использование стандартных элементов и паттернов, к которым пользователи привыкли.
- Согласованность (консистентность): Единый стиль, терминология, расположение элементов и логика взаимодействия во всей системе. Если кнопка «Сохранить» находится справа внизу на одной форме, она должна быть там же на всех аналогичных формах.
- Предотвращение ошибок: Дизайн должен минимизировать вероятность совершения ошибок пользователем. Например, подтверждение удаления, валидация полей ввода.
- Возможность отмены действий: Пользователь должен иметь возможность легко отменить последнее действие (например, кнопка «Отменить» или функция «Вернуться назад»).
- Контроль пользователя: Система должна давать пользователю ощущение контроля над процессом, а не наоборот.
Особенности проектирования для внутренних (корпоративных) систем:
В отличие от внешних сайтов, где цель часто состоит в привлечении и удержании внимания, в корпоративных системах главное – эффективность и продуктивность.
- Функциональность важнее «красоты»: Хотя современный дизайн важен, он не должен идти в ущерб скорости выполнения задач.
- Снижение времени на обучение: Новые сотрудники должны быстро осваивать систему. Хороший UI/UX минимизирует необходимость в долгих инструктажах.
- Предотвращение саботажа: Если система неудобна, пользователи будут искать обходные пути или игнорировать ее, что подорвет всю идею автоматизации.
Рекомендации по проектированию форм ввода данных (для заявок):
- Разбивайте на несколько шагов: Если форма длинная, разделите ее на логические блоки или вкладки.
- Используйте автозаполнение: Для полей, где возможны стандартные значения (например, список товаров, подразделений).
- Предоставляйте подсказки и валидаторы: Четкие сообщения об ошибках и подсказки по заполнению.
- Скрывайте ненужные поля: Отображайте поля динамически, только когда они становятся актуальными.
- Визуальная иерархия: Важные элементы должны быть более заметны.
Чего следует избегать:
- Нелогичности пути пользователя.
- Отсутствия консистентности в дизайне.
- Прерывания пути пользователя (например, неожиданными всплывающими окнами, которые отвлекают от текущей задачи).
- Неинформативной обратной связи или её отсутствия.
- Избыточной информации на одном экране.
Современные тренды в UI/UX для CRM-систем в B2B-сегменте (применимо к АИС заявок):
- Минимализм: Чистый, простой дизайн, фокусирующийся на контенте и функциональности.
- Адаптивный дизайн: Корректное отображение и функционирование на различных устройствах (десктопы, планшеты, мобильные телефоны).
- Интерактивные дашборды: Визуализация ключевых метрик и статусов в виде графиков и диаграмм для быстрого принятия решений.
- Персонализированные решения: Возможность настройки интерфейса под индивидуальные потребности пользователя или роли.
Применяя эти принципы, мы сможем создать АИС для заявок, которая будет не только функциональной, но и приятной в использовании, способствуя высокой продуктивности и удовлетворенности сотрудников.
Разработка функциональных требований и сценариев использования АИС
После того как определены теоретические основы и принципы проектирования, следующим шагом становится конкретизация того, что именно должна делать система. Этот этап включает разработку функциональных требований и проектирование пользовательских сценариев использования (Use Cases). Это своего рода «техническое задание» для разработчиков, описывающее, какие задачи система будет решать и как пользователи будут с ней взаимодействовать.
Функциональные требования – это описание функций, которые система должна выполнять. Для АИС формирования заявок на приобретение товаров эти требования будут включать:
- Модуль управления заявками:
- Создание заявки: Пользователь должен иметь возможность создать новую заявку, заполнив все необходимые поля (наименование, описание, список товаров, количество, срок и т.д.).
- Редактирование заявки: Возможность изменять поля заявки до момента ее отправки на согласование или на определенных этапах согласования (для инициатора).
- Просмотр списка заявок: Отображение всех заявок с возможностью фильтрации по статусу, дате, инициатору и другим параметрам.
- Детализация заявки: Просмотр полной информации по конкретной заявке, включая историю изменений и комментарии.
- Изменение статуса заявки: Автоматическое или ручное изменение статуса заявки в соответствии с ее жизненным циклом (например, «Новая» → «На согласовании» → «Утверждена»).
- Согласование/Отклонение заявки: Возможность для уполномоченных пользователей (руководителей) утверждать или отклонять заявки с обязательным указанием причины при отклонении.
- Прикрепление файлов: Возможность прикреплять к заявке дополнительные документы (счета, коммерческие предложения, обоснования).
- Модуль управления пользователями и ролями:
- Регистрация пользователей: Возможность создания новых учетных записей.
- Управление данными пользователей: Редактирование личной информации, блокировка/разблокировка.
- Управление ролями и правами доступа (RBAC): Создание и назначение ролей (например, «Инициатор», «Согласующий», «Снабженец», «Администратор») с соответствующими правами на просмотр, создание, редактирование, удаление определенных данных и функций.
- Модуль отчетности и аналитики:
- Формирование отчетов по заявкам: Генерация отчетов по количеству заявок, их статусам, срокам обработки, стоимости приобретений за определенный период.
- Визуализация данных: Отображение ключевых показателей (KPI) на дашбордах (например, количество активных заявок, среднее время согласования).
- Экспорт данных: Возможность экспорта отчетов в различные форматы (CSV, Excel, PDF).
- Модуль уведомлений:
- Электронные уведомления: Оповещения по электронной почте о смене статуса заявки, запросе на согласование, новом комментарии.
- Системные уведомления: Уведомления внутри самой АИС.
Сценарии использования (Use Cases) описывают, как пользователь (или другая система) будет взаимодействовать с АИС для выполнения конкретной задачи. Каждый сценарий начинается с актора (пользователя), описывает его цель и последовательность шагов для ее достижения.
Примеры сценариев использования для нашей АИС:
- Сценарий: «Инициатор создает новую заявку»
- Актор: Инициатор (сотрудник).
- Цель: Создать запрос на приобретение товаров.
- Последовательность действий:
- Инициатор авторизуется в системе.
- Переходит в раздел «Мои заявки» и нажимает «Создать новую заявку».
- Заполняет обязательные поля формы: наименование, описание, выбирает товары из каталога (или вводит вручную), указывает количество, желаемый срок поставки.
- При необходимости прикрепляет подтверждающие документы.
- Проверяет введенные данные и нажимает «Отправить на согласование».
- Система сохраняет заявку, присваивает ей статус «Новая» и отправляет уведомление ответственному согласующему лицу.
- Сценарий: «Согласующий утверждает заявку»
- Актор: Согласующий (руководитель отдела).
- Цель: Рассмотреть и утвердить заявку.
- Последовательность действий:
- Согласующий авторизуется в системе.
- Получает уведомление о новой заявке, ожидающей согласования.
- Переходит в раздел «Заявки на согласование».
- Открывает детали заявки, просматривает информацию, прикрепленные документы.
- Нажимает «Утвердить».
- Система меняет статус заявки на «Утверждена» и отправляет уведомление в отдел закупок и инициатору.
- Сценарий: «Администратор управляет учетными записями»
- Актор: Администратор.
- Цель: Создать новую учетную запись пользователя и назначить ему роль.
- Последовательность действий:
- Администратор авторизуется в системе.
- Переходит в раздел «Управление пользователями».
- Нажимает «Добавить нового пользователя».
- Вводит данные нового пользователя (имя, фамилия, логин, пароль).
- Выбирает одну или несколько ролей для пользователя (например, «Инициатор», «Снабженец»).
- Нажимает «Сохранить».
- Система создает учетную запись и предоставляет пользователю соответствующие права доступа.
Эти функциональные требования и сценарии использования станут основой для разработки каждого модуля АИС, гарантируя, что конечный продукт будет соответствовать потребностям пользователей и эффективно выполнять свои задачи.
Разработка и реализация автоматизированной информационной системы
Спроектированная архитектура и детально проработанные требования теперь должны быть воплощены в жизнь. Этот раздел посвящен практическим шагам по созданию АИС, от выбора архитектурного подхода до разработки конкретных модулей и обеспечения качества посредством тестирования.
Архитектура АИС: клиент-серверное взаимодействие и модульная структура
Выбор архитектуры определяет, как компоненты системы взаимодействуют друг с другом, как распределяется функциональность и насколько легко систему будет масштабировать и поддерживать. Для нашей веб-ориентированной АИС по формированию заявок наиболее подходящей является клиент-серверная архитектура с модульной структурой.
Клиент-серверная архитектура
В этой модели взаимодействие происходит между двумя основными компонентами:
- Клиент (Frontend): Это пользовательский интерфейс, с которым непосредственно взаимодействует конечный пользователь через веб-браузер. Он отвечает за отображение информации, сбор пользовательского ввода и отправку запросов на сервер.
- Технологии Frontend: Обычно это HTML для структуры контента, CSS для стилизации и JavaScript для интерактивности и динамического поведения (например, валидация форм на стороне клиента, асинхронные запросы).
- Сервер (Backend): Это центральный к��мпонент, который обрабатывает запросы от клиентов. Он содержит бизнес-логику, взаимодействует с базой данных, выполняет вычисления и формирует ответы для клиента.
- Технологии Backend: Для нашей АИС это будет PHP-фреймворк (Yii2), который обрабатывает запросы, маршрутизацию, работает с моделью данных и контроллерами. Взаимодействие с базой данных (MySQL) осуществляется через ORM (Object-Relational Mapping), предоставляемый фреймворком. Веб-сервер (Apache) отвечает за получение HTTP-запросов и передачу их PHP-процессам для обработки.
Взаимодействие:
Когда пользователь в браузере запрашивает страницу или отправляет форму, HTTP-запрос отправляется на веб-сервер. Веб-сервер передает запрос PHP-интерпретатору, который, используя логику фреймворка Yii2, обрабатывает его:
- Контроллер получает запрос.
- Модель взаимодействует с базой данных (например, извлекает список заявок).
- Представление (шаблон) генерирует HTML-код на основе данных, полученных от модели.
- Сформированный HTML-код отправляется обратно через веб-сервер в браузер клиента, где он отображается пользователю.
Модульная структура
Обоснование модульной структуры для АИС крайне важно. Она означает разделение системы на независимые, логически связанные блоки (модули), каждый из которых отвечает за определенный набор функций. Для нашей АИС это может быть:
- Модуль «Пользователи и роли».
- Модуль «Заявки».
- Модуль «Отчетность».
- Модуль «Настройки системы».
Преимущества модульной структуры:
- Масштабируемость: Легче добавлять новые функции или модифицировать существующие, не затрагивая другие части системы.
- Удобство поддержки: Если ошибка обнаружена в одном модуле, ее исправление не должно повлиять на остальные. Разработчикам проще локализовать проблемы.
- Разделение труда: Разные команды или разработчики могут работать над разными модулями одновременно.
- Повторное использование кода: Компоненты из одного модуля могут быть использованы в другом.
- Повышение надежности: Изоляция модулей снижает риск распространения ошибок по всей системе.
Таким образом, клиент-серверная архитектура в сочетании с модульным подходом обеспечит нашей АИС высокую производительность, гибкость, масштабируемость и простоту в обслуживании, что критически важно для успешного корпоративного решения.
Разработка основных модулей системы формирования заявок
После того как архитектура определена, можно переходить к пошаговой реализации функциональности. Разработка АИС для формирования заявок на приобретение товаров будет включать создание следующих ключевых модулей:
- Модуль управления заявками
- Назначение: Центральный модуль системы, отвечающий за полный жизненный цикл заявок.
- Реализация:
- Формы создания и редактирования: Разработка HTML-форм с использованием шаблонизатора Yii2, включающих поля для наименования, описания, категорий товаров, количества, срочности, даты. Использование JavaScript для динамического добавления/удаления позиций в заявке (например, несколько строк для разных товаров).
- Валидация данных: Настройка правил валидации на стороне клиента (JavaScript) и сервера (Yii2-модели) для обеспечения корректности ввода (например, числовые значения для количества, обязательные поля).
- Механизм статусов и переходов: В базе данных создается поле
statusдля заявки. Реализуется логика в контроллерах, которая позволяет изменять статус заявки только при соблюдении определенных условий и прав пользователя (например, инициатор может изменить статус на «Отменена», но только до момента согласования). - Механизм согласования: Разработка интерфейса для согласующих лиц, где они могут просмотреть заявку и принять решение («Утвердить», «Отклонить»). Добавление поля для комментариев при отклонении. Запись истории согласования в отдельную таблицу (кто, когда, какое решение, комментарий).
- Прикрепление файлов: Интеграция функционала загрузки файлов. Хранение файлов в защищенной директории на сервере, а в БД – только ссылок на них. Проверка типов и размеров файлов.
- Поиск и фильтрация: Реализация поиска по названию, инициатору, статусу, дате создания/изменения.
- Модуль управления пользователями и ролями
- Назначение: Обеспечение безопасности и разграничения доступа к функциям системы.
- Реализация:
- Таблица
users: Хранение учетных данных (логин, хэшированный пароль, email, имя, фамилия) и полеrole_idдля связи с таблицей ролей. - Таблица
roles: Хранение информации о ролях (например,id,name— «Администратор», «Инициатор», «Согласующий», «Снабженец»). - Таблица
permissions: Детализация прав для каждой роли (например,create_request,approve_request,view_reports). - Таблица
role_permissions: Связывает роли с разрешениями. - Аутентификация: Использование стандартных механизмов аутентификации Yii2, включая шифрование паролей (например,
bcrypt). - Авторизация (RBAC): Внедрение ролевой модели доступа. В каждом контроллере или действии проверяются права текущего пользователя на выполнение операции. Например, только пользователи с ролью «Согласующий» могут нажимать кнопку «Утвердить».
- Интерфейс администратора: Разработка интерфейса для создания, редактирования, блокировки пользователей и назначения им ролей.
- Таблица
- Модуль отчетности
- Назначение: Предоставление аналитической информации о заявках и процессах закупок.
- Реализация:
- Генерация отчетов: SQL-запросы для агрегации данных из таблицы
requestsиrequest_items. Возможность выбора параметров отчета (период, статус, отдел). - Визуализация: Интеграция библиотек для построения графиков и диаграмм (например, Chart.js или D3.js) для дашбордов. Отображение динамики создания заявок, распределения по статусам, топ-товаров.
- Экспорт: Функционал для экспорта табличных данных в форматы CSV, Excel (использование библиотек PHP, например,
PhpSpreadsheet) или PDF.
- Генерация отчетов: SQL-запросы для агрегации данных из таблицы
Каждый модуль будет разрабатываться с учетом принципов чистого кода (Clean Code), следования стандартам PSR (PHP Standard Recommendations) и применением объектно-ориентированного программирования, что обеспечит его надежность, тестируемость и простоту поддержки.
Тестирование АИС: виды и методы
Тестирование — неотъемлемая часть жизненного цикла разработки программного обеспечения. Оно не только выявляет ошибки, но и гарантирует, что система соответствует предъявляемым требованиям по функциональности, надежности, производительности и безопасности. Для нашей АИС будет применен комплексный подход, включающий различные виды тестирования.
Основные виды тестирования:
- Модульное (Unit) тестирование:
- Цель: Проверка работоспособности отдельных, наименьших логических единиц кода (модулей, функций, классов) в изоляции от остальной системы.
- Методы: Разработчики пишут тестовые сценарии, которые проверяют корректность работы каждого компонента. Используются фреймворки для модульного тестирования (например, PHPUnit для PHP).
- Пример: Тестирование функции, которая рассчитывает общую стоимость товаров в заявке, или метода класса, который сохраняет заявку в базу данных.
- Интеграционное (Integration) тестирование:
- Цель: Проверка взаимодействия между различными модулями и компонентами системы.
- Методы: После успешного модульного тестирования компоненты объединяются и проверяется их совместная работа. Например, как модуль управления заявками взаимодействует с модулем пользователей, или как приложение взаимодействует с базой данных.
- Пример: Проверка, что после создания заявки в модуле заявок, она корректно отображается в списке заявок, инициированных данным пользователем, и доступна для согласования соответствующему руководителю.
- Системное (System) тестирование:
- Цель: Проверка всей системы в целом на соответствие всем функциональным и нефункциональным требованиям, указанным в спецификации.
- Методы: Тестирование всей АИС как единого целого, имитируя реальные сценарии использования. Включает проверку производительности, безопасности, совместимости, установки.
- Пример: Полный сквозной тест процесса от создания заявки до ее согласования и закрытия, включая все роли и переходы статусов.
- Приемочное (Acceptance) тестирование:
- Цель: Проверка системы конечными пользователями или заказчиком на соответствие их бизнес-потребностям и ожиданиям.
- Методы: Пользователи тестируют систему в условиях, максимально приближенных к реальным. Их обратная связь является критически важной для окончательной доработки.
- Пример: Сотрудники из отделов, которые будут использовать АИС, самостоятельно создают, согласовывают и отслеживают заявки, проверяя удобство и соответствие своим задачам.
Дополнительные виды тестирования, которые могут быть применены:
- Тестирование производительности (Performance Testing): Проверка реакции системы при различных нагрузках (например, при одновременной работе большого числа пользователей).
- Тестирование безопасности (Security Testing): Выявление уязвимостей, таких как SQL-инъекции, межсайтовый скриптинг (XSS), уязвимости аутентификации/авторизации.
- Тестирование удобства использования (Usability Testing): Оценка интуитивности и удобства интерфейса для конечных пользователей.
Методы тестирования:
- Ручное тестирование: Тестировщики вручную выполняют тестовые сценарии.
- Автоматизированное тестирование: Написание скриптов, которые автоматически выполняют тесты. Это особенно эффективно для модульного и регрессионного тестирования (проверки, что новые изменения не сломали старый функционал).
В рамках дипломной работы особое внимание будет уделено разработке подробных тестовых сценариев для каждого функционального требования, а также демонстрации проведения модульного и приемочного тестирования, что позволит подтвердить работоспособность и надежность разработанной АИС.
Информационная безопасность и управление доступом в АИС
В мире, где данные стали новой валютой, обеспечение их сохранности, конфиденциальности и доступности является не просто важным, а критически необходимым аспектом любой информационной системы. Для АИС, обрабатывающей запросы на приобретение товаров, вопросы информационной безопасности и управления доступом стоят особенно остро, поскольку речь идет о финансовых операциях и чувствительной корпоративной информации.
Основные принципы и угрозы информационной безопасности
Информационная безопасность (ИБ) — это комплекс мер, направленных на поддержание состояния сохранности информационных ресурсов и защищенности законных прав личности и общества в информационной сфере. В основе ИБ лежит так называемая триада CIA (Confidentiality, Integrity, Availability) – три ключевых принципа:
- Конфиденциальность:
- Суть: Доступ к информации должен быть разрешен только авторизованным пользователям, процессам или системам. Защита от несанкционированного чтения или раскрытия.
- Для АИС заявок: Личные данные пользователей, детали заявок (особенно стоимость, поставщики), история закупок – вся эта информация должна быть доступна только тем, кому это разрешено согласно их роли.
- Целостность:
- Суть: Информация должна быть достоверной, полной и неизменной. Защита от несанкционированного изменения или уничтожения данных.
- Для АИС заявок: Гарантия, что данные в заявке (например, количество товаров, статус) не были изменены без соответствующего разрешения или без протоколирования изменений.
- Доступность:
- Суть: Авторизованные пользователи должны иметь возможность получить доступ к информации и информационным ресурсам по мере необходимости.
- Для АИС заявок: Система должна быть доступна 24/7 для подачи, согласования и обработки заявок, без сбоев и задержек.
Анализ основных угроз для веб-приложений и методов их предотвращения:
Веб-приложения, к которым относится наша АИС, подвержены широкому спектру угроз. Понимание этих угроз и знание методов их предотвращения является ключом к созданию безопасной системы.
| Угроза | Описание | Метод предотвращения |
|---|---|---|
| SQL-инъекции | Злоумышленник внедряет вредоносный SQL-код через поля ввода, что позволяет ему получить доступ к базе данных, изменять или удалять данные. | Использование параметризованных запросов или ORM-фреймворков (как в Yii2), которые автоматически экранируют входные данные. Никогда не конкатенировать SQL-запросы напрямую со входными данными пользователя. |
| Межсайтовый скриптинг (XSS) | Внедрение вредоносных скриптов в веб-страницы, которые затем выполняются в браузерах других пользователей. Может использоваться для кражи сессионных куки или фишинга. | Экранирование (escaping) всех пользовательских данных перед их отображением на странице (например, с помощью htmlspecialchars() в PHP или встроенных функций шаблонизатора Yii2). Использование Content Security Policy (CSP). |
| Межсайтовая подделка запросов (CSRF) | Злоумышленник вынуждает пользователя выполнить нежелательное действие на веб-сайте, на котором он уже аутентифицирован, путем подделки запроса. | Использование CSRF-токенов во всех формах (Yii2 предоставляет встроенную защиту от CSRF). Проверка заголовка Referer. |
| Уязвимости аутентификации/авторизации | Недостаточная защита паролей, слабые механизмы восстановления паролей, некорректная проверка прав доступа, позволяющая пользователю получить доступ к функциям или данным, которые ему не положены. | Хэширование паролей с использованием надежных алгоритмов (bcrypt, Argon2). Внедрение многофакторной аутентификации. Строгое ролевое управление доступом (RBAC). Регулярный аудит прав пользователей. Защита от подбора паролей (CAPTCHA, блокировка после нескольких неудачных попыток). |
| Взлом сессий | Кража или подмена идентификатора сессии пользователя, позволяющая злоумышленнику выдать себя за этого пользователя. | Использование HTTPS для всех соединений. Установка флагов HttpOnly и Secure для куки сессий. Регенерация ID сессии при смене привилегий (например, после успешной авторизации). |
| Недостатки конфигурации сервера | Неправильно настроенные веб-серверы, СУБД или другие компоненты стека, открывающие доступ к чувствительным данным или предоставляющие чрезмерные привилегии. | Регулярное обновление ПО. Отключение ненужных модулей и сервисов. Ограничение доступа к файлам и директориям на уровне файловой системы. Использование принципа наименьших привилегий для учетных записей баз данных и системных пользователей. |
| Раскрытие чувствительных данных | Незащищенное хранение или передача персональных данных, учетных записей, API-ключей и другой конфиденциальной информации. | Шифрование данных при хранении (для особо чувствительной информации). Использование HTTPS для всей передаваемой информации. Никогда не хранить пароли в открытом виде. Минимизация данных, доступных во внешних логах или сообщениях об ошибках. |
Обеспечение информационной безопасности требует комплексного подхода на всех этапах разработки и эксплуатации АИС.
Реализация аутентификации и авторизации на основе ролей (RBAC) в PHP-приложении
Эффективное управление доступом является краеугольным камнем информационной безопасности в многопользовательских системах. В нашей АИС для формирования заявок это достигается за счет реализации двух ключевых механизмов: аутентификации и авторизации, а также применением модели управления доступом на основе ролей (RBAC).
Аутентификация — это процесс проверки подлинности пользователя. Система устанавливает, является ли пользователь тем, за кого он себя выдает. Для этого пользователь предоставляет учетные данные, обычно логин (уникальный идентификатор) и пароль.
Рекомендации по реализации аутентификации в PHP-приложении:
- Хранение хэшей паролей: Категорически запрещено хранить пароли пользователей в открытом виде в базе данных. Вместо этого необходимо хранить их криптографические хэши. Рекомендуется использовать алгоритмы, устойчивые к атакам по словарю и радужным таблицам, такие как
bcryptилиArgon2. PHP предоставляет встроенные функции, такие какpassword_hash()иpassword_verify(), которые упрощают эту задачу и используют безопасные алгоритмы по умолчанию.- Пример:
password_hash($password, PASSWORD_DEFAULT)
- Пример:
- Использование HTTPS: Все данные, передаваемые между клиентом и сервером (включая логин и пароль при аутентификации), должны быть зашифрованы с использованием протокола HTTPS. Это предотвращает перехват учетных данных злоумышленниками.
- Защита от перебора (Brute-force) паролей: Реализация механизмов ограничения количества неудачных попыток входа (например, блокировка учетной записи или IP-адреса на определенное время после нескольких неправильных вводов).
- Управление сессиями: Использование безопасных сессий, установка флагов
HttpOnlyиSecureдля куки сессий, регенерация ID сессии после успешной аутентификации.
Авторизация — это процесс определения прав доступа пользователя к определенным ресурсам или действиям в приложении после успешной аутентификации. Проще говоря, после того как система узнала, кто вы, она решает, что вам разрешено делать.
Для нашей АИС оптимальной моделью авторизации является управление доступом на основе ролей (Role-Based Access Control, RBAC).
Реализация RBAC в PHP-приложении:
- Поле
roleв таблице пользователей: В таблицеusers(или в связанной таблицеuser_rolesдля более гибкой системы) необходимо создать поле, которое будет хранить идентификатор или название роли пользователя (например, «Администратор», «Инициатор», «Согласующий», «Снабженец»).- Таблица
roles: Хранит описания ролей. - Таблица
permissions: Хранит все возможные действия в системе (например,create_request,approve_request,view_reports). - Таблица
role_permissions: Связывает роли с разрешениями. - Пример структуры таблиц:
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, password_hash VARCHAR(255) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, role_id INT, FOREIGN KEY (role_id) REFERENCES roles(id) ); CREATE TABLE roles ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) UNIQUE NOT NULL -- 'admin', 'initiator', 'approver', 'purchaser' ); CREATE TABLE permissions ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) UNIQUE NOT NULL -- 'create_request', 'view_all_requests', 'approve_request' ); CREATE TABLE role_permissions ( role_id INT, permission_id INT, PRIMARY KEY (role_id, permission_id), FOREIGN KEY (role_id) REFERENCES roles(id), FOREIGN KEY (permission_id) REFERENCES permissions(id) );
- Таблица
- Проверка прав доступа: В PHP-коде (в контроллерах или на уровне маршрутизации) необходимо реализовать логику, которая проверяет, имеет ли текущий авторизованный пользователь (через его роль) необходимое разрешение для выполнения запрашиваемого действия или доступа к ресурсу.
- Например, перед отображением кнопки «Утвердить заявку», система проверяет, имеет ли текущий пользователь роль «Согласующий» и разрешение
approve_request. - Yii2 предоставляет мощные встроенные инструменты для RBAC, которые значительно упрощают эту реализацию, например,
\yii\web\User::can('permission_name').
- Например, перед отображением кнопки «Утвердить заявку», система проверяет, имеет ли текущий пользователь роль «Согласующий» и разрешение
- Минимизация привилегий: Принцип наименьших привилегий должен быть строго соблюден. Пользователям и системным процессам должны быть предоставлены только те права доступа, которые абсолютно необходимы для выполнения их функций.
Такой подход обеспечивает гибкое и надежное управление доступом, позволяя точно настроить, кто и к чему имеет доступ в АИС, что существенно повышает общую безопасность системы.
Требования стандартов к информационной безопасности АИС и методика аудита
Для обеспечения высокого уровня информационной безопасности АИС, особенно в корпоративной среде, недостаточно просто реализовать аутентификацию и авторизацию. Необходимо руководствоваться признанными стандартами и регулярно проводить аудит системы. Российская Федерация имеет ряд ГОСТов, которые регулируют эти вопросы.
Обзор релевантных российских ГОСТов в области ИБ для автоматизированных систем:
- ГОСТ Р 57580.1-2017 «Безопасность финансовых (банковских) операций. Защита информации финансовых организаций. Базовый набор требований»:
- Хотя он ориентирован на финансовые организации, его базовый набор требований к защите информации универсален и может быть применен к любым АИС, обрабатывающим чувствительную информацию, включая корпоративные системы закупок, где циркулируют финансовые данные и коммерческая тайна. Стандарт охватывает управление рисками, управление доступом, криптографическую защиту, контроль целостности и другие аспекты.
- ГОСТ Р ИСО/МЭК 27001-2021 «Информационные технологии. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Требования»:
- Это российский аналог международного стандарта ISO/IEC 27001. Он устанавливает требования к системе менеджмента информационной безопасности (СМИБ). Его применение позволяет создать комплексную систему управления ИБ, которая охватывает организационные, технические и юридические аспекты, гарантируя систематический подход к защите информации.
- ГОСТ Р ИСО/МЭК 27002-2021 «Информационные технологии. Методы и средства обеспечения безопасности. Своды правил для средств контроля информационной безопасности»:
- Является руководством по практической реализации мер контроля, описанных в ГОСТ Р ИСО/МЭК 27001. Он предоставляет детальные рекомендации по выбору и внедрению конкретных средств и методов защиты информации, включая политики безопасности, управление активами, управление доступом, криптографию, физическую безопасность, управление инцидентами ИБ.
- ГОСТ Р 59407-2021 «Информационные технологии (ИТ). Методы и средства обеспечения безопасности. Базовая архитектура защиты персональных данных»:
- Регулирует вопросы защиты персональных данных, что крайне важно для любой АИС, которая хранит информацию о пользователях. Он устанавливает принципы и компоненты архитектуры защиты ПДн, обеспечивая соответствие требованиям Федерального закона №152-ФЗ «О персональных данных».
Методика проведения аудита информационной безопасности (ИБ):
Аудит ИБ — это системный процесс получения объективных оценок текущего состояния ИБ автоматизированной системы в соответствии с определенными критериями и показателями безопасности. Это регулярная «проверка здоровья» системы.
Цели аудита ИБ:
- Выявление уязвимостей и возможных угроз для АИС.
- Оценка эффективности существующих мер и системы защиты.
- Проверка соответствия системы требованиям законодательства (например, ФЗ-152) и корпоративным стандартам.
- Предоставление рекомендаций по улучшению ИБ.
Этапы проведения аудита ИБ:
- Подготовительный этап:
- Определение целей и задач аудита, его объема и границ.
- Формирование команды аудиторов.
- Сбор первичной информации о системе (документация, архитектура, используемые технологии).
- Согласование критериев оценки (например, соответствие ГОСТам, внутренним политикам).
- Сбор и анализ информации:
- Интервьюирование персонала, ответственного за ИБ и эксплуатацию АИС.
- Изучение технической документации (схемы сети, конфигурации серверов, политики доступа).
- Сканирование сети и систем на наличие уязвимостей (использование специализированных сканеров).
- Анализ логов событий и инцидентов ИБ.
- Тестирование на проникновение (Penetration Testing) для имитации реальных атак.
- Проверка соответствия законодательству и стандартам:
- Оценка, насколько АИС и ее процессы соответствуют требованиям ГОСТов, ФЗ-152 и другим регуляторным нормам.
- Изучение внутренних политик и процедур ИБ.
- Выявление уязвимостей и оценка рисков:
- Систематизация обнаруженных уязвимостей.
- Оценка потенциального ущерба от реализации каждой угрозы и вероятности ее возникновения.
- Формирование карты рисков.
- Подготовка отчета и внедрение рекомендаций:
- Составление подробного отчета с описанием обнаруженных уязвимостей, оценкой рисков и конкретными рекомендациями по их устранению и повышению уровня ИБ.
- Представление отчета руководству и разработка плана по реализации рекомендаций.
- Контроль за выполнением рекомендаций.
Наконец, системная документация, содержащая описания бизнес-приложений, структур данных, процессов авторизации, должна храниться безопасным образом, а доступ к ней должен быть минимизирован и авторизован владельцем бизнес-приложения. Это предотвратит утечку критически важной информации, которая может быть использована злоумышленниками. Регулярный аудит и следование стандартам помогут поддерживать высокий уровень ИБ на протяжении всего жизненного цикла АИС.
Экономическая оценка эффективности внедрения АИС
Разработка и внедрение любой информационной системы, включая нашу АИС для формирования заявок, требует значительных инвестиций – как финансовых, так и временных, и человеческих. Поэтому критически важно не только создать функциональную систему, но и количественно обосновать ее экономическую целесообразность. Этот раздел посвящен методикам оценки эффективности IT-проектов, которые позволят доказать выгоду от внедрения АИС.
Методики расчета экономической эффективности IT-проектов
Для оценки экономической целесообразности IT-проектов используются различные финансовые показатели, которые помогают инвесторам и руководству принять решение о целесообразности вложений. Мы рассмотрим три ключевых метрики: срок окупаемости (Payback Period), чистая приведенная стоимость (NPV) и возврат инвестиций (ROI).
- Срок окупаемости (Payback Period)
- Определение: Период времени, за который доходы от инвестиций покрывают первоначальные расходы. Это одна из самых простых и часто используемых метрик.
- Простой срок окупаемости (T) рассчитывается по формуле:
T = IC / FVГде:
IC— инвестиционные расходы (первоначальные вложения в разработку и внедрение АИС).FV— будущая среднегодовая прибыль (или ежегодная экономия, полученная от внедрения АИС).
- Особенности:
- Преимущества: Простота расчета, интуитивно понятен.
- Недостатки: Не учитывает временную стоимость денег (инфляцию, обесценивание денег со временем), а также доходы, которые будут получены после достижения точки окупаемости.
- Дисконтированный срок окупаемости: Более точный метод, который учитывает обесценивание денег со временем. Он предполагает, что будущие денежные потоки дисконтируются (приводятся к текущей стоимости) перед их суммированием. Расчет более сложен и требует определения ставки дисконтирования.
- Чистая приведенная стоимость (Net Present Value, NPV)
- Определение: Разница между приведенными (дисконтированными) доходами и приведенными (дисконтированными) расходами, ожидаемыми в будущем, пересчитанными на текущий момент времени с помощью ставки дисконтирования. NPV показывает, насколько увеличится богатство инвестора, если он вложится в данный проект.
- Формула NPV:
NPV = Σt=1n (Pt / (1 + i)t) - ICГде:
n— временной период проекта (количество лет).Pt(илиCFt) — чистый денежный поток за периодt(доходы минус расходы за период).i(илиr) — ставка дисконтирования (обычно годовая, отражает стоимость капитала или требуемую доходность).IC— размер инвестиционных средств на старте (первоначальные инвестиции).
- Интерпретация:
- Если NPV > 0: Проект прибыльный и должен быть принят. Он создаст дополнительную стоимость.
- Если NPV = 0: Проект безубыточный. Он окупит свои затраты, но не принесет дополнительной прибыли сверх требуемой ставки дисконтирования.
- Если NPV < 0: Проект убыточный и не должен быть принят, так как он не окупит затраты или не достигнет требуемой доходности.
- Преимущества: Учитывает временную стоимость денег и все денежные потоки проекта.
- Возврат инвестиций (Return on Investment, ROI)
- Определение: Показатель эффективности вложений, демонстрирующий, насколько прибыльны инвестиции относительно их стоимости. Выражается в процентах.
- Формула ROI:
ROI = ((Доход от инвестиции - Стоимость инвестиции) / Стоимость инвестиции) × 100% - Особенности:
- Доход от инвестиции: Общая прибыль или экономия, полученная за определенный период.
- Стоимость инвестиции: Общие затраты на проект.
- Важность периода: При расчете ROI важно четко указывать период, за который рассчитывается доход, так как базовая формула его не учитывает. Для более точной оценки часто используют годовой ROI (Annualized ROI), который приводит показатель к годовому выражению.
- Преимущества: Легко интерпретируется, позволяет сравнивать эффективность различных инвестиционных проектов.
- Недостатки: Не учитывает временную стоимость денег (как простой срок окупаемости), а также риски и продолжительность проекта.
Использование этих методик в совокупности позволит провести комплексную и объективную оценку экономической целесообразности внедрения АИС, что является важной частью дипломной работы.
Расчет и анализ показателей экономической эффективности для АИС
Для демонстрации практического применения рассмотренных методик проведем гипотетический расчет показателей экономической эффективности для нашей АИС по формированию заявок.
Предполагаемые исходные данные (гипотетический пример):
- Инвестиционные расходы (IC) на разработку и внедрение АИС:
- Затраты на разработку (зарплата команды, ПО, оборудование): 1 500 000 рублей.
- Затраты на обучение персонала: 100 000 рублей.
- Итого
IC= 1 600 000 рублей.
- Ежегодная экономия/прибыль (денежные потоки
Pt) от внедрения АИС (в год):- Сокращение трудозатрат на обработку заявок (например, высвобождение 1 сотрудника или 50% времени двух сотрудников): 800 000 рублей в год.
- Снижение ошибок и связанных с ними потерь: 150 000 рублей в год.
- Ускорение закупок, позволяющее использовать более выгодные предложения: 100 000 рублей в год.
- Итого ежегодная экономия/прибыль
Pt= 1 050 000 рублей в год.
- Ставка дисконтирования (i): 10% (0.1) — отражает стоимость капитала и инфляцию.
- Срок проекта (n): 5 лет.
1. Расчет простого срока окупаемости (Payback Period)
T = IC / FV
T = 1 600 000 руб. / 1 050 000 руб./год ≈ 1.52 года
Интерпретация: Простой срок окупаемости показывает, что первоначальные инвестиции в АИС окупятся примерно за 1 год и 6 месяцев. Это очень хороший показатель, демонстрирующий быструю отдачу от вложений.
2. Расчет чистой приведенной стоимости (NPV)
Для расчета NPV нам нужно дисконтировать ежегодные денежные потоки.
| Год (t) | Денежный поток (Pt) (руб.) | Коэффициент дисконтирования (1 / (1 + i)t) | Приведенный денежный поток (руб.) |
|---|---|---|---|
| 0 | -1 600 000 (IC) | 1 | -1 600 000 |
| 1 | 1 050 000 | 1 / (1 + 0.1)1 = 0.909 | 954 450 |
| 2 | 1 050 000 | 1 / (1 + 0.1)2 = 0.826 | 867 300 |
| 3 | 1 050 000 | 1 / (1 + 0.1)3 = 0.751 | 788 550 |
| 4 | 1 050 000 | 1 / (1 + 0.1)4 = 0.683 | 717 150 |
| 5 | 1 050 000 | 1 / (1 + 0.1)5 = 0.621 | 652 050 |
Сумма приведенных денежных потоков за 5 лет = 954 450 + 867 300 + 788 550 + 717 150 + 652 050 = 3 979 500 руб.
NPV = Сумма приведенных денежных потоков - IC
NPV = 3 979 500 руб. - 1 600 000 руб. = 2 379 500 руб.
Интерпретация: Поскольку NPV = 2 379 500 руб. > 0, проект является экономически выгодным. Это означает, что инвестиции в АИС не только окупятся, но и принесут дополнительную стоимость в размере 2 379 500 рублей в сегодняшних деньгах, учитывая обесценивание денег со временем. Проект создает значительную ценность для организации.
3. Расчет возврата инвестиций (ROI)
Рассчитаем ROI за весь 5-летний период.
Общий доход от инвестиции за 5 лет = 1 050 000 руб./год × 5 лет = 5 250 000 руб.
ROI = ((Доход от инвестиции - Стоимость инвестиции) / Стоимость инвестиции) × 100%
ROI = ((5 250 000 руб. - 1 600 000 руб.) / 1 600 000 руб.) × 100%
ROI = (3 650 000 руб. / 1 600 000 руб.) × 100% ≈ 228.13%
Интерпретация: ROI в 228.13% означает, что на каждый вложенный рубль в проект АИС, организация получит 2 рубля 28 копеек чистой прибыли (или экономии) за 5 лет. Это указывает на очень высокую эффективность инвестиций.
Выводы по экономической оценке:
Проведенный расчет демонстрирует высокую экономическую целесообразность разработки и внедрения АИС для формирования заявок.
- Быстрый срок окупаемости (1.52 года) снижает инвестиционные риски.
- Положительный NPV (2 379 500 руб.) подтверждает, что проект создает значительную дополнительную стоимость для организации.
- Высокий ROI (228.13%) свидетельствует о высокой прибыльности инвестиций.
Эти показатели убедительно доказывают, что внедрение АИС не только оптимизирует бизнес-процессы, но и принесет существенную финансовую выгоду, что является мощным аргументом в пользу реализации данного проекта.
Заключение
Представленная дипломная работа представляет собой комплексное исследование и детализированный план по проектированию и разработке автоматизированной информационной системы для формирования заявок на приобретение товаров с использованием языка программирования PHP. В ходе работы были последовательно решены все поставленные задачи, что позволило достичь главной цели – создать всеобъемлющее руководство для практического воплощения такой системы.
Мы начали с глубокого погружения в теоретические основы АИС и бизнес-процессов, определив их суть, цели и функции. Было показано, как автоматизация способна сократить время выполнения задач до 90% и снизить операционные расходы на 15-20%, что подчеркивает актуальность и экономическую ценность подобных проектов. Детально рассмотрена сущность заявки как ключевого элемента системы и ее жизненный цикл, что заложило основу для функционального проектирования.
В разделе о методологиях системного анализа был проведен сравнительный анализ моделей Waterfall и Agile, обоснован выбор гибкого подхода для обеспечения адаптивности к меняющимся требованиям корпоративной среды. Каждый этап ��изненного цикла разработки ПО (ЖЦРПО) был подробно описан, что формирует четкую дорожную карту проекта.
Особое внимание уделено выбору и обоснованию технологического стека. PHP был подтвержден как доминирующий язык для веб-разработки (77,5% веб-сайтов), а Yii2 – как оптимальный фреймворк для нашей АИС благодаря его производительности, структуре и популярности в русскоязычном сообществе. Выбор MySQL как СУБД и PhpStorm как IDE также был аргументирован с учетом их преимуществ для корпоративных веб-приложений.
Ключевым этапом стало проектирование архитектуры информационной системы и пользовательских интерфейсов. Мы детально рассмотрели принципы нормализации баз данных (1НФ, 2НФ, 3НФ) и метод ER-моделирования, обеспечивающие целостность и эффективность БД. Акцент на UI/UX для корпоративных систем подчеркнул важность удобства для повышения продуктивности сотрудников и предотвращения «саботажа», с конкретными рекомендациями по проектированию форм и учету современных трендов. Разработка функциональных требований и сценариев использования послужила мостом между теорией и практической реализацией.
Раздел разработки и реализации АИС описал клиент-серверную архитектуру и модульную структуру как основу для масштабируемости и поддержки. Были даны пошаговые рекомендации по созданию основных модулей: управления заявками, пользователями и ролями, а также отчетности. Обоснована важность комплексного тестирования (модульное, интеграционное, системное, приемочное) для обеспечения качества и надежности системы.
Вопросы информационной безопасности и управления доступом были рассмотрены с учетом триады ИБ (конфиденциальность, целостность, доступность). Детально проанализированы основные угрозы для веб-приложений и методы их предотвращения. Особое внимание уделено реализации аутентификации и авторизации на основе ролей (RBAC) в PHP-приложении, а также соответствию российским ГОСТам (Р 57580.1-2017, Р ИСО/МЭК 27001-2021, Р 59407-2021), что является уникальным преимуществом данного исследования. Методика аудита ИБ представлена как необходимый инструмент для поддержания высокого уровня защиты.
Завершающим аккордом стала экономическая оценка эффективности внедрения АИС, где с помощью детального расчета показателей срока окупаемости, чистой приведенной стоимости (NPV) и возврата инвестиций (ROI) была убедительно доказана финансовая выгода от внедрения системы. Гипотетический пример показал, что проект не только быстро окупится, но и принесет значительную дополнительную стоимость.
Таким образом, разработанная АИС для формирования заявок на приобретение товаров представляет собой не просто техническое решение, а стратегический инструмент, способный значительно оптимизировать закупочную деятельность, повысить прозрачность, снизить затраты и обеспечить высокую степень контроля. Полученные результаты подтверждают потенциал АИС как эффективного средства для достижения операционного совершенства в любой организации, но что следует предпринять, чтобы этот потенциал был реализован в полной мере?
Перспективы дальнейшего развития и модернизации системы включают:
- Интеграцию с внешними системами (например, с системами учета запасов или ERP-системами).
- Разработку мобильного приложения для доступа к заявкам.
- Внедрение элементов искусственного интеллекта для прогнозирования потребностей в закупках или автоматического назначения ответственных.
- Расширение аналитического функционала с использованием более сложных инструментов бизнес-аналитики.
Эта дипломная работа не только демонстрирует глубокое понимание принципов проектирования и разработки информационных систем, но и предлагает практический каркас для создания ценного корпоративного инструмента, готового к масштабированию и дальнейшему развитию.
Список использованной литературы
- Welling, L., Thompson, L. PHP and My SQL Web Development 3/e. Киев: Вильямс, 2008.
- Емельянова, Н.З., Партыка, Т.Л., Попов, И.И. Основы построения автоматизированных информационных систем. М.: Форум, Инфра-М, 2007.
- Аргерих, Л., Чой, В., Коггсхол, Д., Эгервари, К. Профессиональное PHP программирование. М.: Символ Плюс, 2003.
- Муссиано, Ч., Кеннеди, Б. HTML и XHTML. Подробное руководство. 6-е издание.
- Делисл, М. The PHP my admin по-русски. URL: http://php-myadmin.ru/learning/ (дата обращения: 27.10.2025).
- Ульман, Д.Д., Уидом, Д. Основы реляционных баз данных. М.: Лори, 2009.
- Харрингтон, Д.Л. Проектирование реляционных баз данных. Лори, 2008.
- Хендерсон, К. Профессиональное руководство по SQL Server. Структура и реализация (+ CD-ROM). М.: Вильямс, 2009.
- Пушкарев, П. Web script.ru. Управление сайтом. URL: http://webscript.ru/stories/02/01/03/3584690 (дата обращения: 27.10.2025).
- Ачагу, Р.М. Характеристика программного продукта. URL: http://synopsis.kubsu.ru/informatic/operator/lecture/theme3_1_1.htm (дата обращения: 27.10.2025).
- Пушкарев, П. Web script.ru. Обработка ошибок в PHP. URL: http://webscript.ru/stories/04/04/12/4367449 (дата обращения: 27.10.2025).
- Танненбаум, Э.Р. Компьютерные сети. СПб.: Питер, 2003. 992 с.
- Вишевский, В.М. Теоретические основы проектирования компьютерных сетей. Москва: Техносфера, 2009. 512 с.
- Бабулин, А. Web script.ru. Динамическая генерация форм. URL: http://webscript.ru/stories/01/10/31/5006781 (дата обращения: 27.10.2025).
- NAS. Web script.ru. Скриптинг на PHP. URL: http://webscript.ru/stories/13 (дата обращения: 27.10.2025).
- Вендров, А.М. Проектирование программного обеспечения экономических информационных систем. М.: Финансы и статистика, 2009.
- АИС: что такое — Определение и принцип работы. URL: https://skyeng.ru/articles/ais-chto-takoe-opredelenie-i-princip-raboty/ (дата обращения: 27.10.2025).
- Что такое СУБД? Наиболее популярные СУБД // RU-CENTER помощь. URL: https://www.nic.ru/help/what-is-dbms_7511.html (дата обращения: 27.10.2025).
- Автоматизированные информационные системы — Инфотактика. URL: https://infotaktika.ru/avtomatizirovannye-informacionnye-sistemy/ (дата обращения: 27.10.2025).
- 7 лучших инструментов разработки на PHP для веб-разработки в 2022 году. URL: https://www.hostinger.ru/uchebnye-posobiya/luchshie-instrumenty-razrabotki-na-php (дата обращения: 27.10.2025).
- Система управления базами данных (СУБД): что это такое и зачем нужна — Cloud.ru. URL: https://cloud.ru/ru/docs/dbms-what-is-it (дата обращения: 27.10.2025).
- Автоматизированные информационные системы (АИС). URL: https://xn—-btbbmkf1a4a4d.xn--p1ai/avtomatizirovannye-informatsionnye-sistemy-ais/ (дата обращения: 27.10.2025).
- СУБД: что это, виды, структура, функции — где и как используются системы управления базами данных, примеры — Яндекс Практикум. URL: https://practicum.yandex.ru/blog/chto-takoe-subd/ (дата обращения: 27.10.2025).
- СУБД — что это: Системы Управления Базами Данных — Skillfactory media. URL: https://skillfactory.ru/media/chto-takoe-subd (дата обращения: 27.10.2025).
- Жизненный цикл разработки и тестирования ПО. URL: https://software-testing.ru/library/testing/lifecycle/3218-zhiznennyj-tsikl-razrabotki-i-testirovaniya-po (дата обращения: 27.10.2025).
- СУБД: что это и зачем нужно простыми словами — GoIT. URL: https://goit.global/ru/blog/chto-takoe-subd (дата обращения: 27.10.2025).
- Какие основные принципы нормализации баз данных существуют? — Вопросы к Поиску с Алисой (Яндекс Нейро). URL: https://yandex.ru/q/question/kakie_osnovnye_printsipy_normalizatsii_baz_dannykh_sushchestvuiut_e08e6f1f/ (дата обращения: 27.10.2025).
- 15 Лучших инструментов для разработки на PHP, которые должен изучить каждый разработчик — Habr. URL: https://habr.com/ru/articles/583624/ (дата обращения: 27.10.2025).
- Waterfall vs Agile: навигация по методологиям разработки программного обеспечения – Digital Enterprise — Cleverics. URL: https://cleverics.ru/waterfall-vs-agile/ (дата обращения: 27.10.2025).
- Какой PHP-фреймворк выбрать: сравниваем Symfony, Laravel и Yii2 — Хекслет. URL: https://ru.hexlet.io/blog/posts/symfony-laravel-yii2 (дата обращения: 27.10.2025).
- Что такое веб-сервер и для чего нужен, принцип работы и настройка. URL: https://practicum.yandex.ru/blog/chto-takoe-veb-server/ (дата обращения: 27.10.2025).
- Аутентификация и авторизация в PHP — Skypro. URL: https://sky.pro/media/autentifikaciya-i-avtorizaciya-v-php/ (дата обращения: 27.10.2025).
- Лучшие IDE для PHP: обзор и сравнение — Skypro. URL: https://sky.pro/media/luchshie-ide-dlya-php-obzor-i-sravnenie/ (дата обращения: 27.10.2025).
- Нормализация баз данных SQL и зачем её нормализовать — «DecoSystems». URL: https://decosystems.ru/normalizatsiya-baz-dannykh/ (дата обращения: 27.10.2025).
- Что Такое Аис В Информатике — Яхт-клуб. URL: https://yachtclub.ru/chto-takoe-ais-v-informatike/ (дата обращения: 27.10.2025).
- Что такое веб-сервер и для чего он нужен? | INTROSERV. URL: https://introserv.pro/blog/chto-takoe-veb-server-i-dlya-chego-on-nuzhen/ (дата обращения: 27.10.2025).
- Веб-сервер: что это и для чего нужен — GeekBrains. URL: https://gb.ru/blog/chto-takoe-veb-server/ (дата обращения: 27.10.2025).
- как реализовать аутентификацию и авторизацию в php — Q&A Хекслет. URL: https://ru.hexlet.io/qna/php/kak-realizovat-autentifikaciyu-i-avtorizaciyu-v-php-d2054199-c967-4229-883a-867169f44f56 (дата обращения: 27.10.2025).
- Лучшие редакторы кода и IDE для разработки на PHP в 2020 году | Artzolin. URL: https://artzolin.com/luchshie-redaktory-koda-i-ide-dlya-razrabotki-na-php-v-2020-godu/ (дата обращения: 27.10.2025).
- Symfony, Laravel или Yii2: какой фреймворк изучать PHP-разработчику — Академия разработки MediaSoft. URL: https://mediasoft.team/blog/php-frameworks (дата обращения: 27.10.2025).
- Сравнение методологий разработок Waterfall и Agile — «Migra Software». URL: https://migrasoft.ru/sravnenie-metodologij-razrabotok-waterfall-i-agile/ (дата обращения: 27.10.2025).
- Что такое Веб-сервер — Изучение веб-разработки — MDN Web Docs. URL: https://developer.mozilla.org/ru/docs/Learn/Common_questions/What_is_a_web_server (дата обращения: 27.10.2025).
- Топ IDE (программ) для разработки на php — MnogoBlog. URL: https://mnogoblog.ru/top-ide-programm-dlya-razrabotki-na-php/ (дата обращения: 27.10.2025).
- Что такое Веб-сервер — Основы Веб-программирования — Read the Docs. URL: https://php-manual.readthedocs.io/ru/latest/web/webserver.html (дата обращения: 27.10.2025).
- ИСПОЛЬЗОВАНИЕ ER-ДИАГРАММ В ПРОЕКТИРОВАНИИ БАЗ ДАННЫХ. URL: https://cyberleninka.ru/article/n/ispolzovanie-er-diagramm-v-proektirovanii-baz-dannyh/viewer (дата обращения: 27.10.2025).
- Что такое ER-диаграмма и как ее создать? — Lucidchart. URL: https://www.lucidchart.com/pages/ru/chto-takoe-er-diagramma (дата обращения: 27.10.2025).
- Жизненный цикл разработки программного обеспечения | Microsoft Power Automate. URL: https://learn.microsoft.com/ru-ru/microsoft-365/community/software-development-life-cycle (дата обращения: 27.10.2025).
- Битва титанов: Waterfall VS Agile — какую методологию управления проектами выбрать — Яндекс Практикум. URL: https://practicum.yandex.ru/blog/waterfall-i-agile-metodologii-chto-vybrat-dlya-proekta/ (дата обращения: 27.10.2025).
- Жизненный цикл разработки ПО (SDLC — Software Development Lifecycle) | QA_Bible. URL: https://qabible.com/ru/sdlc-software-development-lifecycle/ (дата обращения: 27.10.2025).
- Жизненный цикл разработки ПО (SDLC): этапы, модели и как выбрать подходящую. URL: https://kaiten.ru/blog/sdlc-etapy-modeli/ (дата обращения: 27.10.2025).
- Этапы жизненного цикла разработки ПО или что такое SDLC? — Habr. URL: https://habr.com/ru/articles/724398/ (дата обращения: 27.10.2025).
- Сравнительный анализ методологий разработки ПО Agile и Waterfall | Статья в журнале «Молодой ученый». URL: https://moluch.ru/archive/342/76934/ (дата обращения: 27.10.2025).
- Сравнение методологий Waterfall и Agile в разработке проектов — Skyeng. URL: https://skyeng.ru/articles/sravnenie-metodologij-waterfall-i-agile/ (дата обращения: 27.10.2025).
- Как сделать авторизацию на PHP? Пишем авторизацию пользователя | OTUS. URL: https://otus.ru/journal/kak-sdelat-avtorizatsiyu-na-php/ (дата обращения: 27.10.2025).
- что это, применение, нотации — как создать ER-диаграмму сущность-связь, примеры. URL: https://practicum.yandex.ru/blog/er-diagramma/ (дата обращения: 27.10.2025).
- Краткое описание ER–метода проектирования реляционных баз данных. URL: https://e.lanbook.com/reader/book/48731/#4 (дата обращения: 27.10.2025).
- HTTP-аутентификация в PHP — Manual. URL: https://www.php.net/manual/ru/features.http-auth.php (дата обращения: 27.10.2025).
- КАК СДЕЛАТЬ РЕГИСТРАЦИЮ И АВТОРИЗАЦИЮ НА PHP + ЛИЧНЫЙ КАБИНЕТ. URL: https://www.youtube.com/watch?v=hGz5SgXvH0c (дата обращения: 27.10.2025).
- Yii или Laravel: что лучше для вашего проекта? — Asabix. URL: https://asabix.com/ru/yii-ili-laravel (дата обращения: 27.10.2025).
- Знакомство с Yii: история фреймворка, отличия от Laravel и Symfony, архитектура. URL: https://habr.com/ru/companies/skillbox/articles/732594/ (дата обращения: 27.10.2025).
- Методика проведения аудита информационной безопасности информационных систем / Хабр. URL: https://habr.com/ru/articles/779830/ (дата обращения: 27.10.2025).
- Аудит безопасности информационных систем — цели, этапы и виды — Dynamicsun. URL: https://dynamicsun.ru/blog/audit-bezopasnosti-informacionnyh-sistem-celi-etapy-i-vidy (дата обращения: 27.10.2025).
- Аудит информационной безопасности — Википедия. URL: https://ru.wikipedia.org/wiki/%D0%90%D1%83%D0%B4%D0%B8%D1%82_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8 (дата обращения: 27.10.2025).
- Метод аудита информационной безопасности информационных систем Текст научной статьи по специальности «Компьютерные и информационные науки — КиберЛенинка. URL: https://cyberleninka.ru/article/n/metod-audita-informatsionnoy-bezopasnosti-informatsionnyh-sistem (дата обращения: 27.10.2025).
- Как правильно провести аудит информационной безопасности? — Гладиаторы ИБ. URL: https://ib.gladiators.digital/audit-informacionnoy-bezopasnosti/ (дата обращения: 27.10.2025).
- Срок окупаемости проекта: как рассчитать, формула, норма — Финтабло. URL: https://fintablo.ru/blog/srok-okupaemosti (дата обращения: 27.10.2025).
- Срок окупаемости инвестиций, простой и дисконтированный способ расчета, индекс рентабельности. — Банки.ру. URL: https://www.banki.ru/news/daytheme/?id=10972002 (дата обращения: 27.10.2025).
- Бизнес-процесс — Википедия. URL: https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81 (дата обращения: 27.10.2025).
- Срок окупаемости проекта — Sberbank. URL: https://www.sberbank.ru/biz/glossary/srok-okupaemosti-proekta (дата обращения: 27.10.2025).
- Определение бизнес-процессов — Процессный подход к управлению организациями. URL: https://www.businessstudio.ru/articles/article/opredelenie_biznes_protsessov/ (дата обращения: 27.10.2025).
- Бизнес-процессы: определение и виды — CORS Academy. URL: https://cors.academy/blog/biznes-protsessy-opredelenie-vidy/ (дата обращения: 27.10.2025).
- Бизнес-процессы: описание и моделирование с примерами — Unicraft. URL: https://unicraft.org/blog/business-processes (дата обращения: 27.10.2025).
- Что такое бизнес-процессы, BPM: определение, примеры и классификация — ELMA365. URL: https://elma365.com/blog/chto-takoe-biznes-processy-bpm-opredelenie-primery-i-klassifikaciya/ (дата обращения: 27.10.2025).
- Срок окупаемости: формула и методы расчета, примеры — Блог Topfranchise. URL: https://topfranchise.ru/articles/srok-okupaemosti-formula-i-metody-rascheta-primery/ (дата обращения: 27.10.2025).
- Срок окупаемости проекта: формулы, расчеты, примеры — Финансовый директор. URL: https://www.fd.ru/articles/99066-srok-okupaemosti-proekta (дата обращения: 27.10.2025).
- Основные принципы проектирования пользовательского интерфейса. URL: https://studfile.net/preview/4333604/page:19/ (дата обращения: 27.10.2025).
- NPV: что это + формула и примеры расчета в Excel — Kokoc.com. URL: https://kokoc.com/blog/npv-chto-eto-formula-i-primery-rascheta-v-excel/ (дата обращения: 27.10.2025).
- Принципы пользовательского интерфейса — Win32 apps | Microsoft Learn. URL: https://learn.microsoft.com/ru-ru/windows/win32/uxguide/mess-layout (дата обращения: 27.10.2025).
- ГОСТы в корпоративных информационных системах. URL: https://corpinfosys.ru/uploads/files/1_2017/2017-1-12.pdf (дата обращения: 27.10.2025).
- NPV — что это такое, как рассчитать, пример расчета чистой приведенной стоимости. URL: https://practicum.yandex.ru/blog/npv/ (дата обращения: 27.10.2025).
- Основные принципы создания пользовательских интерфейсов (ПИ) — нцрдо. URL: https://ncrdo.ru/articles/osnovnye-printsipy-sozdaniya-polzovatelskikh-interfeysov-pi/ (дата обращения: 27.10.2025).
- NPV — что это такое, как рассчитать, пример расчета, формула — Get-Investor. URL: https://get-investor.ru/npv-chto-eto-takoe-kak-rasschitat-formula-primery-rascheta/ (дата обращения: 27.10.2025).
- Чистая приведенная стоимость: зачем и как считать — UIS. URL: https://uiscom.ru/blog/chto-takoe-npv/ (дата обращения: 27.10.2025).
- Проектирование интерфейсов: основные принципы, методы и этапы — Productstar. URL: https://productstar.ru/blog/proektirovanie-interfejsov (дата обращения: 27.10.2025).
- NPV инвестиционного проекта: как рассчитать и зачем это нужно инвестору. URL: https://investmen.ru/npv/ (дата обращения: 27.10.2025).
- Заявка на закупку | Руководство пользователя АИС ГЗ. URL: https://gz-spb.ru/documentation/manuals/ais_gz/manual-aisgz-fz44/manual-aisgz-fz44-user-web-sections-application.html (дата обращения: 27.10.2025).
- Принципы и правила проектирования пользовательского интерфейса | Статья в журнале «Молодой ученый». URL: https://moluch.ru/archive/301/10834/ (дата обращения: 27.10.2025).
- АИС Requisition — BI аналитика. URL: https://bi-analytics.ru/solutions/ais-requisition/ (дата обращения: 27.10.2025).
- Дизайн внутрикорпоративных систем — Райт. URL: https://right.ru/ux-ui-design/corporate-systems/ (дата обращения: 27.10.2025).
- ГОСТ Р исо/мэк. URL: https://www.center-inform.ru/upload/iblock/c38/c38944882c3f848523c0352e85a53697.pdf (дата обращения: 27.10.2025).
- Кейс: UI/UX дизайн CRM-системы для производственных B2B компаний — TDS Agency. URL: https://tds.agency/ru/cases/ui-ux-design-crm-sistemy-dlya-proizvodstvennyh-b2b-kompanij (дата обращения: 27.10.2025).
- Что такое ROI? Как правильно рассчитать ROI — коэффициент возврата инвестиций. Просто о сложном — YouTube. URL: https://www.youtube.com/watch?v=F_S6l_2G5Jk (дата обращения: 27.10.2025).
- UI/UX-дизайн сложных сервисов, корпоративных порталов и платформ — OLOVO.agency. URL: https://olovo.agency/ui-ux-design/ (дата обращения: 27.10.2025).
- Что такое ROI? Как правильно рассчитать ROI — коэффициент возврата инвестиций. URL: https://kosatka-marketing.ru/blog/chto-takoe-roi-kak-pravilno-rasschitat (дата обращения: 27.10.2025).
- Сапоги для сапожника: как разработать UX и UI внутренней системы — Дизайн на vc.ru. URL: https://vc.ru/design/95197-sapogi-dlya-sapozhnika-kak-razrabotat-ux-i-ui-vnutrenney-sistemy (дата обращения: 27.10.2025).
- Корпоративные информационные системы и ГОСТы — Habr. URL: https://habr.com/ru/articles/798440/ (дата обращения: 27.10.2025).
- Требования ГОСТ на автоматизированные системы в ИБ-проектах. Что изменилось и как это применять? — Habr. URL: https://habr.com/ru/articles/671048/ (дата обращения: 27.10.2025).
- Первые 40 часов UX/UI‑дизайна: как я собираю вводные и формирую основу интерфейса — Habr. URL: https://habr.com/ru/companies/sberbank/articles/769742/ (дата обращения: 27.10.2025).
- ГОСТ Р 59407-2021 Информационные технологии (ИТ). Методы и средства обеспечения безопасности. Базовая архитектура защиты персональных данных — docs.cntd.ru. URL: https://docs.cntd.ru/document/1200181519 (дата обращения: 27.10.2025).
- Руководство пользователя АИС «Навигатор дополненного образования» роль «Организация». Раздел заявки. URL: https://admdou.ru/documents/files/navigator/Rukovodstvo-polzovatelya-AIS-Navigator-DOP-Obrazovanie-Rol-Organizaciya-Razdel-Zayavki.pdf (дата обращения: 27.10.2025).
- TAdviser — портал выбора технологий и поставщиков. URL: https://www.tadviser.ru/ (дата обращения: 27.10.2025).
- Как в 3 раза ускорить инвестиционные решения: кейс без бюджета — Бизнес-секреты. URL: https://secrets.tinkoff.ru/biznes-sokrovischa/kak-v-3-raza-uskorit-investicionnye-resheniya/ (дата обращения: 27.10.2025).
- III. Требования к оформлению документов заявки — КонсультантПлюс. URL: https://www.consultant.ru/document/cons_doc_LAW_188052/9e99a8b1220a5df802521c7d23f46f17e0b57e79/ (дата обращения: 27.10.2025).
- Порядок регистрации и подачи заявки СОИСКАТЕЛЯ в программно-аппаратн — Альянс. URL: https://np-alliance.ru/o-tsentre/novosti/poryadok-registratsii-i-podachi-zayavki-soiskatelya-v-programmno-apparatnom-komplekse-nopriz-dlya-zapisi-na-professionalnyy-ekzamen-ais-otsenka-kvalifikatsii/ (дата обращения: 27.10.2025).
- ROI многоагентных ИИ-систем в 2027 году. URL: https://habr.com/ru/companies/first/articles/770270/ (дата обращения: 27.10.2025).
- От малого бизнеса к большим проблемам: почему в период роста компания становится мишенью для хакеров — Incrussia.ru. URL: https://incrussia.ru/understand/ot-malogo-biznesa-k-bolshim-problemam-pochemu-v-period-rosta-kompaniya-stanovitsya-mishenyu-dlya-hakerov/ (дата обращения: 27.10.2025).
- Агентство стратегических инициатив. URL: https://asi.ru/ (дата обращения: 27.10.2025).
- Всероссийский лекторий РНФ стартовал в НИУ ВШЭ. URL: https://www.hse.ru/news/edu/898254848.html (дата обращения: 27.10.2025).
- Маркировка товаров легкой промышленности (швейных изделий) — Честный знак. URL: https://честныйзнак.рф/business/projects/legprom/ (дата обращения: 27.10.2025).
- Автоматизированные системы, используемые в НИУ «БелГУ». URL: https://bsuedu.ru/bsu/info/digital_transformation/ais/ (дата обращения: 27.10.2025).