- •Введение
- •1 История предприятия
- •История и структурная схема факультета «Искусства и архитектуры»
- •2 Анализ предметной области
- •3 Проектирование базы данных
- •3.1 Инфологическое проектирование модели базы данных
- •3.2 Логическое проектирование модели базы данных
- •3.3 Физическое проектирование модели базы данных
- •4 Описание структуры программы
- •5 Способы реализаций функций информационной системы
- •Заключение
- •Список использованной литературы
3.3 Физическое проектирование модели базы данных
Для создании базы данных была выбрана система управления базами данных Microsoft Access 2010. Преимуществом работы со средой является двусторонний режим редактирования (как в программе так и в субд), понятный рядовому пользователю.
Для разработки приложения используется среда разработки Visual Studio 2012, язык C#.
Рисунок 3.7 — Схема данных базы данных
4 Описание структуры программы
Структурная схема – схема, отражающая состав и взаимодействие по управлению частей разрабатываемого продукта. При объектной декомпозиции такими частями являются объекты.
Рисунок 4.1 – Структурная схема программного продукта
Данный программный продукт имеет следующую структурную схему:
загружается окно выбора базы данных add.cs. После чего появляется окно аторизации, если пользователь успешно авторизовался, то открывается главное окно программы, где он может выполнять различные действия, ввозить/вывозить товары со склада, просматривать содержимое, добавлять сотрудников.
5 Способы реализаций функций информационной системы
Структура обработки информации представлена на рисунке 3.2.
Рисунок 5.1 – Структура обработки информации
Для вывода информации из таблицы general в объект класса dataGridView был реализован следующий алгоритм
void loadContent()
{
connect connect = new connect();
con = connect.con(path);
dataGridView1.Rows.Clear();
cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM `general` ORDER BY id";
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
dataGridView1.Rows.Add(1);
for (int i = 0; i < 7; i++)
{
dataGridView1[i, count_row].Value = rdr[i];
}
dataGridView1.Rows[0].Cells[0].Selected = false;
if (rdr[5].ToString() == "Импорт")
{
dataGridView1.Rows[count_row].DefaultCellStyle.BackColor = (Color)ColorTranslator.FromHtml("#e0f0c0");
}
else
dataGridView1.Rows[count_row].DefaultCellStyle.BackColor = (Color)ColorTranslator.FromHtml("#e97d7d");
count_row++;
}
count_row = 0;
con.Close();
}
Для вывода информации о том, что имеется на складе был реализован следующий алгоритм:
while (rdr.Read())
{
int imp = 0, exp = 0;
count = 0;
cmd2 = con.CreateCommand();
cmd2.CommandText = "SELECT volume FROM `general` WHERE tovar='" + rdr[count++] + "' and deistvie='Импорт'";
rdr2 = cmd2.ExecuteReader();
while(rdr2.Read())
{
imp += int.Parse(rdr2[0].ToString());
}
count = 0;
cmd2 = con.CreateCommand();
cmd2.CommandText = "SELECT volume FROM `general` WHERE tovar='" + rdr[count++] + "' and deistvie='Экспорт'";
rdr2 = cmd2.ExecuteReader();
while (rdr2.Read())
{
exp += int.Parse(rdr2[0].ToString());
}
if (imp >= exp)
{
dataGridView1.Rows.Add(1);
dataGridView1[0, count_row].Value = rdr[0];
dataGridView1[1, count_row].Value = (imp - exp).ToString();
if (count_row % 2 == 0)
{
dataGridView1.Rows[count_row].DefaultCellStyle.BackColor = (Color)ColorTranslator.FromHtml("#98bec9");
}
else
dataGridView1.Rows[count_row].DefaultCellStyle.BackColor = (Color)ColorTranslator.FromHtml("#f9e3b4");
count_row++;
}
}