Файл: Разработка базы данных и создание программной оболочки для работников фотосалона.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 50

Скачиваний: 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.

Используя данный программный продукт, работник фотосалона получает возможность, заполняя таблицы хранить данные в базе данных, а также возможность редактирования данных.

Таким образом, поставленные задачи выполнены, цель достигнута.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ





  1. Простой софт. Учет клиентов [Электронный ресурс] / Режим доступа:

https://www.prostoysoft.ru/ClientsCount.htm

  1. YoKoSoft Фотостудия [Электронный ресурс] / Режим доступа:

http://yukosoft.ru/ClientsSalesPhotoStudio.aspx

  1. Microsoft SQL Server [Электронный ресурс] / Режим доступа:

https://clck.ru/Kysen

  1. Интегрированная среда разработки Visual Studio

[Электронный ресурс] / Режим доступа: https://clck.ru/KyxoE

  1. Краткий обзор языка C# [Электронный ресурс] / Режим доступа:


https://clck.ru/DCvS3

  1. Процесс разработки программного продукта [Электронный ресурс] /

Режим доступа: https://clck.ru/LBqAo

  1. Методы адаптации программного продукта [Электронный ресурс] /

Режим доступа: https://clck.ru/LBtgS

  1. Основные этапы внедрения программного продукта [Электронный

ресурс] / Режим доступа: https://clck.ru/LBu4u

  1. Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Г12 Технология

разработки программного обеспечения [Текст]: учебное пособие / под ред. Л. Г Гагариной. — М: ИД «ФОРУМ»: ИНФРА-М, 2008. — 400 с: ил. — (Высшее образование). ISBN 978-5-8199-0342-1 (ИД «ФОРУМ») ISBN 978-5-16-003193-4 (ИНФРА-М)

  1. Рудаков А. В. Р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);