Курсовая работа: Разработка приложения Библиотека

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

else

dataGridView1.DataSource = SearchAdapter.GetData(pr, pr, pr, gr, gr);

for (int i = 0; i < dataGridView1.Rows.Count; i++)

if (Convert.ToInt32(dataGridView1["Количество", i].Value) == 0)

dataGridView1.Rows.RemoveAt(i);

}

private void checkedListBoxGenres_SelectedIndexChanged(object sender, EventArgs e)

{

if (checkedListBoxGenres.CheckedItems.Count > 1)

{

for (int i = 0; i < checkedListBoxGenres.Items.Count; i++)

checkedListBoxGenres.SetItemChecked(i, false);

checkedListBoxGenres.SetItemChecked(checkedListBoxGenres.SelectedIndex, true);

}

textBoxSearch_TextChanged(textBoxSearch, null);

}

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

Листинг 2.3 - Резервирование книги

SQL:

countGranted(int, int):

SELECT COUNT(id) AS Expr1

FROM granted_books

WHERE (id_book = ?) AND (id_ticket = ?)

countReserved(int, int):

SELECT COUNT(id) AS Expr1

FROM reserved_books

WHERE (id_book = ?) AND (id_tiket = ?)

Reserve(int, int):

INSERT INTO reserved_books

(id_tiket, id_book, until)

VALUES (?, ?, DATE_ADD(CURDATE(), 5))

UpdateAddCount(int, int):

UPDATE books

SET `count` = ?

WHERE (id = ?)

C#:

private void buttonReserve_Click(object sender, EventArgs e)

{

int ticket = Program.MainForm.TicketID;

int indx = dataGridView1.SelectedRows[0].Index;

int idBook = Convert.ToInt32(dataGridView1["id", indx].Value.ToString());

if (Convert.ToInt32(Program.Queries.countGranted(idBook, ticket)) > 0) {

MessageBox.Show("Вы уже взяли эту книгу", "Неа", MessageBoxButtons.OK, MessageBoxIcon.Information);

return;

}

else if (Program.Queries.countReserved(idBook, ticket) > 0)

{

MessageBox.Show("Вы уже зарезервировали эту книгу", "Неа", MessageBoxButtons.OK, MessageBoxIcon.Information);

return;

}

Program.Queries.Reserve(ticket, idBook);

MessageBox.Show("Книга успешно зарезервирована на 5 дней ", "Неа", MessageBoxButtons.OK, MessageBoxIcon.Information);

Program.Queries.UpdateAddCount(-1, idBook);

}

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

2.3 Руководство программиста

Разработка программы «MyLibrary» велась по принципам объектно-ориентированного программирования.

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

- Среда разработки приложения -Visual Studio 2019;

- языки программирования - C#, SQL;

- среда разработки SQL Server БД- dbForge Studio2020 for MySQLVersion9.0.391;

- программный интерфейс доступа к базам данных- connectorodbcwin32 v. 5.3.14.

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

– Процессор Intel(R) Core(TM) i3-5005U CRU 2.00 GHz 4-ядерный;

– Операционная система Windows 10 Home;

– Оперативная память 12 ГБ 1600 МГц DDR3.

На основании этих данных можно сделать вывод, что для устойчивой и корректной работы программы желательно, чтобы компьютер отвечал вышеперечисленным требованиям.

Установка приложения на ПК происходит через запуск скомпилированного exe-файла

Перед началом работы, необходимо убедится, что MySQL-сервер включен. Обращение к приложению осуществляется открытием файла MyLibrary.exe.

2.4 Краткое руководство пользователя

Работа программы начинается с основного окна. Если пользователь уже входил в аккаунт на этом устройстве, то его данные будут сохранены в программе и он может приступать к работе (рис. 2.3). В противном случае программа выведет только каталог товаров и предложит авторизироваться. (рис. 2.4)

Рисунок 2.3 - Главная форма авторизированного пользователя

Рисунок 2.4 - Главная форма неавторизированного пользователя

Если пользователь нажал кнопку «Авторизоваться», то его встретит окно авторизации (рисунок 2.5)

Рисунок 2.5 - Авторизация

После регистрации можно добавить читательский билет, чтоб иметь возможность резервировать книги.

Рисунок 2.6 - Регистрация чит. билета

Если зайти под работником или админом, то появиться возможность открывать вкладки «Добавить книги» (рисунки 2.7-2.8).

Так же у работника или админа есть до ступ к вкладке «Работник» (рисунки 2.9 - 2.12).

Рисунок 2.7 - «Добавить книги» - книги

Рисунок 2.8 - «Добавить книги» - атрибуты

Рисунок 2.9 - «Работник» - выданные книги

Рисунок 2.10 - «Работник» - читательские билеты

Рисунок 2.11 - «Работник» - зарезервированные книги

Рисунок 2.12 - «Работник» - графики

Вкладка «Админ» доступна исключительно админу. В ней можно добавлять аккаунты для новых работников и редактировать старые (рисунок 2.13).

Рисунок 2.12 - «Работник» - графики

Каждая таблица, имеющая кнопку «отчёт Excel» может быть выгружена в Excel, посредством нажатия данной кнопки. Пример отчёта таблицы выданных книг изображён на рисунке 2.13

Рисунок 2.13 - Отчёт

Таким образом, вышеописанный функционал полностью покрывает все потребности пользователя и позволяет эффективно работать с приложением.

2.5 Тестирование приложения

В качестве методики тестирования функционального поведения системы была выбрана стратегия «черного ящика», которая подразумевает неиспользование сведений о структуре исходного кода, то есть с точки зрения внешнего мира. Такая стратегия позволяет изучить реакцию системы на разнообразные внешние воздействия, тем самым субъект тестирования концентрируется на том, что делает программа, а не как она это выполняет.

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

Результаты тестирования приведены в таблице 2.1.

Таблица 2.1- Результаты тестирования

Цель испытания

Ожидаемый результат

Полученный результат

1

Ввод корректных данных (пользователь)

Вход в систему как пользователь

Положительный

2

Ввод корректных данных (администратор)

Вход в систему как администратор

Положительный

3

Ввод некорректных данных (пользователь)

Вывод сообщения об ошибке

Положительный

4

Ввод корректных данных (работник)

Вход в систему как работник

Положительный

5

Ввод некорректных данных (администратор)

Вывод сообщения об ошибке

Положительный

6

Ввод значения логина, который уже существует в базе, при регистрации

Вывод сообщения об ошибке

Положительный

7

Ввод символьных значений в ячейку значения телефонный номер

Маска не даст вписать символы

Положительный

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

2.6 Выводы по главе

Во второй главе была подробно рассмотрена реализация разработанного приложения «Система кадров».

Вначале была рассмотрена структура приложения, из чего оно состоит и как взаимодействуют между собой её компоненты. Затем были реализованы бизнес-правила, составлена UML-диаграмма прецедентов и диаграмма активности.

Далее было приведено руководство программиста, в котором описаны средства, используемые для разработки ПО и необходимые для его компиляции, а также характеристики программы.

Затем было приведено руководство пользователя. В нём были приведены наглядные примеры работы с приложением.

Также проведенное тестирование программного продукта по методу «черного ящика» позволило оценить устойчивость разрабатываемого продукта к элементарным ошибкам и к некорректной работе пользователя с программой.

программный логический бизнес приложение

Заключение

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

Для достижения поставленной цели были выполнены следующие задачи:

- осуществлен анализ аналогов;

- произведено проектирование базы данных по трем этапам: концептуальное, логическое, физическое проектирование, в ходе которых было создано пять таблиц;

- выбрана целевая СУБД;

- разработана структура программной системы;

- составлены UML-диаграмма прецедентов и диаграмма активности;

- осуществлена программная реализация приложения;

- приведены руководства пользователя и программиста;

- проведено тестирование разработанного ПО по методу «черного ящика».

Данная программа имеет широкий потенциал к развитию. В неё можно внести дополнительный функционал, например, вывод всех взятых книг читателя и дату сдачи. Можно добавить возможность пользователю связать свой читательский билет, который он создал offline в реальной библиотеке со своим аккаунтом и т.д.

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

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

1. 1С:Библиотека: сайт. - 2013

2. Koha: сайт. - 2021

3. АБИС Либра: сайт. - 2021

4. Образовательный портал ТГУ: сайт. - 2021

5. Чигарина Е.И. Базы данных: учеб. пособие / Е.И. Чигарина. - Текст : электронный // Самара: Изд-во СГАУ, 2015. - 208 с.

6. Миллер Р. Бизнес-правила в среде разработки и моделирования / Р. Миллер - Текст: электронный // interface.ru: сайт.

7. Леоненков А.В. Самоучитель UML. / А.В. Леоненков. - Текст: электронный. // СПб.: БХВ-Петербург, 2004. - 432 с

Приложение А

Техническое задание на разработку

Введение

Проектирование БД «Библиотека» ведется для упрощения работы библиотекаря со всем ассортиментом предложенных книг и учебных пособий, а также для учёта взятых и оставшихся в наличии книг, а так же дать читателям возможность ознакомиться с каталогом библиотеки онлайн и даже зарезервировать книгу.

Полное наименование: Разработка приложения «Библиотека».

Краткое наименование: Приложение «MyLibrary.exe».

Вид разработки: разработка прикладного ПО.

Разработчик: Соколенко Иван Алексеевич.

Основание для разработки

Разработка программного продукта ведется на основании учебного плана СибГУ им. М.Ф. Решетнева по направлению подготовки 09.03.04 «Программная инженерия».

Плановые сроки начала и окончания выполнения работы

Плановый срок начала работ по 04.09.2021 - 09.09.2021

Плановый срок окончания работ по 22.12.2021 - 25.12.2019

Назначение разработки

Разрабатываемый программный продукт предназначен работы с кадровым учётом сотрудников.

Требования к программе

Требования к функциональным характеристикам

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

Программа должна:

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

позволять просматривать графики авторов и жанров;

осуществлять поиск книг по их названию, автору, издателю.

Создаваемые отчеты в программе должны предоставлять следующую информацию:

информацию о книгах в библиотеке;

список выданных книг и читательские билеты забравших.

Требования к надежности

В программе должен быть обеспечен контроль за целостностью данных. Возникновение каких-либо внутренних ошибок не должно приводить к утере данных. Программа должна предусмотреть, чтобы пользователь завершил все операции перед закрытием программы.

Для защиты от несанкционированного использования должен быть предусмотрен вход по логину.

Требования к составу и параметрам технических средств

процессор с частотой не ниже 2.00 ГГц.;

оперативная память не меньше 4Гб.;

не менее 10Мб свободного места на жестком диске;

Требования к информационной и программной совместимости

операционная система Windows 7/8/10.

Состав и содержание работ по выполнению курсовой работы

Таблица А.1 - Календарный план-график выполнения стадий и этапов разработки

Наименование работ

Сроки выполнения

Анализ предметной области

15.09.2021

Обзор существующего программного обеспечения

20.09.2021

Концептуальное проектирование базы данных

10.10.2021

Разработка бизнес-правил

23.10.2021

Логическое проектирование базы данных

07.11.2021

Выбор целевой СУБД

21.11.2021

Физическое проектирование базы данных

01.12.2021

Разработка структуры приложения

09.12.2021

Разработка пользовательского интерфейса

10.12.2021

Программная реализация приложения

17.12.2021

Разработка отчетов и графиков

19.12.2021

Тестирование и отладка приложения

19.12.2021

Оформление пояснительной записки

22.12.2021

Предоставление преподавателю всех необходимых для защиты материалов

25.12.2021