Разработка приложения "Библиотека"

Анализ существующего программного обеспечения. Концептуальное, логическое и физическое проектирование базы данных. Выбор целевой системы управления БД Реализация бизнес-правил. Руководство программиста и пользователя. Структура и тестирование приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.03.2023
Размер файла 3,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева»

Институт информатики и телекоммуникаций

Кафедра информатики и вычислительной техники

КУРСОВАЯ РАБОТА

Базы данных

Разработка приложения «Библиотека»

Обучающийся И.А. Соколенко

Красноярск 2021 г.

Институт информатики и телекоммуникаций

Кафедра информатики и вычислительной техники

ЗАДАНИЕ

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

обучающемуся Соколенко Ивану Алексеевичу

Группа БПИ 19-01 Форма обучения очная

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

Срок сдачи курсовой работы 25.12.2021

Перечень вопросов, подлежащих разработке при написании теоретической части:

1. Системный анализ предметной области.

2. Объектно-ориентированное моделирование программы:

2.1.Разработка UML-диаграммы прецедентов

2.2 Разработка UML-диаграммы активности

3. Разработка состава модулей программы

4. Разработка базы данных

4.1. Концептуальное проектирование БД

4.2 Логическое проектирование БД

Перечень вопросов, подлежащих разработке при написании практической части:

1. Разработка базы данных

2. Разработка кода программы

3. Тестирование программы

4. Разработка руководства пользователя

5. Разработка руководства программиста

Содержание

  • Введение
  • 1. Проектирование базы данных
    • 1.1 Анализ существующего программного обеспечения
    • 1.2 Концептуальное проектирование базы данных
    • 1.3 Логическое проектирование базы данных
    • 1.4 Выбор целевой СУБД
    • 1.5 Физическое проектирование базы данных
    • 1.6 Выводы по главе
  • 2. Разработка приложения
    • 2.1 Структура программной системы
    • 2.2 Реализация бизнес-правил
    • 2.3 Руководство программиста
    • 2.4 Краткое руководство пользователя
    • 2.5 Тестирование приложения
    • 2.6 Выводы по главе
  • Заключение
  • Список использованных источников
  • Приложение А

Введение

Актуальность. Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД).

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

Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.

Цель и задачи. Целью курсовой работы является разработка базы данных с последующей ее реализацией в виде пользовательского интерфейса.

Для достижения поставленной цели необходимо решить следующие задачи:

- выполнить анализ аналоговых программных обеспечений по теме системы кадров;

- определить объект автоматизации;

- осуществить обзор программного обеспечения в рассматриваемой предметной области;

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

- выбрать целевую СУБД;

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

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

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

- провести тестирование разработанной программной системы.

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

В первой главе курсовой работы приводится анализ программного продукта со схожим функционалом, обзор существующего ПО, выбор целевой СУБД и разработка базы данных.

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

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

1. Проектирование базы данных

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

Обзор существующих аналогов следует начать с самого популярного программного продукта по выбранной теме. Эти продуктом является приложение «1С:Библиотека» [1]. На рисунке 1.1 изображена демонстрация работы программы.

Это программа создана для автоматизации деятельности библиотек любого типа и назначения. Продукт позволяет автоматизировать рабочие процессы библиотеки, в зависимости от ее назначения, типа, состава фондов, может быть интегрирован с другими типовыми решениями фирмы "1С". Есть конфигурации для школы, ВУЗа, колледжа.

Рисунок 1.1 - Демонстрация работы программы «1С:Библиотека»

Следующим аналогом рассмотрим приложение «Koha» [2]. На рисунке 1.2 изображена демонстрация работы программы.

Open-source автоматизированная библиотечная информационная система (АБИС). Интерфейс для библиотекарей и читателей (посетителей). Поиск. Оборот книг и управление читателями. Модуль каталогизации со встроенным клиентом Z39.50. Koha - это настоящий ИТС корпоративного класса с широкими функциональными возможностями, включая базовые и расширенные опции. Включает в себя модули для приобретения, распространения, каталогизации, управления полномочиями, гибкой отчетности, печати этикеток, многоформатных уведомлений, распространения в автономном режиме, когда доступ в Интернет недоступен, и многое другое. Koha будет работать с консорциумами всех размеров, многоотраслевыми и одноотраслевыми библиотеками.

Рисунок 1.2 - Демонстрация работы программы «Koha»

Теперь рассмотрим приложение «Либра» [3]. На рис. 1.3 изображена демонстрация работы программы.

Данная программа представляет собой программный комплекс, предназначенный для ведения учёта каталога книг и периодических изданий, ведения картотеки читателей, регистрации выдачи и возврата литературы (абонемент), поиска по каталогу и многое другое. Базовая версия АБИС «Либра», рассчитанная для работы на одном компьютере, распространяется бесплатно, при этом в системе нет каких-либо ограничений на количество регистрируемых изданий. Данный программный комплекс является полнофункциональной системой программного обеспечения библиотеки, может использоваться для систематизации и учёта книг, как в публичных библиотеках, так и в домашних условиях.

1. имеет все модули, необходимые для организации нормальной работы практически любой библиотеки: «Комплектование», «Каталогизация», «Каталог», «Абонемент», «Поиск», «Отчёты», «Администрирование», «Утилиты». Для удобства работы и систематизации вводимой информации в систему реализовано большое количество справочников;

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

3. не требует установки дополнительных программ, как то Access или другие СУБД;

4. все данные хранятся в одном файле, что позволяет легко организовать резервное копирование данных;

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

6. при необходимости система легко может быть модернизирована для многопользовательского применения;

7. позволяет выводить отчёты и результаты поиска на печать и выгружать в файл.

После завершения обзора аналогов ознакомиться с полными результатами сравнения существующего программного обеспечения можно в таблице 1.1.

Таблица 1.1 - Сравнительная таблица существующего ПО.

Характеристика

Название ПО

Поиск по книгам

Групповая политика

Диаграммы

Составление отчетов

Имеется бесплатный доступ

«1С:Библиотека»

+

+

-

+

+

«Koha»

+

+

-

+

+

«Либра»

+

-

-

+

+

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

Рисунок 1.3 - Демонстрация работы программы «Сотрудники предприятия»

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

Целью концептуального проектирования БД является создание концептуальной модели для анализируемой предметной области, опирающейся на смысл модулируемых данных и независимой от всех деталей реализации. Реализация модели будет выполнена с помощью ER-модели в нотации П. Чена. Основными понятиями в ER-модели являются:

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

- атрибут сущности - поименованная характеристика, являющаяся некоторым свойством сущности;

- связь - это ассоциация, установленная между несколькими сущностями и показывающая, как взаимодействуют сущности между собой [4].

Сначала были разработаны локальные ER-модели для каждого локального представления:

- жанр (рисунок 1.4);

- издатель (рисунок 1.5);

- автор (рисунок 1.6);

- сопоставление жанры-книга (рисунок 1.7);

- книга (рисунок 1.8);

- выданные книги (рисунок 1.9);

- читательский билет (рисунок 1.10);

- досье работника (рисунок 1.11);

- пользователь (рисунок 1.12);

- зарезервированные книги (рисунок 1.13);

Рисунок 1.4 - локальное представление «Жанр»

Рисунок 1.5 - локальное представление «Издатель»

Рисунок 1.6 - локальное представление «Автор»

Рисунок 1.7 - локальное представление «Сопоставление жанры-книга»

Рисунок 1.8 - локальное представление «Книга»

Рисунок 1.9 - локальное представление «Выданные книги»

Рисунок 1.10 - локальное представление «Читательский билет»

Рисунок 1.11 - локальное представление «Досье работника»

Рисунок 1.12 - локальное представление «Пользователь»

Рисунок 1.13 - локальное представление «Зарезервированные книги»

Далее, на основании локальных представлений была создана глобальная ER-модель, представленная на рисунке 1.14.

Рисунок 1.14 - глобальная ER-модель

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

Логическое проектирование представляет собой процесс конструирования модели данных на основе конкретной модели данных, независимо от конкретной СУБД и других деталей физической реализации.

На данном этапе проектирования БД необходимо преобразовать ER-модель в логическую модель базы данных следующим образом:

1. Каждый тип сущности преобразовать в таблицу БД. При этом туда вносятся все атрибуты, относящиеся к данному типу сущности.

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

3. Определить ограничения (уникальность первичного ключа, обязательность/необязательность заполнения значения)

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

Рисунок 1.15 - Логическая модель разрабатываемого ПО

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

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

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

Для того чтобы выбрать целевую СУБД, необходимо провести сравнительный анализ различных СУБД.

Первым вариантом рассмотрим самую популярную СУБД Oracle. Преимущества Oracle состоят в следующем: частые обновление от разработчиков и свежие функционалы, надёжность, высокая скорость выполнения запросов, простота в использовании. Несмотря на всё это, Oracle имеет серьёзный недостаток, который заключается в высокой стоимости продукта.

Вторым вариантом СУБД рассмотрим MySQL. MySQL считается лучшей СУБД после Oracle, поддерживается большим количеством операционных систем. Её преимущества заключаются в том, MySQL имеет бесплатный доступ, частые обновления функционала, простой и понятный интерфейс, высокую производительность, а также хорошую безопасность.

Ещё один из вариантов СУБД является программный продукт MicrosoftSQL-сервер. Интересными особенностями MicrosoftSQL-сервера являются доступ визуализации на мобильных устройствах и взаимодействие с продуктами Microsoft. MicrosoftSQL-сервер также имеет высокую производительность и интуитивно понятный интерфейс. Недостатком же является высокая стоимость.

Итоговое сравнение СУБД приведено в таблице 1.2

Таблица 1.2 - Сравнительный анализ СУБД

Характеристика

Название СУБД

Высокая производительность

Надёжность

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

Бесплатный доступ

Oracle

+

+

+

-

MySQL

+

+

+

+

MicrosoftSQL- сервер

+

+

+

-

Как можно заметить из таблицы, все рассмотренные СУБД имеют ряд положительных критериев. Но решающим факторов выбора СУБД является бесплатный доступ к продукту. Таким образом, для разработки ПО целевой была выбрана MySQL.

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

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

«Хранимая запись - совокупность связанных элементов данных, соответствующих одной или нескольким логическим записям. Хранимая запись (физическая запись) состоит из двух частей: служебной части и информационной. Служебная часть хранимой записи используется для идентификации записи, задания ее типа, хранения признака удаления, для хранения указателей на элементы записи, идентификатора длины записи, для установления структурных ассоциаций между записями, для кодирования значений элементов. Пользовательские программы не имеют доступа к служебной части физической записи. Поля информационной части хранимой записи содержат значения элементов данных» [5].

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

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

Таблица 1.3 - Таблица физического проектирования БД для MySQL

Наименование поля

Содержание поля

Тип поля

Размер поля

Значение по умолчанию

Условие на значение

Ключ или индекс

Перечень жанров (genres)

id

Код жанра

INT (Автоинкремент)

11

Уникальное NOTNULL

ПК

name

Название жанра

VARCHAR

50

NOTNULL

Перечень издателей (publishers)

id

Код издателя

INT (Автоинкремент)

11

NOTNULL

ПК

name

Наименование издателя

VARCHAR

50

NOTNULL

city

Город издателя

VARCHAR

50

NOTNULL

Перечень авторов (autors)

id

Код автора

INT (Автоинкремент)

11

Уникальное NOTNULL

ПК

name

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

VARCHAR

50

NOTNULL

Перечень книг (books)

id

Код книги

INT (Автоинкремент)

11

ПК

name

Наименование книги

VARCHAR

50

NOTNULL

Id_publisher

Код издателя

INT

11

NOTNULL

ВК

Id_autor

Код автора

INT

11

NOTNULL

ВК

count

Количество

INT

11

NOTNULL

Сопоставление книга-жанры (book_genres)

Id_book

Идентификатор книги

INT

11

ВК

Id_genre

Название жанра

INT (Автоинкремент)

11

ВК

Перечень читательских билетов (readers_tickets)

id

Номер чит. билета

INT (Автоинкремент)

11

ПК

phone_number

Телефонный номер

VARCHAR

50

NOTNULL

adress

Адрес

VARCHAR

50

NOTNULL

surname

Фамилия

VARCHAR

50

NOTNULL

name

Имя

VARCHAR

50

NOTNULL

patronymic

Отчество

VARCHAR

50

Перечень работников библиотеки (workers)

id

Код работника

INT (Автоинкремент)

11

ПК

surname

Фамилия

VARCHAR

50

NOTNULL

name

Имя

VARCHAR

50

NOTNULL

patronymic

Отчество

VARCHAR

50

Перечень пользователей (users)

id

Код пользователя

INT (Автоинкремент)

11

ПК

login

Логин

VARCHAR

50

NOTNULL

password

Пароль

VARCHAR

50

NOTNULL

id_ticket

Идентификатор чит. билета

INT

11

ВК

id_profile

Идентификатор работника

INT

11

ВК

type

Тип пользователя

INT

11

Перечень выданных книг (granted_books)

id

Код выдачи

INT (Автоинкремент)

11

ПК

id_ticket

Идентификатор чит. билета

INT

11

NOTNULL

ВК

id_book

Идентификатор книги

INT

11

NOTNULL

ВК

granted_date

Дата выдачи

DATE

NOTNULL

return_date

Дата возвращения

DATE

NOTNULL

returned

Книга возвращена?

TINYINT

1

NOTNULL

Перечень зарезервированных книг (reserved_books)

id

Код выдачи

INT (Автоинкремент)

11

ПК

id_ticket

Идентификатор чит. билета

INT

11

NOTNULL

ВК

id_book

Идентификатор книги

INT

11

NOTNULL

ВК

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

Рисунок 1.16 - Физическая модель базы данных

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

В данной главе были рассмотрены существующие программные аналоги по теме системы кадров, составлены локальные и глобальная ER-модели, составлена логическая модель ПО, рассмотрены варианты СУБД и выбран наиболее подходящий вариант, составлена таблица физического проектирования БД.

2. Разработка приложения

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

2.1 Структура программной системы

Для приложения было создано 1 форма:

- «Родительская форма» (MyLibrary).

Так же было разработано 11 элементов управления (User Control):

- «Добавить чит. билет» (AddTicket);

- «Добавить/изменить чит. билеты» (AddTickets);

- «Добавление/удаление сотрудника/изменение данных о сотруднике» (Admin);

- «Авторизация пользователя» (Autorization);

- «Регистрация пользователя» (Registration);

- «Добавление/удаление/изменение книг и атрибутов» (BooksDesigner);

- «Добавление выданных книг/формирование отчёта/отметить возвращенные книги» (GrantedBooks);

- «Просмотр каталога книг/резервация книг» (Library);

- «Просмотр/редактирование списка зарезервированных книг» (ReservedBooks);

- «Родительский элемент управления - имитатор PageControl» (Worker);

- «Графики завозимых жанров и авторов» (Charts).

При открытии приложения пользователь попадает в главное меню MyLibrary, где без регистрации/авторизации ему доступен только каталог книг, в котором можно проводить поиск по названию, автору и издателю книги, а так же фильтрацию по жанрам, которые отображены в списке checkBoxList. Если обычный пользователь авторизуется/зарегистрирует, а так-же создаст свой читательский билет, то он получит возможность резервировать книги, и количество книг автоматически понижаеться на одну, из каталога, который отображается с помощью DataGridView.

Если пользователь авторизовался под учётной записью работника, то ему открывается возможность открывать вкладки «Добавление книг» и «Работник». В первой вкладке можно редактировать книги и их атрибуты. Можно добавлять, удалять книги, изменять информацию о них, увеличивать и уменьшать их количество. Такие же операции, кроме изменения количества, можно производить и с тремя списками атрибутов: «Жанры», «Авторы», «Издатели». Что список книг, что списки атрибутов отображаются через DataGridView, которые черпают данные из БД.

Вкладка «Работник» состоит из ещё 4-х вкладок: «Выданные книги», «Зарезервированные книги», «Читательские билеты», «Графики», между которыми можно переключаться одним нажатием, что должно эмулировать элемент управления из Delphy - PageControl.

Вкладка «Выданные книги» содержит список, структура которого содержит данные читательского билета, взятую человеком книгу, а также информация о том, возвращена ли книга. Данный список можно фильтровать при помощи трёх элементов radioButton и отобразить либо список возвращенных, либо список не возвращённых книг. Так же можно отобразить сразу весь список без фильтра. С помощью специальной кнопки можно отметить, что книга возвращена. Так же можно добавлять в список новые элементы с помощью удобного конструктора, на котором отображены списки читательских билетов и книг и необходимо просто выбрать по 1-му элементу из каждого списка.

На вкладке «Зарезервированные книги» можно найти список зарезервированных книг, с которым можно взаимодействовать только посредством кнопок: «Забрали», «Не пришли», первая из которых просто удаляет элемент списка, а вторая удаляет и прибавляет к количеству этих книг в таблице books одну книгу. А заполнением этой таблицы занимаются авторизованные пользователи с читательским билетом, которые резервируют книги.

Вкладка «Читательские билеты» содержит список читательских билетов, отображаемых с помощью DataGridView. Имеется возможность вносить правки в существующие билеты и добавлять новые для читателей, которые не пользуются данным программным продуктом.

На вкладке «Графики» расположены 2 графика. Первый - какие жанры, в большей части, имеются в библиотеке, а второй - наиболее распространённые в библиотеке авторы. Графики отображаются с помощью элемента управления chart.

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

Интеграция с БД происходит с помощью DataSet1, на которой расположены Таблицы, адаптеры и запросы к БД, которые используются в программе.

2.2 Реализация бизнес-правил

Бизнес-правила представляют собой конкретные требования и условия для функций, задающие поведение данных. В практике проектирования бизнес-правила используются для поддержки целостности данных в базе данных. В общем случае существует три типа правил:

- правило вывода (derivationrule) преобразует полученную информацию в возвращаемые значения. Правила этого типа допускают изменения, и поэтому, прежде чем с ними можно было работать, их требуется выделить.

- правило ограничения (constraintrule) проверяет значения транзакции или операции на непротиворечивость. Кроме того, могут применяться вместе с булевыми результатами. Если они не истинны, то мы не сможем продолжить или завершить операцию.

- инвариантные правила (invariantrules) проверяют множественные изменения и обеспечивают непротиворечивость итоговых результатов [6].

Данный программный продукт должен подчиняться следующим правилам:

- Администратор должен иметь возможность добавлять, изменять и удалять данные о сотрудниках;

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

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

На рис. 2.1 показана диаграмма прецедентов, отражающая данные правила.

На рисунке 2.2 показана диаграмма активности, показывающая, как программа реализует авторизацию пользователя.

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

Алгоритм проверки данных для входа в систему, происходящий в Form1, представлен в листинге 2.1.

Листинг 2.1 - Проверка верных данных и наличие прав доступа

SQL: GetUserType(int id):

SELECT type

FROM users

WHERE (id = ?)

C#:

int type = Convert.ToInt32(Program.Queries.GetUserType(id));

Рисунок 2.1 - UML-диаграмма прецедентов

Рисунок 2.2 - Диаграмма активности

Для удобство просмотра каталога книг был добавлен поиск по названию, автору и издателю, а так же фильтрация по жанрам (листинг 2.2).

Листинг 2.2 - поиск по названию, автору и издателю, фильтрация по жанрам

SQL:

books_catalog_viewTableAdapter.GetData():

SELECT id, Автор, Название, Жанры, Издатель, Количество

FROM books_catalog_view

books_catalog_searchTableAdapter.GetData(string, string, string, string, string)

SELECT Автор, Название, Жанры, Издатель

FROM books_catalog_view

WHERE ((LOCATE(?, Автор) > 0) OR

(LOCATE(?, Название) > 0) OR

(LOCATE(?, Издатель) > 0)) AND ((LOCATE(?, Жанры) > 0) OR (? = 'Все'))

C#:

private void textBoxSearch_TextChanged(object sender, EventArgs e)

{

string pr = ((TextBox)sender).Text;

string gr = checkedListBoxGenres.CheckedItems[0].ToString();

if ((pr == "" || pr == " ") & gr == "Все")

dataGridView1.DataSource = view_Adapter.GetData();

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

Размещено на Allbest.ru

...

Подобные документы

  • Анализ существующего программного обеспечения. Этапы создания проекта. Концептуальное, логическое и физическое проектирование базы данных. Структура программного продукта. Руководство программиста и оператора. Тестирование программного продукта.

    курсовая работа [586,4 K], добавлен 26.06.2015

  • Общие требования к АИС киноцентра "Пирамида". Концептуальное, логическое и физическое проектирование, запросы к базе данных и экранные формы. Основы разработки внешних приложений в Delphi. Создание внешнего приложения и руководство пользователя.

    курсовая работа [1,3 M], добавлен 03.11.2014

  • Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.

    курсовая работа [3,3 M], добавлен 15.09.2014

  • Определение требований к операционной обстановке. Инфологическое, логическое проектирование. Разработка программного обеспечения. Структура приложения, его тестирование. Выбор СУБД и других инструментальных программных средств. Описание схемы базы данных.

    курсовая работа [2,4 M], добавлен 25.12.2013

  • Анализ предметной области. Диаграмма классов. Проектирование программного продукта "Часы". Тестирование и отладка, руководство программиста. Описание работы приложения. Руководство оператора, модель жизненного цикла. Файл Times.cs, Arrow.cs, Form1.cs.

    курсовая работа [1,7 M], добавлен 20.04.2015

  • Концептуальное и инфологическое проектирование базы данных в системе управления базами данных Microsoft Access. Физическое проектирование базы данных "Магазин спорттоваров". Тестирование и отладка базы данных, составление руководства пользователя.

    курсовая работа [6,7 M], добавлен 22.11.2022

  • Технико-экономическая характеристика объекта автоматизации. Концептуальное, логическое и физическое проектирование базы данных, требования к системе. Разработка внешних приложений. Руководство пользователя автоматической информационной системы "Учёт".

    курсовая работа [3,1 M], добавлен 17.08.2015

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Обзор существующих систем управления базами данных. Концептуальное, логическое и физическое проектирование и создание базы данных. Обзор языков программирования. Создание и реализация клиентского приложения с помощью выбранного языка программирования.

    дипломная работа [2,4 M], добавлен 02.06.2013

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

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

    курсовая работа [2,5 M], добавлен 20.11.2013

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

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

    курсовая работа [700,0 K], добавлен 14.01.2015

  • Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.

    курсовая работа [7,8 M], добавлен 13.02.2023

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

    дипломная работа [791,8 K], добавлен 10.07.2017

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

    дипломная работа [2,5 M], добавлен 05.02.2017

  • Автоматизация системы снятия показаний счетчиков энергии. Разработка базы данных и клиентского приложения для структур жилищно-коммунального хозяйства, занимающихся составлением квитанций. Описание предметной области. Тестирование клиентского приложения.

    курсовая работа [953,3 K], добавлен 01.09.2016

  • Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.

    курсовая работа [2,4 M], добавлен 11.02.2013

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

  • Системный анализ предметной области. Выбор инструментальных средств для создания программного обеспечения. Программирование на стороне SQL-сервера. Создание клиентского Win-приложения, пользовательский интерфейс. Физическое проектирование базы данных.

    курсовая работа [3,7 M], добавлен 20.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.