Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка регламента выполнения процесса «Движение библиотечного фонда» ( АИС «Библиотека» )

Содержание:

Введение

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

Одним из автоматизированных направлений является информационно-библиотечная система. Без особого труда и за короткий срок мы можем получить распечатку сведений о читателях, о книгах, хранящихся в библиотеке, о читателях, взявших книгу в определенный период времени. Легко извлекаем информацию из базы данных, причем сочетание таких сведений может быть разнообразным, определяться по желанию пользователя. Работа библиотеки связана с накоплением информации о читателях, книгах, их категориях и издательствах, об учете книг. Информация хранится в бумажном виде, что вносит такие проблемные ситуации, как время доступа к требуемой информации, читабельность информации, доступ к информации [14,15].

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

Объектом исследования данного проекта является библиотека.

Предметом исследования является автоматизация процесса учета книг в библиотеке.

Цель курсовой работы – разработать проект АРМ библиотекаря для учета библиотечного фонда.

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

– проанализировать объект автоматизации и разработать модель предметной области;

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

– постановка требований к АРМ библиотекаря;

– выполнить проектирование и реализацию АРМ библиотекаря;

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

Практическая значимость работы состоит в разработке автоматизированного рабочего места (АРМ) для библиотекаря, позволяющего вести учет книг и выдача книг читателю.

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

1.1 Словесная постановка задачи автоматизации

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

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

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

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

Исходя из вышесказанного, в АРМ должны быть реализованы следующие функции:

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

- просмотр сведений о литературе;

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

Система должна позволять:

— ведение данных о писателях;

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

— ведение данных об литературных источниках и выданном количестве книг;

— получать ежедневные печатные формы.

1.2 Формальная постановка задачи исследования

Проектирование АРМ начинается с построения контекстной диаграммы и дальнейшей её декомпозиции. Для построения функциональной модели данной предметной области была использована методология SADT, которая отражает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Графика блоков и дуг диаграммы отражает функцию в виде блока, а интерфейсы входа/выхода представляются дугами. Взаимодействие блоков друг с другом выражается по средствам интерфейсных дуг, описывающих, когда и над чем какая функция выполняется и как управляется.

На рисунке 1 изображен блок А0 представляющий собой АРМ в целом, именем блока служит название всего АРМ. Эта диаграмма определяет взаимосвязи процессов в АРМ библиотекаря с исходными сведениями, исполнителями, управляющими командами и результатами выполнения.

Рисунок 1 – Контекстная диаграмма предметной области

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

Управляющей информацией является положение по ведению библиотечной деятельности.

Результатом программы АРМ являются аналитические отчеты.

Далее функции делятся на подфункции и так до достижения требуемого уровня детализации АРМ. Диаграммы, которые описывают каждый такой фрагмент АРМ, называются диаграммами декомпозиции.

На основании контекстной диаграммы построим диаграмму декомпозиции, представленную на рисунке 2.

Рисунок 2 – Диаграмма декомпозиции

1.3 Анализ существующих разработок

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

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

Проведем обзор и сравнительный анализ наиболее популярных систем:

— АБИС «OPAC-Global»,

— АБИС «МАРК – SQL»,

— АБИС «ИРБИС»,

— АС «БИБЛИОТЕКА-3».

АБИС OPAC-Global распространяется в различных комплектациях в зависимости от функциональных возможностей и числа участников корпорации. В процессе эксплуатации возможен переход от одной комплектации к другой без потерь данных и накопленного опыта.

АБИС OPAC-Global полностью построена с помощью средств Web – технологии и используется для автоматизации централизованной сети библиотек. Пользователи работают с системой через любой Web-браузер без установки специального программного обеспечения, при этом все основные функции выполняет сервер. Данная специфика работы системы позволяет легко настраивать и непрерывно вносить изменения в систему сразу для всей библиотечной сети только через модернизацию сервера.

АБИС OPAC-Global лежит в основе функционирования Сводного каталога библиотек России Центра ЛИБНЕТ (www.nilc.ru).

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

Техническое сопровождение системы происходит в удаленном режиме – через Интернет. В сопровождение системы входит устранение ошибок, вызывающие сбой в системе, обновление функциональных возможностей при расширении системы, поставка новых версий АБИС, а также консультирование пользователей при работе с системой.

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

Архитектура и протоколы обмена данными АБИС OPAC-Global:

Программное обеспечение построено в архитектуре клиент-сервер

- Сетевым протоколом обмена данными между клиентами и серверами является HTTP

- Система управления базами данных (СУБД) - ADABAS

- Клиентская часть работает в стандартных web-браузерах

- Серверная часть

      • Microsoft Windows Server 2003 (R2)
      • Microsoft Windows Server 2008 (32 и 64-разряда)
      • SUSE Linux Enterprise Server 11 SP2 x86-64
      • RedHat Enterprise Linux 6.3 x86-64

АБИС OPAC-Global поддерживает национальные и международные стандарты (формат RUSMARC, стандарт ГОСТ 7.1-2003).

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

АИБС «МАРК-SQL» предоставляет следующие возможности:

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

- Получить доступ к удаленным базам данных.

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

- Автоматизировать процесс учета выдачи книг.

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

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

- Анализировать круг чтения учеников.

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

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

Основные автоматизированные рабочие места (АРМ) АИБС «МАРК-SQL»:

- АРМ «Администратор» – модуль, который осуществляет администрирование системы и баз данных, выполняет функции по адаптации системы к требованиям пользователей.

- АРМ «Каталогизация» — модуль, с помощью которого осуществляется создание и ведение электронного каталога, научная и техническая обработка поступивших изданий, ведение инвентарного и безынвентарного учета, формирование книги суммарного учета, формирование стандартных выходных форм и другие.

- АРМ «Поиск» — модуль, с помощью которого пользователь производит поиск, просмотр и заказ нужной литературы.

- АРМ «Комплектование» — модуль, в котором реализуются функции по заказу и учету поступающей литературы, формированию отчетных бухгалтерских документов. Модуль «Комплектование» включает в себя подсистему «Книгообеспеченность», позволяющую проводить анализ состояния книгообеспеченности учебного процесса.

- АРМ «Абонемент» – модуль, где осуществляется запись и регистрация читателей, выполняется книговыдача литературы, определяются задолженности по литературе, обеспечивается формирование и печать статистических отчетов.

Предполагается, что специалист, который будет осваивать АИБС «МАРК-SQL», имеет навыки работы на компьютере и владеет терминологией, принятой в этой области.

Следующая в аналитическом обзоре является система автоматизации библиотек «ИРБИС», отвечающая всем международным требованиям, предъявляемым к современным библиотечным системам, и в тоже время поддерживающая все многообразие традиций российского библиотечного дела.

Основные характеристики САБ ИРБИС64:

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

- Полная интегрируемость в корпоративные библиотечные системы и технологии на основе:

- Средств поддержки Web-технологий и протокола Z39.50;

- Полной совместимости с международными форматами UNIMARC, MARC21 и Российским коммуникативным форматом RUSMARC;

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

- Поддержка произвольного количества баз данных, составляющих Электронный каталог или представляющих собой проблемно-ориентированные библиографические базы данных;

- Технология автоматического формирования словарей, на основе которых реализуется быстрый поиск по любым элементам описания и их сочетаниям;

- Средства для ведения и использования Авторитетных файлов, баз данных УДК, ББК, ГРНТИ и Тезауруса;

- Поддержка традиционных "бумажных" технологий: от печати форм заказа/подписки и листов книги суммарного учета до печати всех видов каталожных карточек;

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

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

- Поддержка ссылок от библиографических описаний на полные тексты, графические данные и другие внешние объекты;

- Средства для создания и ведения полнотекстовых баз данных.

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

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

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

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

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

Система «Библиотека-3» также представляет собой современную библиотечную программу, предназначенную для решения широкого спектра задач, стоящих перед работниками библиотек различного уровня. Поддерживает стандартные международные протоколы Z 39.50-95, ILL.

Система «Библиотека-3» обладает самым современным инструментарием для автоматизации всех основных направлений деятельности библиотек, в том числе:

— комплектования библиотечного фонда, в том числе подписки на периодические и сериальные издания;

— инвентаризации библиотечного фонда (индивидуальный и суммарный учет);

— обработки поступающих изданий и формирования электронных каталогов;

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

— организации работы с библиотечным фондом:

- учета и обеспечения сохранности библиотечного фонда,

- контроля за движением библиотечного фонда,

- проведения исключения из библиотечного фонда (списание);

— организации функционирования обменного фонда;

— создания и обеспечения функционирования электронной библиотеки;

— обслуживания пользователей:

- регистрация читателей,

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

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

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

- сбора библиотечной статистики:

— по структуре и составу библиотечного фонда,

— по составу электронного каталога библиотеки,

— по количественному и качественному составу пользователей,

— по использованию электронных ресурсов,

— по библиотечному обслуживанию.

«АС-Библиотека-3» полностью отвечает требованиям:

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

— масштабируемости: произвольное наращивание количества автоматизированных рабочих мест, пользователей, объемов электронных ресурсов, а также возможность увеличения производительности АБИС за счет добавления новых программных или аппаратных средств;

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

— управляемости: настраиваемость в зависимости от практики работы конкретной библиотеки;

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

— интегрированности: возможность формирования корпоративных информационных ресурсов, предназначенных для организации общего доступа к каталогам групп библиотек, а также взаимодействие с любыми базами данных, созданными с помощью других библиотечных систем по протоколу Z39.50;

— безопасности: защита информации от несанкционированного доступа на основе разграничения прав доступа на следующих уровнях:

- системы управления базами данных,

- групп пользователей,

- технологических операций,

- состава полей библиографической записи, а также

- IP-авторизация,

- мониторинг работы пользователей в реальном режиме времени

а также:

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

- поддержки цифровых объектов (файлов различного формата, содержащих полнотекстовые копии изданий в целом, а также их частей),

- поддержки многоязычности представления библиографической информации (Unicode);

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

- поддержки штрих - кодирования, магнито- и оптико- пластиковых карт в качестве источника идентификационных данных.

Система состоит из следующих блоков: администратор, комплектование, каталогизатор—систематизатор, книгохранение, книговыдача, абонемент, читатель, поиск, Шлюз HTTP–Z 39.50

Основные характеристики и преимущества:

- Поддержка коммуникативных форматов RUSMARC, USMARC, UNIMARC;

- Масштабируемость — от школьных библиотек до национальных;

- Низкие требования к клиентским компьютерам;

- Работа как в сетевом, так и в локальном варианте;

- Простота настройки и администрирования;

- Трехзвенная архитектура построения системы;

- Стандартные международные протоколы Z 39.50-95,ILL;

- Поддержка многоязычности на основе UNICODE;

- Полная поддержка классификации по УДК и ББК;

- Поддержка авторитетных файлов;

- Формирование каталожных карточек в соответствии с ГОСТ 7.1-2003;

- Возможность формирования и печати читательского билета и учётной карточки с присвоением штрих - кодов;

- Наличие шаблонов формирования Марк-записи;

- Настраиваемая проверка на дублетность;

- Автоматическая проверка орфографии;

- Гибкая система создания, заимствования и редактирования записей как из вне, так и внутри самой базы данных;

- Возможность введения и редактирования дополнительных полей описания;

- Возможность формирования различных списков и перечней, в том числе и тематических списков литературы;

- Использование при работе ресурсов Internet и других средств удалённого доступа;

- Поддержка штрихкодирования, магнито- и оптико- пластиковых карт;

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

- Отсутствие ограничений на количество пользователей;

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

Чтобы преступить к сравнительному анализу существующих аналогов систем на рынке информационных технологий сформулируем основные критерии выбора системы:

Общие критерии, применяемые при сравнении ПО, включают проверку:

- совокупной стоимости системы;

- функциональной её полноты;

- масштабируемости.

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

- технологичности.

Технологичность включает такие показатели как:

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

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

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

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

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

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

Каждый из критериев будем оценивать по пяти бальной шкале (таблица 1). Чем выше оценка, тем выше уровень критерия оценки системы в совокупном анализе.

Таблица 1 - Сравнительный анализ систем

№ п/п

Критерий системы

«OPAC-Global»

«МАРК – SQL»

«ИРБИС»

«БИБЛИОТЕКА-3»

1

Совокупная стоимость системы

от 550тыс.р до 3 500 тыс.р.

от 20тыс.р до 90 тыс.р.

около 25тыс.р.

от 550тыс.р до 3 500 тыс.р.

2

Функциональная полнота

5

4

3

3

3

Масштабируемость

5

3

3

4

4

Технологичность

5

4

3

3

5

Интегрированность

5

4

3

4

6

Интегрируемость

4

4

4

4

7

Открытость системы

2

3

5

3

8

Инвариантность по отношению к бизнесу

1

1

1

1

9

Перспективы развития

4

3

2

10

Эффективность

5

3

3

3

Таким образом, рассмотрев существующие аналоги системы автоматизации библиотеки в сравнении с проектируемой системой, следует отметить:

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

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

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

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

1.4 Постановка задачи

1.4.1 Введение

Объектом автоматизации в рамках АИС является учет книг в библиотеке. Основной вид деятельности библиотеки - обслуживание читателей по оказанию библиотечной услуги.

Отметим несколько недостатков действующей системы:

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

Техническое задание формулирует основные требования к АИС, перечень и описание функций, которые должны быть реализованы в АИС. Разработка Технического задания выполнена в соответствии с требованиями ГОСТ 34.602-89 “Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».

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

Разработка программы велась по индивидуальному заданию к курсовой работе. Разработка АИС ведётся на безвозмездной основе, т.е. финансирование работ не осуществляется.

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

Программный продукт АИС «Библиотека» должен автоматизировать работу библиотекаря.

Цель системы: сокращение затрат времени на обслуживание читателей и повышение качества обслуживания.

Критериями достижения цели создания АИС являются:

  • создание инструмента для решения поставленных задач;
  • повышение эффективности работы библиотекаря;
  • снижение влияния человеческого фактора и минимизация ошибок при выполнении процесса учета выдачи и возврата книг;
  • оперативная выдача информации по наличию книг;
  • сокращение затрачиваемого времени на составление аналитических отчетов работы по учету книг библиотеки.

1.4.4 Требования к программе или программному изделию

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

Основные функции программы для автоматизации деятельности библиотеки:

— ведение персональных данных читателей;

— ведение электронной копии абонемента читателя;

— оформление выдачи и возврата литературных изданий читателям;

— поиск литературных изданий по критериям;

— рассылка предупреждений о своевременном возврате литературных изданий;

— формирование отчетности..

В системе должны быть реализованы следующие подсистемы:

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

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

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

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

- подсистема справочной информации.

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

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

Подсистема справочной информации

Подсистема справочников

Подсистема просмотра данных по запросу

Подсистема построения отчетов

Рисунок 3 – Взаимосвязь подсистем АИС «Библиотека»

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

Надежность функционирования АИС должна обеспечиваться следующими способами:

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

Безопасность хранения данных АИС при аппаратных сбоях должна обеспечиваться соответствующими средствами операционной системы (MS Windows XP / Vista / 7/ 8).

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

1.4.4.3 Требования к эксплуатации

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

    1. организовать рабочее место библиотекаря: выделение персонального компьютера, соответствующего требованиям, заявленным в техническом обеспечении; обеспечение доступа к сети и принтеру.
    2. обеспечить подготовку входной информации, находящейся на бумажных или электронных носителях.
    3. установить операционную систему и разработанную АИС.
    4. провести обучение специалиста.

Помещения, в которых устанавливаются комплексы технических средств для эксплуатации АИС, должны соответствовать санитарным правилам и нормам, утвержденным Постановлением Госкомсанэпиднадзора России от 14 июля 1996 г. №14 «Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы» (СанПиН 2.2.2. 542-96).

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

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

Одно рабочее место должно удовлетворять требованиям к комплектации:

  • частота процессора не ниже 2 ГГц.
  • оперативная память не менее 2 Гбайт ;
  • монитор 17’’ с рабочим разрешением 1024x768 точек;
  • HDD не менее 20 Гбайт;
  • мышь и клавиатура.

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

Минимальные требования:

  • Операционная система Windows 2000/XP/2003/Vista/7,
  • СУБД MS Access 2003,
  • Драйверы и утилиты для поддержки устройств.
  • Для работы с отчётами необходимо наличие MS Excell 2003/2007.

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

1.4.4.6 Требования к программной документации

  • Инструкция обслуживающему персоналу.
  • Инструкция пользователя.

1.4.5 Технико-экономические показатели

Программный продукт характеризуется:

  • Низкой стоимостью
  • Быстротой развёртывания.
  • Простой переносимостью.
  • Низкими системными требованиями.
  • Простотой использования.

Разрабатываемые в АИС методы и программные модули должны содержать возможность дальнейшего развития системы.

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

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

1.4.6 Стадии и этапы разработки

Разработка должна быть проведена в три стадии:

  1. разработка технического задания;
  2. рабочее проектирование;
  3. внедрение.

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

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1. разработка АИС для библиотеки;

2. разработка программной документации;

3. испытания программы.

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

1.5 Выбор программной среды для реализации проекта базы данных и проектирования физической модели

В качестве средства разработки клиентского приложения выбрана среда программирования Microsoft Visual Studio 2010 Professional и СУБД Microsoft Access 2003.

Microsoft Visual Studio 2010 Professional — необходимое средство для независимых разработчиков, позволяющее решать основные задачи разработки. Система упрощает создание, отладку и развертывание приложений на различных платформах, включая SharePoint и облачную среду. Visual Studio 2010 Professional включает встроенную поддержку модели «разработка через тестирование», а также инструментов отладки, которые обеспечивают создание высококачественных решений.

Visual Studio 2010 Professional это средство для независимых разработчиков:

  • Интегрированная среда разработки;
  • Поддержка платформы разработки;
  • Средства тестирования.

Возможности Microsoft Visual Studio 2010 Professional:

    1. Настройка рабочего места. Написание программного кода часто требует одновременной работы с несколькими конструкторами и редакторами. Visual Studio 2010 Professional помогает разработчику организовать цифровое окружение благодаря поддержке нескольких мониторов, что упрощает работу над программами.
    2. Создание решений совместной работы на базе SharePoint. Новый компонент поддержки разработки приложений SharePoint позволяет создавать специализированные средства совместной работы, включая веб-модули, списки, рабочие процессы, события и многое другое.
    3. Создание приложений для Windows 7. Visual Studio 2010 Professional включает встроенные инструменты разработки для Windows 7, в том числе такие компоненты пользовательского интерфейса, как мультисенсорный ввод и лента, которые составляют основу передовой технологии Windows 7.
    4. Простое создание приложений на базе RIA и WPF. Новая функция привязки данных перетаскиванием (в Windows Presentation Foundation) и конструкторы Silverlight упрощают и ускоряют построение приложений Windows и многофункциональных интернет-приложений (Rich Internet Applications, RIA) для специалистов по проектированию и разработке.
    5. Упрощение развертывания веб-приложений. Перемещение веб-приложений в производственную среду одним щелчком мыши. Visual Studio 2010 Professional выполняет перенос кода, параметров IIS и схемы базы данных на целевой сервер [5, 6].

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

2.1 Выделение объектов предметной области, их характеристик и построения ER-модели

Цель этапа концептуального проектирования – создание концептуальной модели исходя из представлений пользователей о ПО. Для ее достижения выполняется проектирование с использованием метода «сущность-связь» [3].

Этап инфологического проектирования начинается с моделирования предметной области. Проектировщик разбивает ее на ряд локальных областей, каждая из которых (в идеале) включает в себя информацию, достаточную для обеспечения запросов отдельной группы будущих пользователей или решения отдельной задачи (подзадачи). Каждое локальное представление моделируется отдельно, а затем выполняется их объединение [10].

Перед созданием БД необходимо определиться с сущностями и их атрибутами. Ниже представлена сводная таблица «Сущности», в которой перечислены все сущности проектируемой БД и их описание (таблица 2).

Таблица 2 - Сущности предметной области

Название

Описание сущности

Особенности использования

Литература (книга)

Должна хранить в себе сведения обо всех книгах, которые имеются в библиотеке.

Некоторые читатели могут иметь одинаковые ФИО, номер телефона, адрес. Каждому читателю выдается читательский билет с уникальным номером.

Читатели

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

Некоторые читатели могут иметь одинаковые ФИО, номер телефона, адрес. Каждому читателю выдается читательский билет с уникальным номером.

Автор

Содержит необходимые данные об авторе книги.

Книга может быть написана несколькими авторами. Автор книги может быть неизвестен.

Издательство

Хранит информацию об издательстве, выпустившем книгу.

Одинаковые по содержанию книги могут быть выпущены разными издательствами.

Библиотека (выдача)

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

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

2.2 Выбор модели базы данных и построение логической модели

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

Построение модели данных выполняется в несколько этапов:

  1. Извлечение информации из интервью с заказчиком, изучение предоставленной информации и выделение сущности (объекты предметной области, информация о которых подлежит хранению). Каждая сущность имеет уникальный идентификатор и обладает свойствами:
  • обладать одним или несколькими атрибутами, которые либо принадлежат этой сущности, либо наследуются через связи;
  • сущность обладает одним или несколькими ключами, однозначно идентифицирующими каждый экземпляр;
  • может обладать любым количеством связей с другими сущностями.
  1. Моделирование связей. Связь – это поименованная ассоциация между двумя сущностями, значимая в рассматриваемой предметной области. Обычно каждый экземпляр одной сущности (родительской) ассоциируется с произвольным числом экземпляров-потомков. Имя каждой связи между двумя сущностями должно быть уникально, однако может повторяться в пределах модели. Для каждой связи определяется степень и обязательность. Связь всегда направляется от родительской сущности. Связи бывают следующих типов:
  • 1:1 (один к одному) – используется на верхнем уровне иерархической модели данных;
  • 1:М (один ко многим) – один экземпляр одной сущности связывается с несколькими экземплярами второй сущности;
  • М:N (многие ко многим) – используется на начальной стадии разработки диаграммы.
  1. Определение атрибутов сущности. Атрибут – характеристика сущности, значимая в рассматриваемой предметной области и предназначена для классификации, идентификации или выражения состояния сущности. Атрибут может быть описан или идентифицирован, при определении связи между сущностями идентифицирующие атрибуты наследуются от родительской сущности к потомку. Атрибут или их совокупность может использоваться для уникальной идентификации каждого экземпляра сущности (первичный ключ). Атрибут, являющийся первичным ключом, должен располагаться в верхней части списка. Ни одна из частей ключа не должна принимать значение 0, быть незаполненной или отсутствовать. Если сущности связаны, то связь передает ключевой атрибут дочерней сущности, и он называется внешним ключом (FK). [11]

Связи между объектами следующие:

– сущности «Автор», «Издательство» связаны с сущностью «Литература»;

– сущности «Абонемент» связана с сущностью «Библиотека»;

– сущность «Библиотека» связана с сущностью «Литература».

Связь между сущностями представлена в таблице 3.

Таблица 3 - Связь между сущностями

Сущность

Тип связи

Сущность

Кардинальность

АВТОР

пишет

КНИГА

M:N

ИЗДАТЕЛЬСТВО

выпускает

КНИГА

1:M

ВЫДАЧА

предлагает

КНИГА

1:M

ЧИТАТЕЛЬ

пользуется

ВЫДАЧА

1:M

ЧИТАТЕЛЬ

читает

КНИГА

1:M

На рисунке 4 представлена информационная модель проектируемой БД, в которой отражены все сущности и связи между ними.

Рисунок 4 – Информационная модель базы данных

2.3 Описание создания таблиц базы данных

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

Опишем структуру созданных таблиц базы данных проектируемой системы. Таблица «Литература» представляет собой информацию о библиотечном фонде. Структура данных приведена в таблице 4.

Рисунок 4 – Логическая модель данных ИС «Библиотека»

Таблица 4 - Структура таблицы «Литература»

№ п/п

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

Тип поля

Null

Краткая характеристика

1

Номер записи

Числовой

Нет

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

2

Название книги

Текстовый

(100 знаков)

Нет

Название книжного издания

3

Автор

Числовой

Нет

Идентификатор записи автора

4

Издательство

Числовой

Нет

Идентификатор записи издательства

5

Год издания

Текстовый

(4 знака)

Да

Год издания книжного издания

6

Срок эксплуатации

Числовой

Нет

Срок эксплуатации книжного издания

7

Страна

Текстовый

(50 знаков)

Да

Страна происхождения книжного издания

8

Стоимость книги

Денежный

Нет

Стоимость книги книжного издания

9

Шифр

Текстовый

(20 знаков)

Шифр книжного издания

10

Количество

Числовой

Нет

Количество книжного издания в фонде библиотеки

Таблица «Абонемент» является электронным документом читательского билета посетителя библиотеки. Структура данных приведена в таблице 5.

Таблица 5 - Структура таблицы «Абонемент»

№ п/п

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

Тип поля

Null

Краткая характеристика

1

Номер записи

Числовой

Нет

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

2

Номер читательского билета

Текстовый

(50 знаков)

Нет

Номер читательского билета

3

ФИО читателя

Текстовый

(100 знаков)

Нет

Фамилия, имя и отчество читателя

4

Место работы

Текстовый

(70 знаков)

Да

Место работы читателя

5

Должность

Текстовый

(50 знаков)

Да

Должность читателя

6

Студент (Да/Нет)

Логический

Нет

Признак льготного посещения библиотеки

7

Адрес регистрации

Текстовый

(70 знаков)

Нет

Адрес регистрации читателя

8

Контактный телефон

Текстовый

(50 знаков)

Нет

Контактный телефон читателя

Читательский формуляр и карточка книги представлен на рисунке 5 и рисунке 6.

Справочной информацией являлась вспомогательная информация, которая содержит перечень издательств и авторов. Характеристика справочников представлена в таблицах 6 и 7.

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

Рисунок 5 – Читательский формуляр

Рисунок 6 – Карточка книги

Таблица 6 - Структура таблицы «Издательство»

№ п/п

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

Тип поля

Null

Краткая характеристика

1

Номер записи

Числовой

Нет

Идентификатор издательства

2

Название издательства

Текстовый (50 знаков)

Да

Название издательства

3

Адрес издательства

Текстовый

(70 знаков)

Нет

Юридический адрес издательства

Таблица «Автор» содержит личные данные об авторах книг и других литературных произведений. Структура данных приведена в таблице 7.

Таблица 7 - Структура таблицы «Автор»

№ п/п

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

Тип поля

Null

Краткая характеристика

1

Номер записи

Числовой

Нет

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

2

ФИО автора

Текстовый

(100 знаков)

Нет

Фамилия, имя и отчество литературного писателя

3

Год рождения

Текстовый

(4 знака)

Да

Год рождения литературного писателя

4

Страна

Текстовый

(4 знака)

Да

Страна рождения литературного писателя

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

Таблица 8 - Структура таблицы «Библиотека»

№ п/п

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

Тип поля

Null

Краткая характеристика

1

Номер записи

Числовой

Нет

Идентификатор записи в истории

2

Книга

Числовой

Нет

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

3

Дата выдачи книги

Дата/время

Нет

Дата выдачи книги читателю

4

Дата возврата книги

Дата/время

Да

Дата возврата книги читателю

5

Читатель

Числовой

Нет

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

6

Возврат (Да/Нет)

Логический

Да

Признак возврата книги в библиотеку

7

Штраф

Денежный

Да

Размер штрафа за просрочку возврата книги в библиотеку

3 Разработка АИС

3.1 Разработка структуры АИС «Библиотека»

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

- раздел справочников системы;

- раздел электронных документов;

- раздел отчетных форм;

- информационный раздел.

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

Главное меню

Файл

Справочники

Отчеты

Справка

Автор

Жанр

Издательство

Выход

О программе

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

Личные данные авторов

Сводный отчет

Рисунок 7 – Логическая схема работы ИС

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

1. Форма и модуль для осуществления поиска и регистрации продажи книг, она же главная форма ИС;

2. Форма и модуль для заполнения и редактирования справочников системы;

3. Форма и модуль для формирования отчетов.

Структура спроектированной системы представлена на рисунке 8.

Конечный программный продукт АИС «Библиотека» представляет собой базу данных (Biblio.mdb) и исполняемый exe-файл (Biblio.exe), исходный текст которого состоит из следующих модулей:

Рисунок 8 – Обзор состава проекта АИС «Библиотека»

FormReg.cs – форма и модуль авторизации в системе, которая появляется при запуске АИС «Библиотека».

FormM.cs – главная форма и модуль программы, которая открывается после успешной авторизации в системе. Данная форма позволяет осуществлять доступ к остальным формам проекта.

Biblio.mdb – база данных СУБД.

FormS.cs – форма и модуль программы для просмотра, ввода и редактирования входных данных: справочник «Автор», справочник «Жанр», справочник «Издательство».

FormSet.cs – форма и модуль для настройки прав доступа к системе.,

FormRep.cs –форма и модуль программы для визуализации отчетов АИС «Выдача книг».

Report1.rdlc, Report2.rdlc, Report3.rdlc – файлы печатных форм системы: перечень выданных книг, личные данные авторов и сводный отчет.

Листинги данных модулей приведены в приложении.

3.2 Руководство пользователя АИС «Библиотека»

Запустим Biblio.exe в корневом каталоге C:\Biblio. При запуске программы появляется форма авторизации, представленная на рисунке 9.

Рисунок 9 — Форма авторизации

В системе предусмотрено три категории пользователей: администратор, библиотекарь, посетитель. Администратор ведет учет сотрудников библиотеки, библиотекарь – учет книг в библиотеке, поступление, выбытие, выдача и возвращение книг посетителем. Посетители могут просматривать список книг и выбирать список доступных книг.

После удачной авторизации открывается главное окно программы, где располагается пользовательское меню системы (рисунок 10).

Рисунок 10 — Главное окно программы «Biblio»

Опишем основные возможности главного меню программы.

Пункт меню

Функциональная возможность

Файл

Настройка прав

Настройка прав пользователей

Роль: 1-администратор, 2- библиотекарь, 3- пользователь

Выход

Выход из программы «Biblio»

Справочники

Ввод, просмотр и редактирование данных справочников:

Автор

Личные данные авторов книг

Жанр

Жанр литературных произведений

Издательство

Издательство литературных произведений

Абонемент

Оформляет новый абонемент читателю

БиблиоФонд

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

Выдача/ возврат книг

Позволяет оформлять выдачу и возврат книг читателю с указанием размера штрафа

Отчёты

Формирует отчет

Перечень книг библиотеки

Перечень всех выданных книг БД

Личные данные авторов

Информация о личных данных авторов книг

Сводный отчет

Отчет с группировкой по жанру, издательству и авторам

Справка

Справка о разработке программы

О программе

Выбор любого выпадающего пункта меню «Справочники» открывает форму для редактирования данных выбранного справочника. С помощью кнопки «Сохранить» диалогового окна «Справочники» и кнопок клавиатуры «Отмена» пользователь может просматривать, добавлять или удалять текущую запись справочника (рисунок 11).

Рисунок 11 — Диалоговое окно «Справочники»

Ввод данных о литературных изданиях осуществляется аналогично вводу данных справочников через главное меню формы.

В главной форме в разделе "БиблиоФонд" предусмотрена возможность фильтровать список по названию, автору книги и дате поступления книги (рисунок 12). Для этого достаточно выбрать автора в выпадающем меню и нажать кнопку «Применить». Отмена фильтра осуществляется с помощью кнопки «Очистить фильтр».

Рисунок 12 — Фильтр по автору и дате выдачи

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

Рисунок 13 — Выдача абонемента

Раздел "Выдача/возврат книг" предусмотрен для оформления выдачи книги читателю и возврат её в библиотечный (рисунок 14).

Рисунок 14 — Фильтр по автору и дате выдачи

Печатная форму отчета «Перечень книг библиотеки» появляется в верхней части главного окна после выбора пункта меню Отчеты  Перечень книг библиотеки. Результат отчета изображен на рисунке 14.

Рисунок 15 — Отчет «Перечень книг»

Аналогичным образом открывается отчет о личных данных авторов (рисунок 16).

Рисунок 16 — Отчет «Личные данные авторов»

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

Рисунок 17 — Отчет «Сводный отчет»

Чтобы просмотреть информацию о разработчике программы достаточно выбрать пункт меню Справка О программе (рисунок 18).

Рисунок 18 — Краткая информация о разработчике

Заключение

В рамках курсового проекта на базе среды разработки Visual Studio 2010 была разработана автоматизированная информационная система учета выданных литературных произведений. АРМ библиотекаря позволяет автоматизировать процесс учета выдачи и возврата книг в библиотеке. В рамках курсовой работы реализована АРМ библиотекаря, которая структурирует, упорядочивает и упрощает работу библиотекаря. Разработанное АРМ может применяться в учреждении для накопления и хранения различной информации о читателях библиотеки, книгах, а также датах возврата и выдачи книг.

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

В ходе написания курсовой работы были поставлены и решены следующие задачи:

1. ознакомление с общими сведениями о деятельности библиотекаря;

2. исследование организации учета и выдачи книг в библиотеке;

3. рассмотрены возможности применения среды разработки Visual Studio для создания АРМ;

4. спроектировано АРМ библиотека;

5. реализован проект и разработано руководство пользователя АРМ библиотека.

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

  1. Microsoft Visual Studio 2010 Professional http://www.1csoft.ru/catalog/7628/4039295/4030701/
  2. Visual Studio 2010 http://msdn.microsoft.com/ru-ru/library/dd831853(v=vs.100).aspx
  3. Гвоздева, Т.В. Проектирование информационных систем. – Ростов н/Д.: Феникс, 2009. – 508 с
  4. Андрей Зиборов. «Visual C# 2010 на примерах». СПб.: БХВ-Петербург, 2011.
  5. Либерти Д. Программирование на C#, 156-423с.
  6. Прайс Дж., Гандерлой М. Visual C#.Net Полное руководство. 2004.
  7. Шумаков П.В. ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio. NET. – М.: ДИАЛОГ-МИФИ, 2003.
  8. Зиборов В.В. Visual C# на примерах. – СПб.: БХВ-Петербург, 2011.
  9. Справочное руководство по MySQL [Электронный ресурс]. - Режим доступа: http://www.mysql.ru/docs/man/Reference.html - Загл. с экрана (Дата обращения: 07.11.2017).
  10. Дейт, К.Дж. Введение в системы баз данных. – СПб.: Издательский дом "Вильямс", 2008. - 848 с.
  11. АС Библиотека-3 - автоматизация и координация всех процессов работы библиотек [Электронный ресурс]. - Режим доступа: http://www.galaxyit.ru/service/article_full.php?id=380&id_next=378&id_prev=379. - Загл. с экрана.
  12. Автоматизированная информационно-библиотечная система МАРК-SQL. Обзор текущего состояния. Новые направления развития [Электронный ресурс]. - Режим доступа: http://www.gpntb.ru/win/inter-events/crimea2001/tom/sec2a/Doc5.HTML. - Загл. с экрана.
  13. Автоматизация библиотечных процессов [Электронный ресурс]. - Режим доступа: http://schoollibrary-ikt.narod.ru/index/0-2. - Загл. с экрана.
  14. Автоматизация библиотечной деятельности [Электронный ресурс]. - Режим доступа: http://laleshin.narod.ru/pto/T-4-1.pdf. - Загл. с экрана.
  15. Автоматизация библиотечных процессов [Электронный ресурс]. - Режим доступа: http://schoollibrary-ikt.narod.ru/index/0-2. - Загл. с экрана.
  16. Основные функции библиотеки процессов [Электронный ресурс]. - Режим доступа: http://libr-sch-2.moy.su/index/0-2. - Загл. с экрана.
  17. Официальный сайт ООО «ДИТ-М» Документальные информационные технологии [Электронный ресурс]. - Режим доступа: http://www.ditm.ru/. - Загл. с экрана.
  18. Что такое библиотека [Электронный ресурс]. - Режим доступа: http://www.kakprosto.ru/kak-79154-chto-takoe-biblioteka#ixzz3WxHvIv8a . - Загл. с экрана.
  19. Основные функции библиотеки [Электронный ресурс]. - Режим доступа: http://libr-sch-2.moy.su/index/0-2. - Загл. с экрана.
  20. Мой ориентир - библиотекарь [Электронный ресурс]. - Режим доступа: http://мой-ориентир.рф/энциклопедия-профессий/804/. - Загл. с экрана.
  21. Степанов, В. К. Тенденции развития библиографических сервисов библиотек в эпоху цифровых коммуникаций [Электронный ресурс]. - Режим доступа: http://ellib.gpntb.ru/subscribe/index.php?art=2&journal=ntb&num=3&year=2006 . - Загл. с экрана.
  22. Microsoft Visual Studio [Электронный ресурc]. – Режим доступа: https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio. - Загл. с экрана.
  23. Сравнительные характеристики средств разработки приложений [Электронный ресурс]. – Режим доступа: http://altcode.ru/c-plus/. - Загл. с экрана.

Приложение 1.
Листинг FormM.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using Excel = Microsoft.Office.Interop.Excel;

using Word = Microsoft.Office.Interop.Word;

namespace Biblio

{

public partial class FormMain : Form

{

private Excel.Application excelapp;

private Excel.Window excelWindow;

public FormMain()

{

InitializeComponent();

}

public int MenuItemsAndGridNoVisible()

{

настройкаПравToolStripMenuItem.Visible = false;

справочникиToolStripMenuItem.Visible = false;

абонементToolStripMenuItem.Visible = false;

библиоФондToolStripMenuItem.Visible = false;

отчетыToolStripMenuItem.Visible = false;

выдачавозвратКнигToolStripMenuItem.Visible = false;

dataGridViewL.Visible = false;

dataGridViewA.Visible = false;

dataGridViewB.Visible = false;

panelL.Visible = false;

panelA.Visible = false;

button1.Visible = false;

button2.Visible = false;

button4.Visible = false;

panelB.Visible = false;

return 0;

}

public int RoleVisible(int role)

{

MenuItemsAndGridNoVisible();

switch (role)

{

case 1:

настройкаПравToolStripMenuItem.Visible = true;

справочникиToolStripMenuItem.Visible = true;

абонементToolStripMenuItem.Visible = true;

библиоФондToolStripMenuItem.Visible = true;

отчетыToolStripMenuItem.Visible = true;

выдачавозвратКнигToolStripMenuItem.Visible = true;

break;

case 2:

справочникиToolStripMenuItem.Visible = true;

абонементToolStripMenuItem.Visible = true;

библиоФондToolStripMenuItem.Visible = true;

отчетыToolStripMenuItem.Visible = true;

выдачавозвратКнигToolStripMenuItem.Visible = true;

break;

case 3:

библиоФондToolStripMenuItem.Visible = true;

break;

default:

break;

}

return 0;

}

private void FormMain_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Издательство". При необходимости она может быть перемещена или удалена.

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Жанр". При необходимости она может быть перемещена или удалена.

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Автор". При необходимости она может быть перемещена или удалена.

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Литература". При необходимости она может быть перемещена или удалена.

this.литератураTableAdapter.Fill(this.biblioDataSet.Литература);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Абонемент". При необходимости она может быть перемещена или удалена.

this.абонементTableAdapter.Fill(this.biblioDataSet.Абонемент);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Библиотека". При необходимости она может быть перемещена или удалена.

this.библиотекаTableAdapter.Fill(this.biblioDataSet.Библиотека);

}

private void авторToolStripMenuItem_Click(object sender, EventArgs e)

{

FormS FS = new FormS();

FS.DataMade(1);

FS.ShowDialog();

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{

string caption = "Информация о программе";

string message = "АИС 'Библиотека' разработана в качестве курсового проекта.";

DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.OK, MessageBoxIcon.Information);

}

private void жанрToolStripMenuItem_Click(object sender, EventArgs e)

{

FormS FS = new FormS();

FS.DataMade(2);

FS.ShowDialog();

}

private void издательствоToolStripMenuItem_Click(object sender, EventArgs e)

{

FormS FS = new FormS();

FS.DataMade(3);

FS.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)

{

this.литератураBindingSource.CancelEdit();

this.абонементBindingSource.CancelEdit();

this.библиотекаBindingSource.CancelEdit();

MessageBox.Show("Изменения сохранить не удалось.");

}

private void button1_Click(object sender, EventArgs e)

{

this.Validate();

this.литератураBindingSource.EndEdit();

this.литератураTableAdapter.Update(biblioDataSet);

this.абонементBindingSource.EndEdit();

this.абонементTableAdapter.Update(biblioDataSet);

this.библиотекаBindingSource.EndEdit();

this.библиотекаTableAdapter.Update(biblioDataSet);

MessageBox.Show("Изменения сохранены.");

}

private void button4_Click(object sender, EventArgs e)

{

this.литератураBindingSource.Filter = "";

this.абонементBindingSource.Filter = "";

this.библиотекаBindingSource.Filter = "";

}

private void переченьКнигToolStripMenuItem_Click(object sender, EventArgs e)

{

string fileName = System.Windows.Forms.Application.StartupPath + "\\" + "Report1" + ".xlt";

//Приложение самого Excel

excelapp = new Excel.Application();

excelapp.Visible = false;

try

{

//Книга.

Excel.Workbooks excelappworkbooks = excelapp.Workbooks;

excelapp.Workbooks.Open(fileName,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing);

Excel.Workbook excelappworkbook = excelappworkbooks[1];

//Получаем массив ссылок на листы выбранной книги

Excel.Sheets excelsheets = excelappworkbook.Worksheets;

//Выбираем лист 1

Excel.Worksheet excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

//Выбираем ячейку для вывода A1

Excel.Range excelcells = excelworksheet.get_Range("A1", Type.Missing);

excelworksheet.Activate();

int rowExcel = 4;

for (int i = 0; i < dataGridViewL.RowCount - 1; i++)

{

excelworksheet.Cells[rowExcel, "A"] = dataGridViewL.Rows[i].Cells[1].Value;

excelworksheet.Cells[rowExcel, "B"] = dataGridViewL.Rows[i].Cells[2].Value;

excelworksheet.Cells[rowExcel, "C"] = dataGridViewL.Rows[i].Cells[3].FormattedValue;

excelworksheet.Cells[rowExcel, "D"] = dataGridViewL.Rows[i].Cells[4].FormattedValue;

excelworksheet.Cells[rowExcel, "E"] = dataGridViewL.Rows[i].Cells[11].FormattedValue;

++rowExcel;

}

}

catch (Exception error)

{

throw error;

}

excelapp.Visible = true;

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Издательство". При необходимости она может быть перемещена или удалена.

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Жанр". При необходимости она может быть перемещена или удалена.

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Автор". При необходимости она может быть перемещена или удалена.

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Литература". При необходимости она может быть перемещена или удалена.

this.литератураTableAdapter.Fill(this.biblioDataSet.Литература);

}

private void личныеДанныеАвторовToolStripMenuItem_Click(object sender, EventArgs e)

{

FormS FS = new FormS();

FS.DataMade(1);

FS.авторTableAdapter.Fill(this.biblioDataSet.Автор);

string fileName = System.Windows.Forms.Application.StartupPath + "\\" + "Report2" + ".xlt";

//Приложение самого Excel

excelapp = new Excel.Application();

excelapp.Visible = false;

try

{

//Книга.

Excel.Workbooks excelappworkbooks = excelapp.Workbooks;

excelapp.Workbooks.Open(fileName,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing);

Excel.Workbook excelappworkbook = excelappworkbooks[1];

//Получаем массив ссылок на листы выбранной книги

Excel.Sheets excelsheets = excelappworkbook.Worksheets;

//Выбираем лист 1

Excel.Worksheet excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

//Выбираем ячейку для вывода A1

Excel.Range excelcells = excelworksheet.get_Range("A1", Type.Missing);

excelworksheet.Activate();

int rowExcel = 4;

for (int i = 0; i < FS.dataGridView1.RowCount - 1; i++)

{

excelworksheet.Cells[rowExcel, "A"] = FS.dataGridView1.Rows[i].Cells[1].Value;

excelworksheet.Cells[rowExcel, "B"] = FS.dataGridView1.Rows[i].Cells[2].Value;

excelworksheet.Cells[rowExcel, "C"] = FS.dataGridView1.Rows[i].Cells[3].Value;

++rowExcel;

}

}

catch (Exception error)

{

throw error;

}

excelapp.Visible = true;

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Издательство". При необходимости она может быть перемещена или удалена.

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Жанр". При необходимости она может быть перемещена или удалена.

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Автор". При необходимости она может быть перемещена или удалена.

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

}

private void сводныйОтчетToolStripMenuItem_Click(object sender, EventArgs e)

{

литератураBindingSource.Sort = "Страна, Жанр";

string fileName = System.Windows.Forms.Application.StartupPath + "\\" + "Report3" + ".xlt";

//Приложение самого Excel

excelapp = new Excel.Application();

excelapp.Visible = false;

try

{

//Книга.

Excel.Workbooks excelappworkbooks = excelapp.Workbooks;

excelapp.Workbooks.Open(fileName,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing);

Excel.Workbook excelappworkbook = excelappworkbooks[1];

//Получаем массив ссылок на листы выбранной книги

Excel.Sheets excelsheets = excelappworkbook.Worksheets;

//Выбираем лист 1

Excel.Worksheet excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

//Выбираем ячейку для вывода A1

Excel.Range excelcells = excelworksheet.get_Range("A1", Type.Missing);

excelworksheet.Activate();

int rowExcel = 4;

string страна = "";

string жанр = "";

for (int i = 0; i < dataGridViewL.RowCount - 1; i++)

{

if (страна != dataGridViewL.Rows[i].Cells[8].Value)//страна

{

страна = (string)dataGridViewL.Rows[i].Cells[8].Value;

excelworksheet.Cells[rowExcel, "A"] = "Страна";

excelworksheet.Cells[rowExcel, "B"] = dataGridViewL.Rows[i].Cells[8].Value;

excelworksheet.Cells[rowExcel, "A"].Font.Italic = true;

excelworksheet.Cells[rowExcel, "B"].Font.Italic = true;

++rowExcel;

};

if (жанр != dataGridViewL.Rows[i].Cells[4].FormattedValue)//жанр

{

жанр = (string)dataGridViewL.Rows[i].Cells[4].FormattedValue;

excelworksheet.Cells[rowExcel, "B"] = "Жанр";

excelworksheet.Cells[rowExcel, "C"] = dataGridViewL.Rows[i].Cells[4].FormattedValue;

excelworksheet.Cells[rowExcel, "C"].Font.Italic = true;

excelworksheet.Cells[rowExcel, "B"].Font.Italic = true;

++rowExcel;

}

excelworksheet.Cells[rowExcel, "A"] = dataGridViewL.Rows[i].Cells[2].Value;

excelworksheet.Cells[rowExcel, "B"] = dataGridViewL.Rows[i].Cells[3].FormattedValue;

excelworksheet.Cells[rowExcel, "C"] = dataGridViewL.Rows[i].Cells[5].FormattedValue;

++rowExcel;

}

}

catch (Exception error)

{

throw error;

}

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Издательство". При необходимости она может быть перемещена или удалена.

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Жанр". При необходимости она может быть перемещена или удалена.

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Автор". При необходимости она может быть перемещена или удалена.

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Литература". При необходимости она может быть перемещена или удалена.

this.литератураTableAdapter.Fill(this.biblioDataSet.Литература);

excelapp.Visible = true;

}

private void настройкаПравToolStripMenuItem_Click(object sender, EventArgs e)

{

FormSet FS = new FormSet();

FS.ShowDialog();

}

private void абонементToolStripMenuItem_Click(object sender, EventArgs e)

{

button1.Visible = true;

button2.Visible = true;

button4.Visible = true;

panelL.Visible = false;

panelA.Visible = true;

panelB.Visible = false;

dataGridViewL.Visible = false;

dataGridViewA.Visible = true;

dataGridViewB.Visible = false;

dataGridViewA.Columns[0].Visible = false;

}

private void библиоФондToolStripMenuItem_Click(object sender, EventArgs e)

{

button1.Visible = true;

button2.Visible = true;

button4.Visible = true;

panelL.Visible = true;

panelA.Visible = false;

panelB.Visible = false;

dataGridViewL.Visible = true;

dataGridViewA.Visible = false;

dataGridViewB.Visible = false;

dataGridViewL.Columns[0].Visible = false;

}

private void выдачавозвратКнигToolStripMenuItem_Click(object sender, EventArgs e)

{

button1.Visible = true;

button2.Visible = true;

button4.Visible = true;

panelL.Visible = false;

panelA.Visible = false;

panelB.Visible = true;

dataGridViewL.Visible = false;

dataGridViewA.Visible = false;

dataGridViewB.Visible = true;

dataGridViewB.Columns[0].Visible = false;

}

private void FormMain_FormClosed(object sender, FormClosedEventArgs e)

{

Application.Exit();

}

private void buttonA_Click(object sender, EventArgs e)

{

string caption = "Ошибка выбора";

string message = "Выберите значение из списка";

string sfilter = "";

if (textBox2.Text != "")

sfilter += "[Номер читательского билета] Like '%" + textBox2.Text + "%'";

if (textBox2.Text != "" && textBox4.Text != "")

sfilter += " and ";

if (textBox4.Text != "")

sfilter += "[ФИО читателя] Like '%" + textBox4.Text + "%'";

if (sfilter != "")

{

this.абонементBindingSource.Filter = sfilter;

}

else

{

DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

private void buttonB_Click(object sender, EventArgs e)

{

}

private void buttonL_Click(object sender, EventArgs e)

{

string caption = "Ошибка выбора";

string message = "Выберите значение из списка";

string sfilter = "";

sfilter = "[Дата] >=#" + String.Format("{0:MM/dd/yyyy}", dateTimePicker1.Value) + "# And "

+ " [Дата] <=#" + String.Format("{0:MM/dd/yyyy}", dateTimePicker2.Value) + "# ";

if ((int)comboBox1.SelectedValue > 0)

sfilter += "and [Автор]=" + comboBox1.SelectedValue;

if (textBox1.Text != "")

sfilter += "and [Название книги] Like '%" + textBox1.Text + "%'";

if (sfilter != "")

{

this.литератураBindingSource.Filter = sfilter;

}

else

{

DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

private void buttonB_Click_1(object sender, EventArgs e)

{

string caption = "Ошибка выбора";

string message = "Выберите значение из списка";

string sfilter = "";

if ((int)comboBox3.SelectedValue > 0)

sfilter += "[Книга]=" + comboBox3.SelectedValue;

if ((int)comboBox2.SelectedValue > 0 && (int)comboBox3.SelectedValue > 0)

sfilter += " and ";

if ((int)comboBox3.SelectedValue > 0)

sfilter += "[Читатель]=" + comboBox3.SelectedValue;

if (sfilter != "")

{

this.библиотекаBindingSource.Filter = sfilter;

}

else

{

DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

Приложение 2.
Листинг FormS.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Biblio

{

public partial class FormS : Form

{

public FormS()

{

InitializeComponent();

}

public int DataMade(int caseSwitch)

{

switch (caseSwitch)

{

case 1:

label1.Text = "Автор";

dataGridView1.DataSource = this.авторBindingSource;

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

break;

case 2:

label1.Text = "Жанр";

dataGridView1.DataSource = this.жанрBindingSource;

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

break;

case 3:

label1.Text = "Издательство";

dataGridView1.DataSource = this.издательствоBindingSource;

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

break;

default:

label1.Text = "";

break;

}

dataGridView1.Columns[0].Visible = false;

return 0;

}

private void FormS_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Издательство". При необходимости она может быть перемещена или удалена.

this.издательствоTableAdapter.Fill(this.biblioDataSet.Издательство);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Автор". При необходимости она может быть перемещена или удалена.

this.авторTableAdapter.Fill(this.biblioDataSet.Автор);

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Жанр". При необходимости она может быть перемещена или удалена.

this.жанрTableAdapter.Fill(this.biblioDataSet.Жанр);

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

this.Validate();

this.жанрBindingSource.EndEdit();

this.жанрTableAdapter.Update(biblioDataSet);

this.авторBindingSource.EndEdit();

this.авторTableAdapter.Update(biblioDataSet);

this.издательствоBindingSource.EndEdit();

this.издательствоTableAdapter.Update(biblioDataSet);

MessageBox.Show("Изменения сохранены.");

}

private void button2_Click(object sender, EventArgs e)

{

this.жанрBindingSource.CancelEdit();

this.авторBindingSource.CancelEdit();

this.издательствоBindingSource.CancelEdit();

MessageBox.Show("Изменения сохранить не удалось.");

}

}

}

Приложение 3.
Листинг FormSet.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Biblio

{

public partial class FormSet : Form

{

public FormSet()

{

InitializeComponent();

}

private void FormSet_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "biblioDataSet.Пользователи". При необходимости она может быть перемещена или удалена.

this.пользователиTableAdapter.Fill(this.biblioDataSet.Пользователи);

}

private void button1_Click(object sender, EventArgs e)

{

this.пользователиBindingSource.EndEdit();

this.пользователиTableAdapter.Update(biblioDataSet);

MessageBox.Show("Изменения сохранены.");

}

private void button2_Click(object sender, EventArgs e)

{

this.пользователиBindingSource.CancelEdit();

MessageBox.Show("Изменения сохранить не удалось.");

}

}

}

Приложение 4.
Листинг FormReg.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace Biblio

{

public partial class FormReg : Form

{

string name;

string pass;

int admin;

public FormReg()

{

InitializeComponent();

}

private void buttonOk_Click(object sender, EventArgs e)

{

name = textBoxL.Text;

pass = textBoxP.Text;

string CommandText = "SELECT * FROM [Пользователи] WHERE [Логин] = '" + name + "' AND [Пароль] = '" + pass + "'";

string Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Biblio.mdb;";

var myConnection = new OleDbConnection(Connect);

OleDbCommand myCommand = new OleDbCommand(CommandText, myConnection);

myConnection.Open();

object result = myCommand.ExecuteScalar();

if (result == null)

MessageBox.Show("Данный пользователь не зарегестрирован в базе данных АИС.", "Ошибка авторизация", MessageBoxButtons.OK, MessageBoxIcon.Error);

else

{

OleDbDataReader reader = myCommand.ExecuteReader();

reader.Read();

FormMain FM = new FormMain();

admin = Convert.ToInt32(reader["Роль"].ToString());

this.Hide();

FM.RoleVisible(admin);

FM.ShowDialog();

}

myConnection.Close();

}

private void buttonС_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}