Главная страница

Курсовая работа. ПЗ_Самый итоговый вариант. Допустить к защите


Скачать 1.4 Mb.
НазваниеДопустить к защите
АнкорКурсовая работа
Дата25.03.2021
Размер1.4 Mb.
Формат файлаdocx
Имя файлаПЗ_Самый итоговый вариант.docx
ТипПояснительная записка
#188081
страница12 из 12
1   ...   4   5   6   7   8   9   10   11   12

Заключение


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

Данный программный продукт обеспечивает выполнение следующих задач:

  • добавление, изменение, удаление и хранение информации;

  • просмотр и редактирование справочника услуг;

  • возможность учёта персонала, заказов, клиентов;

  • поиск необходимой информации;

  • оформление заказа;

  • подсчет итоговой суммы заказов, выполненных за определенный период;

  • защиту от несанкционированного доступа.

Все критерии, необходимые для безотказной работы программы соблюдены:

  • хранение информации;

  • формирование отчетов;

  • выполнение поиска нужных данных;

  • улучшение взаимоотношения с клиентами.

С помощью программного обеспечения, предприятию удалось ускорить принятие и рассмотрение заявок, уменьшить время ожидания клиента.

Список использованных источников


  1. Бурков, А.В. Проектирование информационных систем в Microsoft SQL Server 2008 и Visual Studio 2008 [Электронный ресурс] / А.В. Бурков. – 4-е изд. – Электрон.дан. – Москва: Национальный Открытый Университет «ИНТУИТ», 2015. – Режим доступа: http://www.iprbookshop.ru/22431.html, только для зарегистрированных пользователей. – Загл. с экрана.

  2. Голицына, О.Л. Основы проектирования баз данных: учебное пособие [Электронный ресурс] / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. – 2-е изд., перераб. и доп. – Электрон.дан. – Москва: ФОРУМ: ИНФРА-М, 2017. – Режим доступа: https://znanium.com/catalog.php?bookinfo=899656, только для зарегистрированных пользователей. – Загл. с экрана.

  3. Дейтел, П. Как программировать на Visual C# 2012 [Электронный ресурс] / П. Дейтел, Х. Дейтел. – 5-е изд. – Электрон.дан. – Санкт-Петербург: Питер, 2015. – Режим доступа: https://ibooks.ru/reading.php?productid=341183, только для зарегистрированных пользователей. – Загл. с экрана.

  4. Заботина, Н.Н. Проектирование информационных систем: Учебное пособие [Электронный ресурс] / Н.Н. Заботина. – Электрон.дан. – Москва: НИЦ ИНФРА-М, 2015. – Режим доступа: http://znanium.com/bookread2.php? book=454282, только для зарегистрированных пользователей. – Загл. с экрана.

  5. Карпова, И.П. Базы данных. Учебное пособие [Электронный ресурс] / И.П. Карпова. – Электрон.дан. – Санкт-Петербург: Питер, 2013. Режим доступа: https://ibooks.ru/reading.php?productid=334057, только для зарегистрированных пользователей. – Загл. с экрана.

  6. Мартишин, С. А. Базы данных. Практическое применение СУБД SQL и NoSOL-типа для применения проектирования информационных систем: Учебное пособие [Электронный ресурс] / С.А. Мартишин, В.Л. Симонов, М.В. Храпченко. – Электрон.дан. – Москва: ИД «ФОРУМ»: ИНФРА-М, 2018. – Режим доступа: http://znanium.com/bookread2.php?book=926871.

  7. Тарасов, С.В. СУБД для программиста. Базы данных изнутри [Электронный ресурс] / С.В. Тарасов. – Электрон.дан. – Москва: СОЛОНПРЕСС, 2015. – Режим доступа: https://ibooks.ru/reading.php?productid=344900, только для зарегистрированных пользователей. – Загл. с экрана.

  8. Туманов, В.Е. Основы проектирования реляционных баз данных [Электронный ресурс] / В.Е. Туманов. – Электрон.дан. – Москва: Национальный Открытый Университет «ИНТУИТ», 2016. – Режим доступа: http://www.iprbookshop.ru/16730.html, только для зарегистрированных пользователей. – Загл. с экрана.

  9. Федорова, Г.Н. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности: учебное пособие [Электронный ресурс] / Г.Н. Федорова. – Электрон.дан. – Москва: КУРС: ИНФРА-М, 2018. – Режим доступа: http://znanium.com/bookread2.php?book=898670, только для зарегистрированных пользователей. – Загл. с экрана.

  10. Интерактивный учебник по Visual C# – [интернет-ресурс] – https://msdn.microsoft.com/ru-ru/library/bb383962(v=vs.90).aspx

  11. Интерактивный учебник по Visual Studio – [интернет-ресурс] – https://msdn.microsoft.com/ru-ru/library/90h82b3x(v=vs.90).aspx

Приложение А

Текст программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace DryCleaning

{

public partial class Sotrud : Form

{

static public string @Sotr;

public Sotrud()

{

InitializeComponent();

}
private void сотрудникиBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.сотрудникиBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.химчисткаDataSet);

}
private void Form2_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'химчисткаDataSet.Должность' table. You can move, or remove it, as needed.

this.должностьTableAdapter.Fill(this.химчисткаDataSet.Должность);

if (Auth.admin == true)

{

// TODO: This line of code loads data into the 'химчисткаDataSet.Сотрудники' table. You can move, or remove it, as needed. this.сотрудникиTableAdapter.Fill(this.химчисткаDataSet.Сотрудники);

}

else

{

MessageBox.Show("У вас недостаточно прав для просмотра");

this.Close();

Glavn f1 = new Glavn();

f1.Show();

}

}

//Процедура для добавления фотографии сотрудника в таблицу Сотрудники базы данных

private void dobavFoto_Click(object sender, EventArgs e)

{

Bitmap image; //Bitmap для открываемого изображения

OpenFileDialog open_dialog = new OpenFileDialog();

open_dialog.Filter =

"Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";

if (open_dialog.ShowDialog() == DialogResult.OK)

{

try

{

image = new Bitmap(open_dialog.FileName);

this.фотоPictureBox.Size = image.Size;

фотоPictureBox.Image = image;

фотоPictureBox.Invalidate();

}

catch

{

DialogResult rezult = MessageBox.Show("Невозможно открыть выбранный файл", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

фотоPictureBox.SizeMode = PictureBoxSizeMode.Zoom;

this.Validate();

this.сотрудникиBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.химчисткаDataSet);

}

//Процедура сортировки табличных данных по выбранному столбцу по убыванию

private void sortDesc_Click(object sender, EventArgs e)

{

if (ComboBoxSortColumns.SelectedIndex > -1) сотрудникиDataGridView.Sort(сотрудникиDataGridView.Columns[ComboBoxSortColumns.SelectedIndex], ListSortDirection.Descending);

}

//Процедура фильтрации табличных данных по фамилии сотрудника

private void filtr_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.Filter = "Фамилия='" + comboBox1.Text + "'";

}

//Процедура отмены фильтрации

private void button4_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.Filter = "";

}

//Процедура поиска данных

private void poisk_Click(object sender, EventArgs e)

{

for (int i = 0; i < сотрудникиDataGridView.RowCount; i++)

{

сотрудникиDataGridView.Rows[i].Selected = false;

for (int j = 0; j < сотрудникиDataGridView.ColumnCount; j++)

if (сотрудникиDataGridView.Rows[i].Cells[j].Value != null)

if (сотрудникиDataGridView.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))

{ сотрудникиDataGridView.Rows[i].Selected = true;

break;

}

}

}

//Процедура отмены поиска

private void button5_Click(object sender, EventArgs e)

{

for (int i = 0; i < сотрудникиDataGridView.RowCount; i++)

{

сотрудникиDataGridView.Rows[i].Selected = false;

}

}

//Добавление данных в таблицу Сотрудники

private void dobav_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.AddNew();

}

//Удаление данных из таблицы Сотрудники

private void udalen_Click(object sender, EventArgs e)

{

сотрудникиBindingSource.RemoveCurrent();

}

//Сохранение изменений данных в таблице Сотрудники

private void sohran_Click(object sender, EventArgs e)

{

try

{

this.Validate();

this.сотрудникиBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.химчисткаDataSet);

}

catch

{

MessageBox.Show("Введены неверные данные!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

//Обновление данных в таблице Сотрудники

private void obnov_Click(object sender, EventArgs e)

{ this.сотрудникиTableAdapter.Fill(this.химчисткаDataSet.Сотрудники);

}

//Выход из формы

private void vyhod_Click(object sender, EventArgs e)

{

Glavn f1 = new Glavn();

f1.Show();

this.Hide();

}

//Открытие отчета Договор

private void button12_Click(object sender, EventArgs e)

{

@Sotr = фамилияTextBox.Text;

Report1 f3 = new Report1();

f3.Show();

}

//Обработка ввода ошибочных данных в таблицу Сотрудники

private void сотрудникиDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)

{

MessageBox.Show("Введены не верные данные!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

//Процедура сортировки табличных данных по выбранному столбцу по возрастанию

private void sortAsc_Click(object sender, EventArgs e)

{

if (ComboBoxSortColumns.SelectedIndex > -1)

сотрудникиDataGridView.Sort(сотрудникиDataGridView.Columns[ComboBoxSortColumns.SelectedIndex], ListSortDirection.Ascending);

}

}

}

Листинг формы «Авторизация»:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.Data.Common;
namespace DryCleaning

{

public partial class Auth : Form

{

static public Boolean admin;

static public Boolean mened;

static public Boolean sotr;

static public string @fam;

public Auth()

{

InitializeComponent();

}
private void vhod_Click(object sender, EventArgs e)

{

//Проверка на заполнение полей авторизации

if (textBox1.Text == "")

{

MessageBox.Show("Вы не ввели логин.");

return;

}

if (textBox2.Text == "")

{

MessageBox.Show("Вы не ввели пароль.");

return;

}

if (comboBox1.Text == "")

{

MessageBox.Show("Вы не выбрали тип пользователя.");

return;

}

//создание подключения к базе данных.

SqlConnection con = new SqlConnection(@"Data Source=WIN-1UIALDNCRFO\SQLEXPRESS; Initial Catalog=Химчистка; Integrated Security=True; User Instance=False");

//присвоение переменной str строки запроса

string str = "select * from Авторизация " + "where Логин='" + textBox1.Text + "' " + "and Пароль='" + textBox2.Text + "'" + "and Тип_пользователя='" + comboBox1.Text + "'";

//открытие подключения к базе данных

con.Open();

//создание и выполнение sql-выражения

SqlCommand cmd = new SqlCommand(str, con);

object obj = cmd.ExecuteScalar();

//если запрос ничего не вернул выводим сообщение

if (obj == null)

{

MessageBox.Show("Такого логина и пароля с таким типом пользователя в БД нет.");

}

//иначе для директора и менеджера открываем главную форму, а для сотрудника - форму Заказы

else

{

if (comboBox1.Text == "Директор")

{

Glavn f1 = new Glavn();

f1.Show();

this.Hide();

admin = true;

}

if (comboBox1.Text == "Менеджер")

{

this.Hide();

Glavn f1 = new Glavn();

f1.Show();

mened = true;

}

if (comboBox1.Text == "Сотрудник")

{

this.Hide();

@fam = textBox1.Text;

ZakazySotr f15 = new ZakazySotr();

f15.Show();

sotr = true;

}

}

}
private void button3_Click(object sender, EventArgs e)

{

Application.Exit();

}
private void button2_Click(object sender, EventArgs e)

{

Registr f14 = new Registr();

f14.Show();

this.Hide();

}

}

}

Листинг формы «Регистрация»:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.Data.Common;
namespace DryCleaning

{

public partial class Registr : Form

{

public Registr()

{

InitializeComponent();

}
private void Registracia_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")

{

MessageBox.Show("Вы не ввели логин.");

return;

}

if (textBox2.Text == "")

{

MessageBox.Show("Вы не ввели пароль.");

return;

}

if (textBox2.Text != textBox3.Text)

{

MessageBox.Show("Введенные пароли не совпадают.");

return;

}

SqlConnection con = new SqlConnection(@"Data Source=WIN-1UIALDNCRFO\SQLEXPRESS; Initial Catalog=Химчистка; Integrated Security=True; User Instance=False");

try

{

string str="insert into Авторизация (Логин, Пароль, Тип_пользователя) values (@log, @pas, @p3)";

con.Open();

SqlCommand cmd = new SqlCommand(str, con);

//добавим три параметра - логин, пароль, а тип учетной записи будет постоянный - сотрудник

cmd.Parameters.AddWithValue("@log", textBox1.Text);

cmd.Parameters.AddWithValue("@pas", textBox2.Text);

cmd.Parameters.AddWithValue("@p3", "Сотрудник");

cmd.ExecuteNonQuery();

con.Close();

MessageBox.Show("Запись успешно добавлена.");
this.Hide();

Auth f13 = new Auth();

f13.Show();

Auth.sotr = true;

}

catch

{

MessageBox.Show("Возможно такой логин уже существует в БД.");

}

}

private void button2_Click(object sender, EventArgs e)

{

this.Hide();

Auth f13 = new Auth();

f13.Show();

}

}

1   ...   4   5   6   7   8   9   10   11   12


написать администратору сайта