Файл: Разработка базы данных и создание программной оболочки для работников фотосалона.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 48
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рисунок 19 – Окно администратора
4) При нажатии на кнопку «Сотрудники» откроется форма с данными о сотрудниках (Рис.20). В ней находятся кнопки «Редактировать» и «Назад», при нажатии которого откроется содержимое предыдущего окна.
Рисунок 20 – Форма «Сотрудники»
При нажатии на кнопку «Редактировать» откроется форма редактирования сотрудников, где возможно добавлять, изменять и удалять данные, заполнив пустые поля ввода (Рис.21).
Рисунок 21 – Форма «Редактирование сотрудников»
При нажатии на кнопку «Пользователи» откроется форма с данными о пользователях (Рис.22). В ней находятся кнопки «Редактировать» и «Назад», при нажатии которого откроется содержимое предыдущего окна.
Рисунок 22 – Форма «Пользователи»
При нажатии на кнопку «Редактировать» откроется форма редактирования пользователя, где возможно добавлять, изменять и удалять данные, заполнив пустые поля ввода (Рис.23).
Рисунок 23 – Форма «Редактирование пользователя»
При нажатии на кнопку «Услуги» откроется форма с данными об услугах (Рис.24). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 24 – Форма «Услуги»
При нажатии на кнопку «Товары» откроется форма с данными о товарах (Рис.25). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 25 – Форма «Товары»
При нажатии на кнопку «Клиенты» откроется форма с данными о клиентах (Рис.26). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 26 – Форма «Клиенты»
При нажатии на кнопку «Заказанные услуги» откроется форма с данными о заказанных услугах (Рис.27). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 27 – Форма «Заказанные услуги»
При нажатии на кнопку «Заказанные товары» откроется форма с данными о заказанных товарах (Рис.28). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 28 – Форма «Заказанные товары»
При нажатии на кнопку «Оказанные услуги» откроется форма с данными о оказанных услугах (Рис.29). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 29 – Форма «Оказанные услуги»
При нажатии на кнопку «Проданные товары» откроется форма с данными о проданных товарах(Рис.30). В ней находятся кнопки «Редактировать» и «Назад».
Рисунок 30 – Форма «Проданные товары»
При нажатии на кнопку «О программе» откроется форма с информацией о программе. В ней находится кнопка «Назад» (Рис.31).
Рисунок 31 – Форма «О программе»
При нажатии на кнопку «О разработчике» откроется форма с информацией о разработчике. В ней находится кнопка «Назад» (Рис.32).
Рисунок 32 – Форма «О разработчике»
При введенных данных пользователя будут доступны следующие данные (Рис. 33):
Рисунок 33 – Окно пользователя
2.3.2 Тестирование и отладка программного продукта
Для выявления ошибок у программного продукта было проведено тестирование, при возникновении ошибок выполнялась отладка.
Проверяемая функция | Ошибка | Отладка |
Авторизация | Нет | – |
Добавление данных о новом сотруднике | Неправильное название таблицы | Исправление названия таблицы |
Переход из одной формы в другую | Нет | – |
Скрытие главной формы при открытии дочерней | Нет | – |
Открытие формы по центру экрана | Нет | – |
Привязка SQL Server с Visual Studio | Недостающие компоненты | Обновление компонентов |
Диаграмма SQL Server | Неправильное соединение связей | Исправление ключей и типов данных в таблице «Заказанные товары» |
Создание таблиц в SQL Server | Нет | – |
Таким образом, в ходе практической реализации программного продукта была выбрана СУБД для разработки БД и создания программного интерфейса. Были разработаны 9 таблиц, каждая из которых содержит определенные данные. Была создана диаграмма, в которой были установлены связи. Также был выбран язык программирования и создан программный интерфейс для работников фотосалона. Была разработана защита от несанкционированного доступа к программному интерфейсу. Было проведено тестирование и отладка программного продукта.
ЗАКЛЮЧЕНИЕ
Разработанная база данных и созданный программный продукт позволит автоматизировать процесс работников фотосалона и уменьшит персоналу бумажную работу. Данная программа позволяет сотрудникам просматривать информацию о услугах и товарах; заказанных товарах и услугах; оказанных услугах и проданных товарах; вносить данные в базу и вести учет клиентов. Удобный интерфейс, позволяет легко ориентироваться в программе, не требуя от пользователя каких-либо специальных навыков работы с электронно-вычислительными машинами, а также предоставляет пользователю информацию о сотрудниках организации.
В данном курсовом проекте был проведен анализ существующего программного обеспечения. Затем осуществлено проектирование программного продукта.
Для программной реализации данного проекта были выбраны СУБД MS SQL Server 2017, язык программирования C# и среда программирования Visual Studio 2019.
Используя данный программный продукт, работник фотосалона получает возможность, заполняя таблицы хранить данные в базе данных, а также возможность редактирования данных.
Таким образом, поставленные задачи выполнены, цель достигнута.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
-
Простой софт. Учет клиентов [Электронный ресурс] / Режим доступа:
https://www.prostoysoft.ru/ClientsCount.htm
-
YoKoSoft Фотостудия [Электронный ресурс] / Режим доступа:
http://yukosoft.ru/ClientsSalesPhotoStudio.aspx
-
Microsoft SQL Server [Электронный ресурс] / Режим доступа:
https://clck.ru/Kysen
-
Интегрированная среда разработки Visual Studio
[Электронный ресурс] / Режим доступа: https://clck.ru/KyxoE
-
Краткий обзор языка C# [Электронный ресурс] / Режим доступа:
https://clck.ru/DCvS3
-
Процесс разработки программного продукта [Электронный ресурс] /
Режим доступа: https://clck.ru/LBqAo
-
Методы адаптации программного продукта [Электронный ресурс] /
Режим доступа: https://clck.ru/LBtgS
-
Основные этапы внедрения программного продукта [Электронный
ресурс] / Режим доступа: https://clck.ru/LBu4u
-
Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Г12 Технология
разработки программного обеспечения [Текст]: учебное пособие / под ред. Л. Г Гагариной. — М: ИД «ФОРУМ»: ИНФРА-М, 2008. — 400 с: ил. — (Высшее образование). ISBN 978-5-8199-0342-1 (ИД «ФОРУМ») ISBN 978-5-16-003193-4 (ИНФРА-М)
-
Рудаков А. В. Р83 Технология разработки программных продуктов.
Практикум: учеб. пособие для студ. учреждений сред. проф. образования / А. В.Рудаков, Г. Н. Федорова. — 3-е изд., испр. — М.: Издательский центр «Академия»; 2012. — 192 с. ISBN 978-5-7695-8956-0.
ПРИЛОЖЕНИЕ А
Листинг программы
Код для формы авторизации:
private void button1_Click(object sender, EventArgs e)
{
try
{
string loginUser = textBox1.Text;
string passUser = textBox2.Text;
DB db = new DB();
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommand commandagent = new SqlCommand("SELECT * FROM [Пользователи] WHERE Логин = @uL AND Пароль = @uP AND Роль = 'Admin'", db.GetConnection());
commandagent.Parameters.Add("@uL", SqlDbType.VarChar).Value = loginUser;
commandagent.Parameters.Add("@uP", SqlDbType.VarChar).Value = passUser;
adapter.SelectCommand = commandagent;
adapter.Fill(table);
DataTable table1 = new DataTable();
SqlDataAdapter adapter1 = new SqlDataAdapter();
SqlCommand commandclient = new SqlCommand("SELECT * FROM [Пользователи] WHERE Логин = @uL AND Пароль = @uP AND Роль = 'User'", db.GetConnection());
commandclient.Parameters.Add("@uL", SqlDbType.VarChar).Value = loginUser;
commandclient.Parameters.Add("@uP", SqlDbType.VarChar).Value = passUser;
adapter1.SelectCommand = commandclient;
adapter1.Fill(table1);
if (table.Rows.Count > 0)
{
Form_Admin examp = new Form_Admin();
examp.Show();
this.Hide();
textBox1.Clear();
textBox2.Clear();
}
else
{
if (table1.Rows.Count > 0)
{
Form_User examp2 = new Form_User();
examp2.Show();
this.Hide();
textBox1.Clear();
textBox2.Clear();
}
else
{
MessageBox.Show("Вы ввели неверный логин или пароль!");
}
}
}
finally
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
Код для кнопки «Редактировать»:
private void but_edit_Click(object sender, EventArgs e)
{
Edit_Services Edit_Services = new Edit_Services();
Edit_Services.Show();
this.Hide();
}
Код для кнопки «Добавить»:
private async void but_add_Click(object sender, EventArgs e)
{
if (
!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox1.Text) &&
!string.IsNullOrEmpty(textBox2.Text) && !string.IsNullOrWhiteSpace(textBox2.Text) &&
!string.IsNullOrEmpty(textBox3.Text) && !string.IsNullOrWhiteSpace(textBox3.Text) &&
!string.IsNullOrEmpty(textBox4.Text) && !string.IsNullOrWhiteSpace(textBox4.Text)
)
{
SqlConnection sqlConnection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await sqlConnection.OpenAsync();
SqlCommand command = new SqlCommand("INSERT INTO [Услуги] (ID_услуги, Наименование_услуги, Стоимость, Тип_услуги)" +
"VALUES(@ID_услуги, @Наименование_услуги, @Стоимость, @Тип_услуги)", sqlConnection);
command.Parameters.AddWithValue("ID_услуги", textBox1.Text);
command.Parameters.AddWithValue("Наименование_услуги", textBox2.Text);
command.Parameters.AddWithValue("Стоимость", textBox3.Text);
command.Parameters.AddWithValue("Тип_услуги", textBox4.Text);
await command.ExecuteNonQueryAsync();
SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await connection.OpenAsync();
DataTable dt = new DataTable();
SqlCommand comm = new SqlCommand("Select * from Услуги", connection);
SqlDataReader dr = comm.ExecuteReader();
dt.Load(dr);
услугиDataGridView.DataSource = dt.DefaultView;
dr.Close();
}
else
{
MessageBox.Show("Все поля должны быть заполнены");
}
}
Код для кнопки «Изменить»:
private async void but_change_Click(object sender, EventArgs e)
{
if (
!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox1.Text) &&
!string.IsNullOrEmpty(textBox2.Text) && !string.IsNullOrWhiteSpace(textBox2.Text) &&
!string.IsNullOrEmpty(textBox3.Text) && !string.IsNullOrWhiteSpace(textBox3.Text) &&
!string.IsNullOrEmpty(textBox4.Text) && !string.IsNullOrWhiteSpace(textBox4.Text)
)
{
SqlConnection sqlConnection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await sqlConnection.OpenAsync();
SqlCommand command = new SqlCommand("UPDATE [Услуги] SET [Наименование_услуги]=@Наименование_услуги, [Стоимость]=@Стоимость, [Тип_услуги]=@Тип_услуги WHERE [ID_услуги]=@ID_услуги", sqlConnection);
command.Parameters.AddWithValue("ID_услуги", textBox1.Text);
command.Parameters.AddWithValue("Наименование_услуги", textBox2.Text);
command.Parameters.AddWithValue("Стоимость", textBox3.Text);
command.Parameters.AddWithValue("Тип_услуги", textBox4.Text);
await command.ExecuteNonQueryAsync();
SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await connection.OpenAsync();
DataTable dt = new DataTable();
SqlCommand comm = new SqlCommand("Select * from Услуги", connection);
SqlDataReader dr = comm.ExecuteReader();
dt.Load(dr);
услугиDataGridView.DataSource = dt.DefaultView;
dr.Close();
}
else
{
MessageBox.Show("Все поля должны быть заполнены");
}
}
Код для кнопки «Удалить»:
private async void but_delete_Click(object sender, EventArgs e)
{
if (
!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox1.Text)
)
{
SqlConnection sqlConnection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await sqlConnection.OpenAsync();
SqlCommand command = new SqlCommand("DELETE FROM [Услуги] WHERE [ID_услуги]=@ID_услуги", sqlConnection);
command.Parameters.AddWithValue("ID_услуги", textBox1.Text);
await command.ExecuteNonQueryAsync();
SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=Фотосалон;Integrated Security=True");
await connection.OpenAsync();
DataTable dt = new DataTable();
SqlCommand comm = new SqlCommand("Select * from Услуги", connection);