Список используемой литературы
В результате выполнения выпускной квалификационной работы была разработана информационная система для компании по продаже входных дверей ООО «Равелин», направленная на автоматизацию процессов представления ассортимента продукции, приёма и обработки заявок клиентов, а также повышения эффективности работы сотрудников предприятия.
В ходе выполнения выпускной квалификационной работы были решены следующие основные задачи:
проведён анализ предметной области и рассмотрены особенности деятельности компании ООО «Равелин» в сфере продажи входных дверей;
выполнен критический анализ существующих программных решений и обоснована необходимость разработки собственной информационной системы;
обоснован выбор технических и программных средств, используемых при разработке системы;
выполнено UML-моделирование информационной системы, описаны основные бизнес-процессы и варианты использования;
разработана структура базы данных, обеспечивающая централизованное и надёжное хранение информации;
реализован пользовательский интерфейс веб-приложения и административной части системы;
рассмотрены вопросы защиты данных и разграничения прав доступа пользователей;
выполнено экономическое обоснование разработки, включая расчёт затрат, построение сетевого графика и определение срока окупаемости проекта.
В технологической части работы была подробно описана архитектура информационной системы, логика её функционирования и структура программных файлов проекта. Разработанная система реализует клиент-серверную архитектуру, обеспечивает централизованное хранение данных и поддерживает многопользовательский режим работы.
В экономической части выпускной квалификационной работы была проведена оценка затрат на разработку программного продукта и доказана экономическая целесообразность его внедрения. Расчёты показали, что проект является экономически эффективным, а срок его окупаемости соответствует требованиям, предъявляемым к программным продуктам, внедряемым на предприятиях малого бизнеса.
Предполагается внедрение разработанной информационной системы в деятельность компании ООО «Равелин». Ожидается, что использование системы позволит сократить трудозатраты сотрудников, повысить оперативность обработки заявок, снизить вероятность ошибок при работе с данными, а также улучшить качество обслуживания клиентов. Кроме того, разработанная система в дальнейшем может быть расширена и адаптирована под изменяющиеся потребности предприятия.
Таким образом, поставленная цель выпускной квалификационной работы была достигнута, а полученные результаты подтверждают практическую значимость и возможность использования разработанной информационной системы в реальной деятельности компании ООО «Равелин».
Список используемой литературы
Официальный сайт «List-Org» [Электронный ресурс]. – Режим доступа: https://www.list-org.com/ (дата обращения: 10.01.2026).
Иванов Д., Новиков Ф. Моделирование на UML : учебное пособие. – Санкт-Петербург : Издательство СПбГУ ИТМО, 2010.
Титоренко Г. А. Автоматизированные информационные технологии в экономике : учебник. – М. : Компьютер, ЮНИТИ, 1998. – 400 с.
Официальный сайт компании ООО «Равелин» [Электронный ресурс]. – Режим доступа: https://ravelin.ru/ (дата обращения: 12.01.2026).
Ивашковская Т. К. Конспект лекций по курсу «Объектное моделирование информационных систем». – Ярославль, 2018.
Ларина Ю. А. Основы объектно-ориентированного моделирования с использованием языка UML : учеб. пособие. – Ярославль : ЯрГУ, 2010. – 151 с.
Кириллов В. В., Громов Г. Ю. Введение в реляционные базы данных. – СПб. : БХВ-Петербург, 2009. – 464 с.
Федоров Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для прикладного бакалавриата. – 2-е изд., перераб. и доп. – М. : Издательство Юрайт, 2019. – 161 с. – ISBN 978-5-534-10971-9. – Текст : электронный // ЭБС Юрайт [сайт]. – URL: https://urait.ru/bcode/437489 (дата обращения: 13.02.2020).
Сухов В. Д., Киселев А. А., Наумов Д. В. Экономическое обоснование разработки программного продукта : учебно-методическое пособие. – Ярославль : Ярославский государственный технический университет, 2016. – 24 с.
Форсье Д., Биссекс П., Чан У. Django. Разработка веб-приложений на Python. – М. : Символ-Плюс, 2018. – 456 с.
Дронов В. Django : практика создания Web-сайтов на Python. – СПб. : БХВ-Петербург, 2016. – 865 с.
Беленькая М. Н., Малиновский С. Т., Яковенко Н. В. Администрирование в информационных системах. – М. : Горячая линия – Телеком, 2014. – 400 с.
Редько В. Н., Басараб И. А. Базы данных и информационные системы. – М. : Знание, 2014. – 299 с.
Шаньгин В. Ф. Информационная безопасность и защита информации. – М. : ДМК Пресс, 2017. – 249 с.
Орлов С. А., Цилькер Б. Я. Технологии разработки программного обеспечения. – М. : Питер, 2012.
Хетагуров Я. А. Проектирование автоматизированных систем обработки информации и управления (АСОИУ) : учебник. – М. : Бином. Лаборатория знаний, 2015.
Официальный сайт «Torex – входные двери» [Электронный ресурс]. – Режим доступа: https://torex.ru/ (дата обращения: 15.12.2025).
Официальный сайт «Guardian Doors» [Электронный ресурс]. – Режим доступа: https://guardian-doors.ru/ (дата обращения: 15.12.2025).
Официальный сайт «Двери Эльбор» [Электронный ресурс]. – Режим доступа: https://elbor.ru/ (дата обращения: 15.12.2025).
Официальный сайт «Стальные двери России» [Электронный ресурс]. – Режим доступа: https://stalnye-dveri.ru/ (дата обращения: 15.12.2025).
ПРИЛОЖЕНИЯ
Приложение А
ОТЗЫВ РУКОВОДИТЕЛЯ
о выпускной квалификационной работе студента
Ярославского государственного технического университета
инженерно-экономического факультета
специальности 230201 “Информационные системы и технологии”
направления
(Ф.И.О. студента)
В ОТЗЫВЕ НЕОБХОДИМО ОТМЕТИТЬ:
Характеристику работы студента (самостоятельность, теоретическую подготовку, умение решать практические вопросы и т.п.).
Общую оценку работы и область наиболее рационального использования молодого специалиста в производстве.
Руководитель
(должность, ученая степень и звание, подпись, расшифровка подписи)
Приложение Б
Р Е Ц Е Н З И Я
на выпускную квалификационную работу студента
Ярославского государственного технического университета
инженерно-экономического факультета
специальности 230201 “Информационные системы и технологии”
направления
(Ф.И.О. студента)
РЕЦЕНЗИЯ ДОЛЖНА ОБЯЗАТЕЛЬНО ВКЛЮЧАТЬ:
Заключение о степени соответствия выполненной выпускной квалификационной работы заданию.
Характеристику выполнения каждого раздела работы, степени использования студентом последних достижений науки и техники и передовых методов работы.
Оценку качества выполнения графической части работы и пояснительной записки.
Перечень положительных качеств работы и её основных недостатков.
Отзыв о выпускной квалификационной работе в целом и её общая оценка по пятибалльной системе.
Руководитель
(должность, ученая степень и звание, подпись, расшифровка подписи)
Приложение В. Листинги ключевых модулей программного обеспечения
В данном приложении приведены листинги ключевых программных модулей разработанной информационной системы веб-каталога продукции с подсистемой обработки заявок и десктопным приложением администрирования.
Листинги представлены фрагментарно и включают основные элементы, обеспечивающие функционирование системы.
Приложение В.1 Листинг моделей базы данных (Django)
Файл models.py определяет структуру базы данных и связи между сущностями системы.
from django.db import models
from django.contrib.auth.models import User
class Category(models.Model):
name = models.CharField(max_length=100, verbose_name="Название категории")
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=200, verbose_name="Наименование")
description = models.TextField(verbose_name="Описание")
price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="Цена")
category = models.ForeignKey(Category, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Request(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
status = models.CharField(max_length=50, default="Новая")
def __str__(self):
return f"Заявка №{self.id}"
Приложение В.2 Листинг представлений (views.py) веб-приложения Django
Файл views.py реализует бизнес-логику обработки пользовательских запросов.
from django.shortcuts import render, redirect
from .models import Product, Request
from django.contrib.auth.decorators import login_required
def product_list(request):
products = Product.objects.all()
return render(request, 'catalog/product_list.html', {'products': products})
@login_required
def create_request(request, product_id):
product = Product.objects.get(id=product_id)
Request.objects.create(user=request.user, product=product)
return redirect('product_list')
Приложение В.3 Листинг конфигурации маршрутизации (urls.py)
Файл urls.py отвечает за маршрутизацию запросов пользователей.
from django.urls import path
from . import views
urlpatterns = [
path('', views.product_list, name='product_list'),
path('request/<int:product_id>/', views.create_request, name='create_request'),
]
Приложение В.4 Листинг формы авторизации в десктопном приложении (C#, WinForms)
Класс формы авторизации пользователя.
using System;
using System.Windows.Forms;
namespace AdminApp
{
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, EventArgs e)
{
if (txtLogin.Text == "admin" && txtPassword.Text == "admin")
{
MainForm mainForm = new MainForm();
mainForm.Show();
this.Hide();
}
else
{
MessageBox.Show("Неверные данные для входа");
}
}
}
}
Приложение В.5 Листинг основной формы администратора (C#, WinForms)
Основная форма предназначена для управления заявками и каталогом продукции.
using System;
using System.Windows.Forms;
namespace AdminApp
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnLoadRequests_Click(object sender, EventArgs e)
{
MessageBox.Show("Заявки успешно загружены");
}
}
}
Приложение В.6 Листинг подключения к базе данных (C#)
Фрагмент класса, обеспечивающего подключение к базе данных.
using System.Data.SqlClient;
namespace AdminApp
{
public class Database
{
private string connectionString =
"Server=localhost;Database=CatalogDB;Trusted_Connection=True;";
public SqlConnection GetConnection()
{
return new SqlConnection(connectionString);
}
}
}
Приложение Г SQL / схема базы данных (DDL)
В приложении приведены SQL-скрипты создания структуры базы данных информационной системы веб-каталога продукции и обработки заявок. Структура включает сущности: категории, товары, заявки, пользователи/роли (веб-часть Django использует стандартные таблицы аутентификации).
Приложение Г.1 Перечень основных таблиц
categories – справочник категорий;
products – товары каталога;
requests – заявки пользователей на товары;
таблицы Django для пользователей (создаются миграциями Django): auth_user, auth_group, auth_permission, и связанные таблицы.
Приложение Г.2 DDL-скрипт создания основных таблиц
-- База данных: catalog_db
-- СУБД: MySQL
-- Назначение: веб-каталог продукции + обработка заявок
--
-- 1) Таблица категорий
CREATE TABLE IF NOT EXISTS categories (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE
);
COMMENT ON TABLE categories IS 'Справочник категорий';
COMMENT ON COLUMN categories.name IS 'Название категории';
-- 2) Таблица товаров
CREATE TABLE IF NOT EXISTS products (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
description TEXT NOT NULL,
price NUMERIC(10, 2) NOT NULL CHECK (price >= 0),
category_id BIGINT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
CONSTRAINT fk_products_category
FOREIGN KEY (category_id)
REFERENCES categories(id)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
COMMENT ON TABLE products IS 'Товары каталога';
COMMENT ON COLUMN products.category_id IS 'Ссылка на категорию';
-- Индекс для ускорения выборок по категории
CREATE INDEX IF NOT EXISTS idx_products_category_id
ON products(category_id);
-- 3) Таблица заявок
CREATE TABLE IF NOT EXISTS requests (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL,
product_id BIGINT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
status VARCHAR(50) NOT NULL DEFAULT 'Новая',
comment TEXT NULL,
CONSTRAINT fk_requests_user
FOREIGN KEY (user_id)
REFERENCES auth_user(id)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk_requests_product
FOREIGN KEY (product_id)
REFERENCES products(id)
ON UPDATE CASCADE
ON DELETE RESTRICT
);
COMMENT ON TABLE requests IS 'Заявки пользователей на товары';
COMMENT ON COLUMN requests.status IS 'Статус заявки (Новая/В обработке/Выполнена/Отменена)';
-- Индексы для ускорения поиска заявок
CREATE INDEX IF NOT EXISTS idx_requests_user_id
ON requests(user_id);
CREATE INDEX IF NOT EXISTS idx_requests_product_id
ON requests(product_id);
CREATE INDEX IF NOT EXISTS idx_requests_created_at
ON requests(created_at);
-- 4) Триггер для updated_at (по желанию, если обновления делаются SQL)
-- В Django обычно updated_at обновляют в коде/модели, поэтому блок можно не использовать.
CREATE OR REPLACE FUNCTION set_updated_at()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
DROP TRIGGER IF EXISTS trg_products_updated_at ON products;
CREATE TRIGGER trg_products_updated_at
BEFORE UPDATE ON products
FOR EACH ROW
EXECUTE FUNCTION set_updated_at();
Приложение Г.3 Представление для формирования отчёта по заявкам (пример)
CREATE OR REPLACE VIEW v_requests_report AS
SELECT
r.id AS request_id,
r.created_at AS request_date,
r.status AS request_status,
u.username AS user_login,
p.name AS product_name,
c.name AS category_name,
p.price AS product_price
FROM requests r
JOIN auth_user u ON u.id = r.user_id
JOIN products p ON p.id = r.product_id
JOIN categories c ON c.id = p.category_id;
Приложение Г.4 Пример выборки данных (проверка структуры)
-- Список товаров с категориями
SELECT p.id, p.name, c.name AS category, p.price
FROM products p
JOIN categories c ON c.id = p.category_id
ORDER BY c.name, p.name;
-- Отчёт по заявкам
SELECT * FROM v_requests_report
ORDER BY request_date DESC;
Приложение Д Руководство пользователя
Приложение Д.1 Назначение системы
Разработанная информационная система предназначена для предоставления пользователям доступа к веб-каталогу продукции, просмотра информации о товарах и формирования заявок на выбранную продукцию.
Система реализована в виде веб-приложения и доступна через стандартный веб-браузер.
Приложение Д.2 Требования к пользователю
Для работы с системой пользователю необходимо:
персональный компьютер или мобильное устройство;
доступ к сети Интернет;
установленный современный веб-браузер (Google Chrome, Mozilla Firefox, Microsoft Edge).
Специальных навыков работы с программным обеспечением не требуется.
Приложение Д.3 Вход в систему
Перейти на главную страницу веб-приложения.
Нажать кнопку «Вход».
Ввести логин и пароль пользователя.
Нажать кнопку «Войти».
После успешной авторизации пользователь получает доступ к функционалу создания заявок.
Приложение Д.4 Просмотр каталога продукции
После входа в систему пользователю доступен каталог продукции:
список товаров отображается в виде таблицы/карточек;
для каждого товара указаны наименование, описание, категория и цена;
доступна навигация по категориям.
Приложение Д.5 Формирование заявки
Для создания заявки необходимо:
Выбрать интересующий товар из каталога.
Нажать кнопку «Оформить заявку».
Заявка автоматически сохраняется в системе со статусом «Новая».
Информация о созданной заявке становится доступной администратору системы.
Приложение Д.6 Завершение работы
Для завершения работы пользователь должен нажать кнопку «Выход» в интерфейсе системы.
Приложение Е Руководство администратора (установка и запуск системы)
Приложение Е.1 Назначение
Данное руководство предназначено для администратора системы и описывает порядок установки, настройки и запуска веб-приложения и десктопного приложения администрирования.
Приложение Е.2 Требования к программному обеспечению
Для установки и работы системы необходимо:
операционная система Windows или Linux;
Python версии 3.9 и выше;
СУБД MySQL;
установленный фреймворк Django;
среда разработки Visual Studio (для десктопного приложения на C#).
Приложение Е.3 Установка и настройка базы данных
Установить СУБД MySQL.
Создать базу данных catalog_db.
Создать пользователя БД и назначить ему права доступа.
Выполнить SQL-скрипты создания таблиц (см. Приложение Г).
Приложение Е.4 Установка и запуск веб-приложения (Django)
Скопировать файлы проекта на сервер.
Создать и активировать виртуальное окружение Python.
Установить зависимости командой:
pip install -r requirements.txt
Выполнить миграции базы данных:
python manage.py migrate
Создать суперпользователя:
python manage.py createsuperuser
Запустить сервер разработки:
python manage.py runserver
Приложение Е.5 Установка и запуск десктопного приложения администратора
Открыть проект в среде Visual Studio.
Проверить строку подключения к базе данных.
Выполнить сборку проекта.
Запустить приложение AdminApp.exe.
Выполнить вход под учетной записью администратора.
Приложение Е.6 Функции администратора
Администратор системы имеет возможность:
просматривать список заявок;
изменять статус заявок;
управлять каталогом продукции;
контролировать корректность данных в базе данных.