Similar presentations:
Разработка базы данных для учёта работы магазина по продаже дисков и кассет
1.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИфедеральное государственное автономное образовательное учреждение высшего образования
«Национальный исследовательский ядерный университет «МИФИ»
Димитровградский инженерно-технологический институт –
филиал федерального государственного автономного образовательного учреждения высшего образования
«Национальный исследовательский ядерный университет «МИФИ»
(ДИТИ НИЯУ МИФИ)
КУРСОВАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
ТЕМА:
Разработка базы данных для учёта работы
магазина по продаже дисков и кассет
Научный руководитель: преподаватель,
Ишмуратов Рамиль Равильевич
Выполнил: студент 4 курса 432 группы,
Яковлев Владислав Андреевич
Димитровград 2023
2.
АКТУАЛЬНОСТЬЭта тема актуальна, поскольку она касается необходимости
наличия базы данных для эффективного управления запасами,
продажами и другими операциями магазина дисков и кассет.
3.
ЦЕЛЬСоздание программного продукта для магазина по продаже
кассет и дисков предназначено, чтобы автоматизировать
процесс поиска и добавления данных в базу.
4.
ФУНКЦИИ ПРОГРАММНОГО ПРОДУКТАДанный программный продукт предусматривает две
пользовательские роли: «Обычный пользователь» и
«Администратор», поэтому для каждого из них предусмотрены
разные функции.
5.
ПОЛЬЗОВАТЕЛЬСКИЕ РОЛИПользовательская роль (user role) – описание некоторой
совокупности пользователей и предполагаемого взаимодействия с
системой.
6.
ФУНКЦИИ ПРОГРАММНОГО ПРОДУКТАДля пользовательской роли «Обычный пользователь»
предусмотрены следующие функции:
- аутентификация пользователя в системе
под пользовательской ролью «Пользователь»;
- просмотр таблиц;
- поиск по таблице;
- вывод на печать;
- экспорт таблиц (в формате .pdf);
- доступ к 5 диаграммам по таблицам;
- доступ к 5-ти запросам по таблице.
7.
ФУНКЦИИ ПРОГРАММНОГО ПРОДУКТАДля пользовательской роли «Администратор» предусмотрены
следующие функции:
- аутентификация
пользователя в системе
под пользовательской
ролью «Администратор»;
- просмотр таблиц;
- поиск по таблице;
- обновление таблиц;
- добавление таблиц;
- удаление таблиц;
- экспорт таблиц (в формате
.pdf)
- вывод таблиц на печать;
- доступ к 5-ти запросам по
таблицам;
- доступ к 5 диаграммам по
таблицам.
8.
ФУНКЦИИ ПРОГРАММНОГО ПРОДУКТАИсходя из вышеперечисленных функций 2-ух пользовательских
ролей, можно заметить, что у администратора есть те же функции,
что и обычного пользователя, но при этом администратор имеет
больше прав и функций.
9.
ФУНКЦИИ ПРОГРАММНОГО ПРОДУКТАИсходя из этого, можно сделать следующий вывод:
Администраторы имеют полный доступ и контроль над
системой, включая возможность вносить изменения в настройки
систем. Обычные пользователи имеют ограниченный доступ и не
могут вносить общесистемные изменения без прав
администратора.
10.
ВХОДНЫЕ ДАННЫЕДля таблицы «Клиент»: имя, фамилия, почта, телефон.
Таблица 1 – Структура входных данных для таблицы
«Клиент»
11.
ВХОДНЫЕ ДАННЫЕДля таблицы «Поставка»: товар, поставщик, дата, количество.
Таблица 2 – Структура входных данных для таблицы
«Поставка»
12.
ВХОДНЫЕ ДАННЫЕДля таблицы «Поставщик»: название, контактное лицо, адрес,
телефон.
Таблица 3 – Структура входных данных для таблицы
«Поставщик»
13.
ВХОДНЫЕ ДАННЫЕДля таблицы «Продажа»: товар, клиент, дата, количество.
Таблица 4 – Структура входных данных для таблицы
«Продажа»
14.
ВХОДНЫЕ ДАННЫЕДля таблицы «Товар»: заголовок, описание, цена, доступность.
Таблица 5 – Структура входных данных для таблицы
«Товар»
15.
ВХОДНЫЕ ДАННЫЕДля таблицы «Авторизация»: пользователь, пароль.
Таблица 6 – Структура входных данных для таблицы
«Авторизация»
16.
ИНСТРУМЕНТАРИЙ РАЗРАБОТКИобъектно-ориентированный язык программирования общего назначения C#
+
интерфейс программирования приложений (API), отвечающий за
графический интерфейс пользователя Windows Forms
система управления базами данных Microsoft Access 2016.
17.
ИНСТРУМЕНТАРИЙ РАЗРАБОТКИАbode PDF Reader XI.
Microsoft PowerPoint 2021
Microsoft Word 2021
18.
ФУНКЦИОНАЛЬНАЯ СХЕМА19.
ФУНКЦИОНАЛЬНАЯ СХЕМА20.
ФУНКЦИОНАЛЬНАЯ СХЕМА21.
ФУНКЦИОНАЛЬНАЯ СХЕМА22.
ФУНКЦИОНАЛЬНАЯ СХЕМА23.
ФУНКЦИОНАЛЬНАЯ СХЕМА24.
ФУНКЦИОНАЛЬНАЯ СХЕМА25.
ФУНКЦИОНАЛЬНАЯ СХЕМА26.
ФУНКЦИОНАЛЬНАЯ СХЕМА27.
ФУНКЦИОНАЛЬНАЯ СХЕМА28.
СТРУКТУРНАЯ СХЕМА29.
СЦЕНАРИЙ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА30.
СЦЕНАРИЙ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА31.
ИНТЕРФЕЙС ГЛАВНОЙ ФОРМЫФрагмент кода (основной функционал)
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click_1(object sender, EventArgs e)
{
Form2 form2 = new Form2();
this.Hide();
form2.Show();
}
private void button3_Click(object sender, EventArgs e)
{
DictionaryForm form = new DictionaryForm();
Hide();
ShowDialog();
Show();
}
32.
СПРАВКАprivate void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
this.Hide();
form1.Show();
}
33.
ИНТЕРФЕЙС ВЫБОРА РОЛИФрагмент кода (основной функционал)
private void button1_Click(object sender, EventArgs e)
{
Form3 form3 = new Form3();
this.Hide();
form3.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form5 form5 = new Form5();
this.Hide();
form5.Show();
}
34.
ИНТЕРФЕЙС ФОРМЫ РЕГИСТРАЦИИ ЗА ПОЛЬЗОВАТЕЛЯФрагмент кода (основной функционал)
private void insterUsernameToDatabase(string username)
{
using (OleDbConnection connection = new
OleDbConnection($@"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source={Storage.pathDb};"))
{
connection.Open();
string query = "INSERT INTO Авторизация (пользователь)
VALUES (@username)";
OleDbCommand command = new OleDbCommand(query,
connection);
command.Parameters.AddWithValue("@пользователь",
username);
35.
ИНТЕРФЕЙС ФОРМЫ АВТОРИЗАЦИИ ЗА ПОЛЬЗОВАТЕЛЯФрагмент кода (основной функционал)
private void button1_Click(object sender, EventArgs e)
{
string username = textBox1.Text;
if (doesUsernameExist(username))
{
Hide();
Form6 form6 = new Form6();
form6.Show();
Storage.role = "client";
}
else
{
MessageBox.Show("Имя пользователя не найдено или
введено неккоретно!");
}
}
36.
ИНТЕРФЕЙС ФОРМЫ АВТОРИЗАЦИИ ЗА АДМИНИСТРАТОРАФрагмент кода (основной функционал)
private bool doesAccountExist(string username, string password)
{
using (OleDbConnection connection = new
OleDbConnection($@"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source={Storage.pathDb}"))
{
connection.Open();
string query = "select * from Авторизация where
пользователь = @username and пароль = @password";
OleDbCommand command = new OleDbCommand(query,
connection);
command.Parameters.AddWithValue("@пользователь",
username);
command.Parameters.AddWithValue("@пароль", password);
37.
ИНТЕРФЕЙС ВЫБОРА ТАБЛИЦЫ(общая форма за пользователя и администратора)
Фрагмент кода (основной функционал)
private void button1_Click(object sender, EventArgs e)
{
Form7 form7 = new Form7();
this.Hide();
form7.ShowDialog();
Show();
}
private void button2_Click(object sender, EventArgs e)
{
Hide();
Form8 form8 = new Form8();
this.Hide();
form8.ShowDialog();
Show();
}
38.
ИНТЕРФЕЙС ПРОСМОТРА ТАБЛИЦЫ(На примере таблицы «Клиент». Просмотр от пользователя).
Фрагмент кода (основной функционал)
private void button6_Click(object sender, EventArgs e)
{
string searchValue = textBox1.Text; // Значение для поиска
try
{
// Создание подключения к базе данных
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open(); // Открытие подключения
// Запрос для поиска значения в таблице
string query = "SELECT * FROM Клиент WHERE Имя =
@searchValue"; // Замените TableName и
39.
ИНТЕРФЕЙС ПРОСМОТРА ТАБЛИЦЫ(На примере таблицы «Клиент». Просмотр от администратора).
Фрагмент кода (основной функционал)
private void Form7_Load(object sender, EventArgs e)
{
OleDbConnection dbConnection = new
OleDbConnection(connectionString);
dbConnection.Open();
string query = "SELECT * FROM Клиент";
OleDbCommand dbCommand = new OleDbCommand(query,
dbConnection);
OleDbDataReader dbDataReader = dbCommand.ExecuteReader();
if (dbDataReader.HasRows == false)
{
MessageBox.Show("Данные не найдены!", "Ошибка!");
40.
ИНТЕРФЕЙС ПРОСМОТРА ДИАГРАММ(Просмотр от лица администратора или пользователя).
Фрагмент кода (основной функционал)
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection connection = new
OleDbConnection(connectionString);
connection.Open();
chart1.Series.Clear();
string query = "SELECT Товар.заголовок,
SUM(Продажа.Количество) AS Сумма FROM Товар INNER JOIN
Продажа ON Продажа.Код_товар = Товар.Код GROUP BY
Товар.заголовок;";
Series dataSeries = new Series("Data");
dataSeries.ChartType = SeriesChartType.Column;
using (OleDbCommand command = new OleDbCommand(query,
connection))
41.
ЗАКЛЮЧЕНИЕВ результате разработки выпускной квалификационной
работы:
1) Исследованы:
- предметная область;
- входные и выходные данные;
- функции программного продукта;
- назначение программного продукта.
2. Разработаны:
- функциональная схема программного продукта;
- структурная схема программного продукта;
- файл справочной информации программного продукта.
42.
ЗАКЛЮЧЕНИЕ3. Выбрана наиболее эффективная среда программирования –
язык программирования C# и среда разработки Windows
Forms.
4. Описаны технологии создания пользовательского
интерфейса, технологии создания структуры базы данных,
технология создания справочной системы и технология
формирования отчётности.
43.
ЗАКЛЮЧЕНИЕ5. Разработан программный продукт «Магазин по продаже
кассет и дисков».
6. Программный продукт протестирован методом «Черного
ящика». Выявлены ошибки при подключении базы данных к
программному продукту, которые в дальнейшем были
устранены.
44.
ПЕРСПЕКТИВА РАЗВИТИЯ- редактирование таблиц;
- добавление новых клиентов;
- добавление новых товаров;
- добавление новых поставщиков;
- добавление новых поставок;
- добавление новых заказов.