Задание на курсовой проект:
Разработать программу для управления и автоматизации станции технического обслуживания автомобилей. Программа должная включать работу с клиентами, их автомобилями, персоналом и предоставляемыми услугами. Должна быть возможность разграничения прав доступа в систему (Администратор и Обычный пользователь).
Использованные технологии:
- WinForms / C# (.NET 4.8)
- База данных SQL Server 2019 | SQL LocalDB
- Доступ к базе данных осуществляется через Entity Framework 6
- Visual Studio 2019
Содержание курсового проекта (32 страницы):
- ВВЕДЕНИЕ 5
- ГЛАВА 1. АНАЛИТИЧЕСКИЙ ОБЗОР 6
- Автоматизированные системы 6
- Сравнительный обор СУБД, представленных на рынке специализированного программного обеспечения 9
- Обзор программных средств для создания базы данных 11
- ГЛАВА 2. ЦЕЛИ И ЗАДАЧИ 12
- Определение цели и задач проектирования 12
- ГЛАВА 3. ОСНОВНАЯ ЧАСТЬ 13
- Инфологическая модель реляционной базы данных 13
- Даталогическая модель реляционной базы данных 14
- Формализация описания 15
- UML Диаграмма прецедентов использования 16
- Функциональная структура программного комплекса 17
- Математическое обеспечение 18
- Разработка представлений для отображения результатов выборки из базы данных 19
- Структура ПО 23
- Хеширование пароля методом MD5 24
- ЗАКЛЮЧЕНИЕ 27
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28
- ПРИЛОЖЕНИЕ А 29
Фрагмент программного кода:
Фрагмент CarsForm.cs
// В данном окне происходит поиск авто по ГРЗ или модели; // Поиск авто с отображением его владельцев; private void txtFind_TextChanged(object sender, EventArgs e) { try { string name = txtFind.Text.ToString().Trim(); if (name != "") { // Выборка клиентов по авто var result = General.context.Clients.Join( General.context.Cars, client => client.CarID, car => car.ID, (client, car) => new { client, car } ).Join( General.context.ModelCars, car => car.car.ModelCarID, model => model.ID, (car, model) => new { car, model }) .Where(ord => ord.car.car.ModelCarID == ord.model.ID).Select( x => new { CarID = x.car.car.ID, NameCar = x.model.NameCar, RegisterSign = x.car.car.RegisterSign }) .Where(x => x.NameCar.Contains(name) || x.RegisterSign.Contains(name)).Distinct(); dtgCars.DataSource = result.ToList(); if (dtgCars.RowCount == 0) dtgfio.DataSource = null; } else RefreshDataGrid(); }
Фрагмент SettingsAuto_Client.cs
// Событие добавления существующих клиентов; private void btnaddClient_Click(object sender, EventArgs e) { if (dtgfio.SelectedRows[0].Index >= 0) { int i_row = dtgfio.SelectedRows[0].Index; var client = new Clients(); client.Name = dtgfio.Rows[i_row].Cells[1].ToString().Trim(); client.SurName = dtgfio.Rows[i_row].Cells[0].ToString().Trim(); client.Patronymic = dtgfio.Rows[i_row].Cells[2].ToString().Trim(); client.Phone = dtgfio.Rows[i_row].Cells[4].ToString().Trim(); client.CarID = Auto_Client.CarID; client.Birthday = Convert.ToDateTime(dtgfio.Rows[i_row].Cells[3].Value); try { General.context.Clients.Add(client); General.context.SaveChanges(); this.Close(); } catch (Exception) { General.context.Clients.Remove(client); MessageBox.Show("У этого авто уже имеется выбранный клиент!", "",MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Выберите владельца из таблицы!", " ",MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Скриншот архива с проектом:
Содержание архива:
- Курсовой проект (32 страницы), техническое задание и задание на курсовой проект (4 страницы);
- Проект программы на языке C# в Visual Studio со всеми исходниками;
- Диаграммы в Microsoft Visio (видны в видео);
kostyaLem