ВАЖНО:
При занесении первого пароля для администратора важно занести захешированный пароль в базу данных. Например если вы выставляете пароль: parol, то вы вставляете в бд f415df421177820c3a69db701f424efbf48b177e,а заходить будете с паролем parol. В дальнейшем при создании учеток с учетки админа хэширование и записание функции будет автоматически
Цель, задачи и содержание курсовой работы
- Целью курсовой работы является повышение эффективности работы таксопарка путем создания автоматизированной информационной системы (АИС) для предоставления услуг Таксопарка. Основными задачами для достижения цели являются:
- изучение предметной области таксопарка;
- концептуальное и логическое проектирование базы данных (БД)
- выбор средств реализации проекта;
- разработка базы данных;
- обеспечение информационной безопасности (ИБ) в базе данных;
- создание автоматизированной информационной системы (АИС);
2. План работы таксопарка:
- клиент совершает заказ, обозначая, откуда его забрать и куда доставить;
- диспетчер принимает данный заказ, назначая автомобиль;
- диспетчер выясняет в сторонней программе (2ГИС) расстояние от пункта A до пункта B;
- диспетчер записывает цену, полученную путем умножения расстояния на цену за 1 км определенной категории;
- водитель получает необходимую информацию по заказу и осуществляет заказ
Для определения задачи АИС, надо понять, кто будет пользоваться приложением, в каких целях и с какими правами.
Пользователи в АИС таксопарк:
- Клиенты (заказчики)
- Диспетчеры
- Таксисты (водители)
- Администратор (владелец компании)
Функционал для каждого вида пользователя:
- Клиент:
- регистрация в приложении;
- возможность зайти в приложение под своими учетными данными (логин, пароль) в качестве клиента;
- создание заказа;
- проверка оформления заказа;
- проверка данных автомобиля, назначенного на заказ;
- Диспетчеры:
- возможность зайти в приложение под своими учетными данными (логин, пароль) в качестве диспетчера;
- возможность посмотреть заказы, которым еще не был присвоен автомобиль;
- возможность назначить авто на заказ;
- возможность определить расстояние от точки A до точки B в стороннем приложении (к примеру, 2GIS) и записать результат в необходимое поле;
- возможность при назначении автомобиля заказу назначить статус «Занят» (до того момента пока он не выполнит заказ);
- Таксисты:
- возможность зайти в приложение под своими учетными данными (логин, пароль) в качестве таксиста;
- возможность увидеть данные о заказе, где фигурировал автомобиль;
- возможность по мере завершения заказа вернуть статус «Свободен»;
- возможность смотреть отчеты, сколько он совершил заказов и сколько заработал в определенный день или за определенный период;
- Администратор:
- возможность зайти в приложение под своими учетными данными (логин, пароль) в качестве администратора;
- возможность назначить нового диспетчер;
- возможность удалить диспетчера;
- возможность назначить нового таксиста;
- возможность удалить таксиста;
- возможность посмотреть размер прибыли таксопарка в определенный день или за период;
Основными задачами АИС являются:
- регистрация новых клиентов и передача сведений в базу данных;
- регистрация новых автомобилей, водителей, диспетчеров и передача сведений в базу данных;
- учет заказов;
- учет автомобилей (свободных или уже с пассажирами);
- учет прибыли за определенный срок;
- повышение безопасности и хранения данных;
- снижение количества ошибок при вводе данных.
3. Пояснительная записка содержит 60 страниц, включая приложения
Содержание
Введение. 3
1. Аналитическая часть. 5
1.1. Технико-экономическая характеристика предметной области. 5
1.2. Постановка задачи. 6
2. Проектирование базы данных. 9
2.1. Концептуальное проектирование. 9
2.2. Логическое проектирование. 9
2.3. Выбор средств реализации проекта. 13
2.3.1. Выбор языка программирования. 13
2.3.2.Выбор системы управления базами данных СУБД.. 17
3. Разработка базы данных. 21
3.1. Физическая структура базы данных. 21
3.2. Учетные записи пользователей. 23
3.3. Обеспечение информационной безопасности базы данных. 24
3.4. Описание программного продукта. 25
3.4.1 Общее описание программного продукта. 25
3.4.2 Руководство пользователя. 28
Заключение. 43
Список литературы.. 44
Приложение 1. SQL-запросы на создание таблиц в Базе Данных. 45
Приложение 2. Программный код использования хэш функции SHA1. 54
Приложение 3. Программный код для замены символов на «*». 55
Приложение 4. Программный код, контролирующая заполненные поля и авторизацию пользователя. 56
Приложение 5. Программный код для добавления нового пользователя. 58
Приложение 6. Программный код для удаления пользователя. 59
Приложение 7. Программный код для подключения к базе данных. 60
Программный код использования хэш функции SHA1.
using System.Security.Cryptography; static string GetHash(string plaintext) { var sha = new SHA1Managed(); byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(plaintext)); return Convert.ToBase64String(hash); } String passUser = GetHash(parolTextBox.Text);
Программный код, контролирующая заполненные поля и авторизацию пользователя.
Пример авторизации администратора, где пароль хэшируется SHA 1.
if (loginTextBox.Text !="" & parolTextBox.Text != "") { String loginUser = loginTextBox.Text; String passUser = GetHash(parolTextBox.Text); users_vk u = new users_vk(); BD BD = new BD(); SqlDataAdapter adapter = new SqlDataAdapter(); SqlDataAdapter adap = new SqlDataAdapter(); SqlCommand command = new SqlCommand("SELECT id FROM admins WHERE login = @uL AND parol = @uP", BD.getConnection()); command.Parameters.Add("@uL", SqlDbType.VarChar).Value = loginUser; command.Parameters.Add("@uP", SqlDbType.VarChar).Value = passUser; adapter.SelectCommand = command; DataTable table = new DataTable(); DataTable dt = new DataTable(); adapter.Fill(table); if (table.Rows.Count > 0) { BD.openConnection(); string name = command.ExecuteScalar().ToString(); admin t = new admin(); t.Show(); Hide(); BD.CloseConnection(); } else MessageBox.Show("Неверно введенны данные"); } else { MessageBox.Show("Заполните все поля"); }
ВАЖНО:При занесении первого пароля для администратора важно занести захешированный пароль в базу данных. Например если вы выставляете пароль: parol, то вы вставляете в бд f415df421177820c3a69db701f424efbf48b177e,а заходить будете с паролем parol. В дальнейшем при создании учеток с учетки админа хэширование и записание функции будет автоматически
Содержание архива
- исходный код на C# для Visual Studio 2019
- Пояснительная записка (60 страниц)
- Скрипт базы данных
- Инструкция по установке
Ilnur1995