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

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

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

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

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

Уровень выше - порог ниже

С появлением языков программирования высокого уровня жизнь программистов становилась легче, а производительность – выше. Программы не нужно было переписывать для каждой машины. Появились компиляторы, среды разработки. Fortran, Algol, а позже BASIC, PASCAL, C действительно были больше похожи на «человеческий» язык.

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

С появлением объектно-ориентированного программирования (С++, Object Pascal и так далее) тенденция повторного использования кода усилилась. Кроме того, со временем среды разработки становились более дружественными, и желающих освоить азы программирования становилось больше.

Программирование - в массы

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

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

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

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

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


Изображение с сайта

Но если специалист задерживался в статусе начинающего, он мог заметить одну особенность: бурно развивающиеся технологии разработки ПО еще сильнее снижали порог вхождения, и среднестатистический Junior урожая N-го года знал и умел еще меньше, чем его старший товарищ - Junior (N - k)-го года.

Веб-разработка методом «тяп-ляп»

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

После того как веб-разработка, начавшая набирать обороты только в 90-х годах, совершила огромный скачок в развитии, Михаил Густокашин может свободно пускаться в подобные рассуждения :

Допустим, вы хотите написать новый Facebook (социальную сеть). На чем вы будете это писать? HTML, CSS - это дизайн, а мы хотим, чтобы там можно было фотографии добавлять, друзей, комментарии оставлять.

Для скриптовой части - то есть то, что будет происходит на стороне клиента, - это JavaScript.

На удивление, он написан на PHP - и Facebook, и многие другие большие проекты. Пришлось, конечно, написать свои какие-то вещи, чтобы это всё-таки работало нормально, а не так как «тяп-ляп» было сделано, но они справились.

Здесь и сейчас, понятное дело, с нуля уже для веба никто ничего не пишет. Все ищут какой-нибудь фреймворк или ещё чего-то. Интернет-магазин? Скачали фреймворк для интернет-магазина - ну и всё, написали интернет-магазин.


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

На волне автоматизации

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

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

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

Мы выяснили, что по этому поводу думают эксперты, представители ИТ-индустрии:


Алексей Бычко , старший релиз-менеджер (Percona), разработчик проектов Percona Server for MySQL, Percona XtraDB Cluster, Percona XtraBackup, Percona Server for MongoDB, PQuery, преподаватель курса «Системное администрирование» в ИТ- Академии Алексея Сухорукова:

Появляется всё больше и больше сред для автоматизации рутинных вещей – это помогает лишний раз не писать что-то вручную, не изобретать велосипедов. Многое уже предусмотрено в интегрированных средах разработки, из которых можно вызывать нужные библиотеки и так решать стандартные задачи. Для тех, кто умеет и привык думать, это хорошо – можно сконцентрироваться на основном, на логике приложения. (Это люди «старой школы», которым для написания качественного кода хватит и простейшего текстового редактора).

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

По сути, это два подхода, которые выросли из факта наличия проективных Unix-подобных систем и процедурных Windows-подобных. Огромной корпорации, где всё разбито на мельчайшие подзадачки, важна воспроизводимость результата, а не оптимальное решение – если оператор ушёл, нужно, чтобы новый по инструкции делал то же самое и не хуже.

Но если у нас есть задача, которая конкретной процедурной системой, библиотекой или средой решается плохо или не решается вовсе (коллеги постарше помнят, что бывает, когда в написанный в C++ Builder или Delphi текстовый редактор попадает большой файл – ничего не листается и всё тормозит, и это никак не поправить), то нам нужно взять «чистую» систему, которая даёт больше свободы, и позвать программиста, который согласен не просто гуглить, а писать адекватное решение самостоятельно с нуля.



Введение

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

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

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

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

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

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

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

Средства автоматизации деятельности школьного библиотекаря позволяют достигать нескольких целей сразу:

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

Повышению культуры обслуживания;

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

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

Целью разработки дипломного проекта на тему «Программа автоматизации книг в библиотеке школы» является создание программного средства, автоматизирующего основные функции школьного библиотекаря.

Такая автоматизация работы библиотекаря позволит решить следующие проблемы:

Исключить ошибки при неправильном вводе;

Исключить ошибки при формировании статистических отчетов по работе библиотеки;

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

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

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

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

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

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

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

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

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

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

В седьмом разделе «Охрана труда и окружающей среды» описываются следующие пункты:

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

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

Пожарная безопасность;

Охрана окружающей среды.

В экономическом разделе описываются следующие пункты:

Технико-экономическое обоснование разработки;

Составление плана по разработке программного продукта;

Определение цены научно-технического продукта;

Экономическая эффективность разработки.

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

В приложении А приведен текст исходной программы.

В приложении Б формы выходных документов.

К пояснительной записке прилагается графическая часть, которая состоит из пяти листов и содержит диаграммы, спроектированные в ходе объектно-ориентированного анализа и проектирования: диаграмма вариантов использования, диаграмма компонентов, диаграмма деятельности, диаграмма последовательности, диаграмма классов.

1. Объектно-ориентированный анализ и проектирование системы

1.1 Сущность задачи

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

Рассмотрим предметную область задачи.

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

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

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

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

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

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

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

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

Таким образом, для автоматизации работы библиотекаря выделены следующие функции:

Учет имеющихся в библиотеке книг;

Учет записанных в библиотеку читателей школьной библиотеки;

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

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

Учет выданных пользователям библиотеки книг.

Исходя из исследования предметной области требуется создать систему учета для школьной библиотеки, которая позволит выдавать книги <#"897600.files/image001.jpg">

Рисунок 1.1

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

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

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

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

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

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

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

Регистрировать новую книгу, все экземпляры новой книги;

Оформить выдачу экземпляров книг;

Сформировать список книг на руках;

Сформировать статистические отчеты по различным критериям пользователя.

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

Предоставить список читателей, отфильтровать список по критерию «учитель/ученик»;

Предоставить справочную информацию о программе;

Предоставить данные о формулярах книг;

Предоставить справочную систему приложения.

Диаграмма вариантов использования представлена на листе 1 графической части.

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

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

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

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

Таблица 1.1 - Состав основных классов проекта


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

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

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

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

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

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

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

Программные компоненты, созданные в среде Visual Studio 2010 Ultimate (файл проекта, файлы ресурсов, файлы программного кода, файлы отчетов);

Файлы классов «*.cs»;

Файлы форм «*.resx»;

Файл проекта Visual Studio «Library.sln»;

Файл базы данных «DataBase1.mdf»;

Файл справочной системы «Help.chm»;

Файлы изображений для формуляров книг *.jpg, *.png, *bmp».

Отчетные документы, сформированные в процессе работы программы «*.rdlc».

2. Вычислительная система

2.1 Требования к аппаратным и операционным ресурсам

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

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

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

Операционная система семейства Windows;

Процессор с частотой 1.8 ГГц;

Оперативная память 512 Мбайт RAM;

150 МБайт памяти на жестком диске для программного средства;

Наличие платформы.NET Framework 3.5.

2.2 Инструменты разработки

Инструменты разработки:

Операционная система Microsoft Windows 7;

Среда разработки Microsoft Visual Studio 2010 Professional Edition;

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

CASE-среда Rational Rose Enterprise Edition v 7.0;

Microsoft SQL Server 2005;

Help & Manual Professional 7.2.0 <#"897600.files/image002.gif">

Рисунок 3.1

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

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

Рисунок 3.2

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

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

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

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

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

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

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

Средства защиты, разграничения доступа к данным не предусмотрены.

3.2 Концептуальный прототип

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

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

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

Приложение будет иметь интерфейс в виде вкладок на главной форме. За переходом с вкладки на вкладку будет закреплено определенное действие. Вкладки реализуются стандартным компонентом TabControl, TabPages.

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

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

При переходе с вкладки на вкладку пользователь будет «переключать» функции работы с программой. В таблице 3.1 представлены вкладки и закрепленные за ними действия.

Таблица 3.1 - Вкладки приложения

Имя вкладки

Действия

Каталог книг

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

Ведение БД

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

Регистрация книг

Регистрация новой книги, нового экземпляра зарегистрированной книги.

Формуляр читателей

История выдачи книг выбранному читателю.

Выдача книг

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

Возврат книг

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

Отчетность

Формирование отчетов по различным множественным критериям.


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

Для выбора критериев поиска будет служить стандартный компонент RadioButton.

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

Стандартный элемент управления TextBox будет использован для ввода и вывода разнообразных данных и для отображения текста на формах.

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

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

Например, для регистрации новой книги в базе данных библиотеки на вкладке «Регистрация книг» будет разработан интерфейс - проект формы для добавления новой книги, представленный на рисунке 3.3.

Рисунок 3.3

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

3.3 Организация данных

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

Все данные проекта будут храниться в базе данных «DataBase1.mdf».

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

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

На рисунке 3.4 представлена схема базы данных разрабатываемого приложения.

Рисунок 3.4

Таблица «Readers (Читатели)» хранит информацию о читателях, зарегистрированных в библиотеке. Структура данных о читателях приведена в таблице 3.2

Таблица 3.2 - Структура таблицы «Readers»


Таблица «Book (Книга)» хранит информацию о всех изданиях книг, хранящихся в библиотеке, которые предоставляются читателю для выбора, структура данных для изданий приведена в таблице 3.3.

Таблица 3.3- Структура таблицы «Book»

Тип данных

Размер, байт

Описание

uniqueidentifier

Идентификационный номер книги

uniqueidentifier

uniqueidentifier

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

uniqueidentifier

Идентификационный номер жанра

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

Год издания

Дата регистрации в базе

Количество

Путь к файлу изображения


Таблица «Ekz (Экземпляр)» хранит информацию обо всех экземплярах указанной книги, хранящихся в библиотеке, структура данных приведена в таблице 3.4.

Таблица 3.4- Структура таблицы «Ekz»

Тип данных

Размер, байт

Описание

uniqueidentifier

Идентификационный номер экземпляра книги

uniqueidentifier

Идентификационный номер книги

Номер в бумажном реестре

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

Признак потери книги


Таблица «Genre(Жанры)» хранит информацию о жанрах книг, хранящихся в библиотеке, структура данных для категорий изданий приведена в таблице 3.5.

Таблица 3.5- Структура таблицы «Genre»

Таблица 3.6- Структура таблицы «Author»


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

Таблица 3.7- Структура таблицы «Izd»


Таблица «Zakaz (Выдача книг)» хранит информацию о выдаче экземпляров книг на руки читателям, структура данных для выдачи книг приведена в таблице 3.8.

Таблица 3.8- Структура таблицы «Zakaz»

Тип данных

Размер, байт

Описание

uniqueidentifier

Идентификационный номер выдачи экземпляра книги

uniqueidentifier

Идентификационный номер читателя

uniqueidentifier

Идентификационный номер экземпляра книги

Дата выдачи экземпляра

Дата возврата экземпляра

Признак возврата экземпляра

Дата фактического возврата экземпляра


4 Функции: логическая и физическая организация

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

Регистрация в библиотеке новой книги и/или экземпляра книги;

Поиск информации по различным критериям пользователя;

Оформление выдачи экземпляров книг;

Формирование списков экземпляров книг на руках;

Формирование отчетов по выбранным критериям пользователя.

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

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

Функция корректировки базы данных реализована с помощью стандартных компонентов: кнопок «Регистрация экземпляра», «Регистрация книги», «Добавить», «Выдача книги», а также с помощью компонентов TextBox для ввода данных и компонента DataGridView для вывода информации из базы данных на экран.

Рассмотрим основные функции проекта.

Функция «Регистрация книги» обрабатывается событием OnClick(), закрепленным за элементом управления Button. Код функции представлен ниже.void Button2_Click(object sender, EventArgs e)

{s1 = textBox1.Text; //считывание данных(s1 == "")

{.Show("Ошибка, не все поля заполнены", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}{.Visible = false;connectionString = @"Data //подключение к БД Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";conn = new SqlConnection(connectionString);(var cmd = conn.CreateCommand())

{myReader = null;

//SQL-запрос вывод авторов книгmyCommand = new SqlCommand("SELECT id_author, fio FROM Author WHERE fio=@fio", conn);.Parameters.Clear();.Parameters.AddWithValue("fio", comboBox1.Text);.Open();= myCommand.ExecuteReader();kodaut = "";(myReader.Read())

{= myReader["id_author"].ToString();

}.Close();.Close();

//SQL-запрос вывод жанров изданий.CommandText = "SELECT id_categ, name FROM Categ WHERE name=@name";.Parameters.Clear();.Parameters.AddWithValue("name", comboBox3.Text);.Open();= myCommand.ExecuteReader();kodcateg = "";(myReader.Read())

{= myReader["id_categ"].ToString();

}.Close();.Close();

//считывание фото книгиfoto=pictureBox4.ImageLocation;

if (foto == null) foto = Application.StartupPath.ToString()+"\\Picters\\3.jpg";

//SQL-запрос на добавление новой информации в базу данных

cmd.CommandText = "INSERT INTO Book(kodauthor, kodpubl, kodcateg, name, year, datereg, kol, foto) VALUES(@kodauthor, @kodpubl, @kodcateg, @name, @year, @datereg, @kol, @foto)";.Parameters.Clear();.Parameters.AddWithValue("kodauthor", kodaut);.Parameters.AddWithValue("kodpubl", kodpubl);.Parameters.AddWithValue("kodcateg", kodcateg);.Parameters.AddWithValue("name", textBox1.Text);.Parameters.AddWithValue("year", numericUpDown1.Value);.Parameters.AddWithValue("datereg", dateTimePicker1.Value.Date.ToString("MM.dd.yyyy"));.Parameters.AddWithValue("kol",0);.Parameters.AddWithValue("foto", foto);.Open();.ExecuteNonQuery();.Close();.Text = "";.Image = null;.Show("Книга зарегистрирована", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

Функция «Поиск книг по критериям» закреплена за элементом управления Button «Применить». Функция поиска для разных таблиц реализована по одному принципу с изменением лишь параметров поиска. Обработка функции поиска осуществляется обработкой события OnClick() - нажатия на кнопку «Применить». Код функции представлен ниже.void Buton28_Click(object sender, EventArgs e)

{.Enabled = true;(radioButton24.Checked)

//параметры поиска представлены единичным выбором компонента radioButton

{TableAdapter.Connection.Close();TableAdapter.Connection.Open();

//в зависимости от выбранного критерия поиска

//формируется соответствующий SQL запрос

dataTable6TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +

"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND Book.name LIKE "" + textBox13.Text + "%"";TableAdapter.Adapter.SelectCommand.Parameters.Clear();TableAdapter.Adapter.SelectCommand.ExecuteReader();TableAdapter.Connection.Close();DataSet.DataTable6.Clear();TableAdapter.Adapter.Fill(database1DataSet.DataTable6);(database1DataSet.DataTable6.Count == 0)

if (radioButton23.Checked) //другой критерий поиска

{TableAdapter.Connection.Close();TableAdapter.Connection.Open();TableAdapter.Adapter.SelectCommand.CommandText = "SELECT CardTmp.kodekz, CardTmp.kodcard, Ekz.id_ekz, CardTmp.id, Ekz.kodizd, Ekz.nreestr, Book.kodauthor, " +

"Book.name, Book.id_izd, Author.id_author, Author.fio, Card.kodpers, Pers.id_pers, Pers.fio AS Expr1, " +"Card.id_card, Card.datevyd, Card.datevozv, CardTmp.datefactvozv FROM CardTmp, Ekz, Book, Author, Card, Pers " +

"WHERE Pers.id_pers = Card.kodpers AND Card.id_card = CardTmp.kodcard AND CardTmp.kodekz = Ekz.id_ekz AND " +

"Author.id_author = Book.kodauthor AND Ekz.kodizd = Book.id_izd AND Pers.fio LIKE "" + textBox13.Text + "%"";TableAdapter.Adapter.SelectCommand.Parameters.Clear();TableAdapter.Adapter.SelectCommand.ExecuteReader();TableAdapter.Connection.Close();DataSet.DataTable6.Clear();TableAdapter.Adapter.Fill(database1DataSet.DataTable6);(database1DataSet.DataTable6.Count == 0)

{();.Enabled = false;.Show("Ничего не найдено", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

Функция «Просмотр книг» закреплена за элементом управления Button «Просмотреть каталог книг» во вкладке «Регистрация книг», обрабатывается событием OnClick(). Код функции представлен ниже.void Button3_Click(object sender, EventArgs e)

{.Enabled = false;connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";conn = new SqlConnection(connectionString);(var cmd = conn.CreateCommand())

SqlDataReader myReader = null;

//формирование SQL запроса на вывод данных о читателях

SqlCommand myCommand = new SqlCommand("SELECT id_pers, fio FROM Pers WHERE fio=@fio", conn);

myCommand.Parameters.Clear();.Parameters.AddWithValue("fio", comboBox6.Text);.Open();= myCommand.ExecuteReader(); kdp = "";

while (myReader.Read()) //считывание данных из БД

kdp = myReader["id_pers"].ToString(); //считывание кода читателя

myReader.Close();

//формирование SQL запроса на вывод данных об авторах

authorTableAdapter.Connection.Close();.Connection.Open();.Adapter.SelectCommand.CommandText = "SELECT id_author, fio FROM dbo.Author";.Adapter.SelectCommand.Parameters.Clear();.Adapter.SelectCommand.ExecuteReader();.Connection.Close();DataSet.Author.Clear();.Adapter.Fill(database1DataSet.Author);

//формирование SQL запроса на вывод данных о категориях

categTableAdapter.Connection.Close();.Connection.Open();.Adapter.SelectCommand.CommandText = "SELECT id_categ, name, inf FROM dbo.Categ";.Adapter.SelectCommand.Parameters.Clear();.Adapter.SelectCommand.ExecuteReader();.Connection.Close();DataSet.Categ.Clear();.Adapter.Fill(database1DataSet.Categ);

// формирование SQL запроса на вывод данных об экземплярах книги

String kodizd = ""; ;connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";conn = new SqlConnection(connectionString);(var cmd = conn.CreateCommand())

{myReader = null;myCommand = new SqlCommand("SELECT Book.id_izd, Book.kodauthor, Book.kodpubl, Book.kodcateg, Book.name, Book.year, Book.datereg, " +

"Book.kol, Book.foto, Author.fio, Author.id_author, Publ.id_publ, Publ.name AS Expr1, Publ.city, Publ.inf," +

" Categ.id_categ, Categ.name AS Expr2, Categ.inf AS Expr3 FROM Book, Author, Publ, Categ WHERE " +

"Book.kodauthor=Author.id_author AND Book.kodpubl=Publ.id_publ AND Book.kodcateg = Categ.id_categ AND " +

"Book.name=@Name", conn);.Parameters.Clear();.Parameters.AddWithValue("Name", comboBox4.Text);.Open();= myCommand.ExecuteReader();(myReader.Read())

{= myReader["id_izd"].ToString(); //считывание кода издательства

}.Close();.Close();

}.Connection.Open();.Adapter.SelectCommand.CommandText = "SELECT id_ekz, kodizd, datepost, nreestr, exist FROM dbo.Ekz WHERE kodizd=@kodizd";.Adapter.SelectCommand.Parameters.Clear();.Adapter.SelectCommand.Parameters.AddWithValue("kodizd", kodizd);.Adapter.SelectCommand.ExecuteReader();.Connection.Close();DataSet.Ekz.Clear();.Adapter.Fill(database1DataSet.Ekz);

Полный код функций представлен в приложении А.

3.5 Проектирование справочной системы приложения

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

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

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

Данная справочная информационная система будет разработана с помощью программы Help & Manual Professional 7.2.0 <#"897600.files/image006.gif">

Рисунок 4.1

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

4.2 Функциональное назначение

Главным назначением программы является автоматизация основных функций школьного библиотекаря - учёт информации об экземплярах книг, хранящихся в библиотеке, оформление выдачи книг на руки читателям (разграничение ученик/учитель), формирование списков книг на руках, поиск книг по заданным критериям и другие.

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

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

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

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

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

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

Для получения быстрого доступа к книгам, выданным на руки, служит вкладка «Формуляр читателей», в которой представлен полный список экземпляров книг, выданных выбранному читателю (так называемая история выдачи книг для читателя).

В приложении реализовано формирование отчетов по различным критериям пользователя. Например, имеется возможность формирования списка всех утерянных экземпляров книг, всех книг, выданных на заданную дату и так далее. Из сформированного отчета пользователь имеет возможность экспортировать данные в MS Office (Word, Excel), а также распечатать сформированный отчет.

4.3 Входные данные

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

Таблица 4.1 - Структура входных данных для регистрации новой книги

Размер, байт

Описание поля

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

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

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

Год издания

Дата регистрации в базе

Путь к изображению обложки книги


Входными данными для добавления нового экземпляра книги является информация, представленная в таблице 4.2.

Таблица 4.2 - Структура входных данных для добавления нового экземпляра зарегистрированной книги


Входными данными для добавления нового автора является фамилия, имя, отчество автора, для нового жанра - название жанра. Для добавления нового издательства входными данными являются название издательства, город. Для добавления нового читателя необходимо указать его ФИО, признак читателя - ученик/учитель, краткая информация о читателе.

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

4.4 Выходные данные

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

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

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

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

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

- «Формуляр читателя»;

- «Нет в библиотеке»;

- «История выдачи книг».

Для каждого указанного раздела необходимо указать параметры построения отчета. Например, для построения отчета для просмотра формуляра читателя «Гладышева Наталья Петровна» необходимо перейти на вкладку «Отчетность», в разделе для построения отчетов выбрать «Формуляр читателя», выбрать соответствующего читателя в выпадающем списке и нажать кнопку «Создать отчет». Сформированный отчет по заданным критериям представлен в приложении Б на рисунке Б.1.

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

5. Методика испытаний

1 Технические требования

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

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

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

Минимальные программно-технические требования к данному приложению при проведении тестирования представлены в таблице 5.1.

Таблица 5.1 - Минимальные системные требования


5.2 Порядок проведения испытаний

2.1 Функциональное тестирование

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

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

На данном этапе необходимо проверить программный продукт методами, описанными выше. При запуске программы появляется главное окно программы, вид которого приведен на рисунке 5.1, из этого окна происходят все основные действия программы. Выполняются функции загрузки данных из базы данных и отображение в главном окне. Заполняется каталог книг, информация в котором сгруппирована по авторам книг, жанрам, издательствам.

Рисунок 5.1

Протестируем функцию регистрацию новой книги. Для этого на главной форме необходимо перейти на вкладку «Регистрация книг» и нажать кнопку «Регистрация книги».

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

Рисунок 5.2

Для регистрации новой книги необходимо в разделе «Автор» выбрать из списка зарегистрированных авторов ФИО автора книги, в разделе «Жанр» - жанр новой книги, в разделе «Издательство» - название издательства.

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

Название издания необходимо ввести вручную в соответствующее поле. Для загрузки фотографии обложки книги необходимо нажать на кнопку «Загрузить фото обложки» и в появившемся диалоговом окне выбрать файл изображения обложки новой книги. Диалоговое окно для выбора файла изображения представлено на рисунке 5.3.

Рисунок 5.3

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

Рисунок 5.4

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

Рисунок 5.5

Функция регистрации нового издания отработана корректно, без выдачи сообщений об ошибках.

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

Для этого на вкладке приложения «Возврат книг» в левой части формы расположен раздел для задания критериев поиска необходимой информации. Например, библиотекарю необходимо просмотреть все издания, выданные за определенную дату. Для этого на форме, представленной на рисунке 5.6 необходимо в разделе критериев для поиска выбрать «По дате выдачи». На календаре необходимо ввести параметр поиска, например «6 июня 2017 г.» и нажать кнопку «Применить».

В правой части формы отобразится результат поиска книг по заданному критерию. Для пользователя выводится список книг, выданный на заданную дату. В списке выводится полная информация о книгах, с указанием всех параметров экземпляров книг - ФИО автора, название книги, номер экземпляра, дата выдачи (заданная как параметр поиска), дата возврата книги, дата фактического возврата книги.

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

Рисунок 5.6

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

В результате поиска пользователю будут представлен список читателей, фамилия которых начинается на заданные буквы, а также список всех книг, выданные на руки отобранным читателям. Результат поиска читателей, фамилия которых начинается на букву «Г» и список выданных им книг представлен на рисунке 5.7.

Если поиск не дал результатов, приложение сгенерирует сообщение, представленное на рисунке 5.8.

Рисунок 5.7

Рисунок 5.8

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

Протестируем функцию «Просмотр формуляра читателя». Для выполнения данной функции необходимо на главной форме перейти на вкладку «Формуляр читателей». При этом на форме, представленной на рисунке 5.9, отобразится список всех зарегистрированных читателей.

Рисунок 5.9

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

Для просмотра формуляра читателя пользователю необходимо выбрать читателя из списка зарегистрированных в школьной библиотеке читателей выделить данные в таблице и нажать на кнопку «Просмотреть формуляр». В нижней части формы, представленной на рисунке 5.10, отразится список всех выданных читателю экземпляров книг (так называемая история выдачи книг).

Рисунок 5.10

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

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

5.2.2 Полное тестирование

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

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

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

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

Для регистрации нового экземпляра книги в базе данных библиотеки должна быть зарегистрирована книга, для которой будет добавлен экземпляр. В пункте 5.2.1 описана регистрация новой книги с названием «Уральские сказы» автора «Бажов Павел». Добавим экземпляр данной книги в библиотеку со следующими тестовыми данными:

Название: Уральские сказы;

Номер экземпляра: 112.

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

Если был осуществлен некорректный ввод или значение для поля не определено, система предупредит пользователя сообщением, представленным на рисунке 5.12.

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

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

Так как экземпляр только что добавлен в библиотеку, по умолчанию ему выставляется статус «наличие в библиотеке».

Рисунок 5.11

Рисунок 5.12

Рисунок 5.13

Рисунок 5.14

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

Читатель: Гладышева Наталья Петровна;

Книга: Уральские сказы;

Экземпляр: 113;

Дата выдачи 01.06.2017;

Дата возврата:07.06.2016.

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

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

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

Рисунок 5.15

Рисунок 5.16

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

Например, читатель Петрушенко не вернул вовремя книги в библиотеку, поэтому при выборе данного читателя, как представлено на форме 5.15, и попытке выдать ему любой экземпляр книги при нажатии кнопки «Выдать книгу» приложение выдаст сообщение, представленное на рисунке 5.17.

Рисунок 5.17

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

В нижней части формы, представленной на рисунке 5.18 в списке «Формуляр читателя» будет отображен выданный экземпляр.

Рисунок 5.18

Для возврата выданного экземпляра необходимо перейти на форме, представленной на рисунке 5.19 в раздел «Возврат книг», выбрать в списке читателей «Гладышева Наталья Петровна», затем выбрать выданный экземляр книги и нажать кнопку «Возврат книги», после чего программа выдаст соответствующее сообщение.

Рисунок 5.19

Так как экземпляр был возвращен в библиотеку, у читателя «Гладышева Наталья Петровна» в карточке выдачи книг (формуляре читателя) данный экземпляр будет помечен как «Книга возвращена».

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

Для просмотра формуляра читателя необходимо выбрать вкладку «Формуляр читателей, выбрать интересующего читателя и нажать кнопку «Просмотреть формуляр». Формуляр читателя «Гладышева Наталья Петровна» с возвращенным в библиотеку экземпляром книги «Уральские сказы» представлен на рисунке 5.20.

Рисунок 5.20

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

Для формирования данного отчета необходимо перейти на вкладку «Отчетность», выбрать раздел «История выдачи книг» и задать критерии построения отчета: «по дате выдачи» на дату «1.06.2017». Сформированный отчет представлен на рисунке 5.21.

Рисунок 5.21

Также можно сформировать отчеты по выбранным разделам и критериям пользователя. Данные отчеты представлены в приложении Б на рисунках Б.1 и Б.2.

6. Применение

1 Назначение программы

Главным назначением программы «Программа автоматизации книг в библиотеке школы» является учет экземпляров зарегистрированных книг в библиотеке.

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

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

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

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

Данные из сформированных отчетов можно экспортировать MS Office - в текстовый редактор MS Word, а также в MS Excel.

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

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

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

Средства защиты, разграничения доступа к данным и сетевая поддержка не предусмотрены.

6.2 Условия применения

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

Для работы с приложением требуется установка дополнительных компонентов, таких как библиотека.NET Framework версии 3.5., а также наличие установленного пакета MS Office (MS Word и MS Excel).

6.3 Справочная система

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

Файл справки предоставлен в папке с программой, он имеет имя «Help.chm». Для вызова справочной системы необходимо выбрать в меню пункт «Справка». Структура справочной системы представлена на рисунке 6.1, раздел справки «Работа с вкладками - Регистрация книг» представлен на рисунке 6.2.

Рисунок 6.1

Рисунок 6.2

7. Охрана труда и окружающей среды

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

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

Наиболее важные функции в системе управления охраной труда в Государственном учреждении образования «Средняя школа №109» (ГУО СШ №109) является четкое распределение функций, обязанностей, прав и ответственности в области охраны труда, которые возлагаются на руководителей, специалистов структурных подразделений.

Общее руководство и ответственность за организацию работы по охране труда в ГУО СШ №109 возлагается на директора. Непосредственная организация работы и контроль за выполнением мероприятий по охране труда возлагается на инженера по охране труда.

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

В ГУО СШ №109 организация и контроль обучения сотрудников по вопросам охраны труда возлагается на инженера по охране труда.

Согласно Инструкции о порядке подготовке (обучения), переподготовке, стажировке, инструктажа, повышение квалификации и проверки знаний, работающих по вопросам охраны труда, утвержденной постановлением Министерства труда и социальной защиты Республики Беларусь от 28 ноября 2008г. №175, проводится обучение работников.

Согласно Постановлению Совета Министров Республики, Беларусь 15.01.2004 №30 «Правила расследования и учёта несчастных случаев на производстве и профессиональных заболеваний» проводятся расследования несчастных случаев и профессиональных заболеваний на производстве.

Целью расследования несчастных случаев на производстве является:

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

Определение круга виновных лиц и состав вины каждой;

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

Основными видами контроля в организации являются:

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

Контроль по охране труда, осуществляемый инженером по охране труда в организации;

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

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

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

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

Выявленные недостатки в процессе проведения ежемесячного контроля заносятся в журнал ежемесячного контроля за состоянием охраны труда <#"897600.files/image030.gif">

Подготовительный

техник-программист

Выбор методов и средств

техник- программист

техник- программист

техник- программист

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

техник- программист


8.3 Определение цены научно-технического продукта

n - количество применяемых видов материалов.

Расчет целесообразно представить в таблице 8.2.

Таблица 8.2 - Расчет затрат на материалы, покупные полуфабрикаты и комплектующие изделия

Наименование материалов покупных полуфабрикатов и комплектующих изделий

Единица измерения

Коли-чество

Цена за единицу, руб.

Сумма, руб.

Скоросшиватель

Всего расходов

Всего с транспортно-заготовительными расходами


Определяется основная заработная плата научно-технического персонала, непосредственно занятого выполнением работ по теме ««Программа автоматизации книг в библиотеке школы».

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

Тарифная ставка на предприятии составляет 50,00 руб. Трудоемкость определяется исходя из данных, представленных в таблице 8.2.

Тарифный коэффициент

Часовая тарифная ставка, руб.

Трудоемкость, (чел/час)

Затраты по заработной плате, руб.

Подготовительный

техник-программист

Выбор методов и средств

техник- программист

Разработка алгоритмов и программ

техник- программист

Отладка программ и анализ результатов

техник- программист

Рос=(288,82+57,76) × 0,34 = 117 руб. 84 коп.

Также рассчитываются отчисления на страхование от несчастных случаев на производстве и профессиональных заболеваний (Остр) по ставке действующего законодательства (Нбгс = 0,3% - 0,9%). Для расчетов среднее значение Нбгс принимается равным 0,6%.

Остр = (8.5)

Остр=(288,82+57,76) × 0,006 = 2 руб. 8 коп.

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

(8.6)

где - норматив прямых расходов, ≈ 15%.

Рпр=288,82 × 0,15 = 43 руб. 32 коп.

Исчисляются косвенные (накладные) расходы по формуле

Определяется налог на добавленную стоимость по формуле

(8.11)

где - ставка налога (НДС), =20%.

НДС=800,65 × 0,2 = 160 руб. 13 коп.

Определяется цена научно-технической продукции с учетом НДС по формуле

(8.12)

Цотп=800,65 + 160,13 = 960 руб. 78 коп.

Все приведенные выше расчеты целесообразно объединить в сводную таблицу 8.4

Таблица 8.4- Расчет ориентировочной цены научно-технической продукции

Статьи затрат

Условные обозначения

Сумма, руб.

Материалы, покупные полуфабрикаты и комплектующие изделия

Основная заработная плата научно-производственного персонала

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

Отчисления на социальную защиту и на страхование от несчасных случаев

Прочие прямые расходы

Накладные расходы

Полная себестоимость

Плановые накопления (прибыль)

Отпускная цена (без НДС)

Налог на добавленную стоимость

Отпускная цена с НДС


8.4 Экономическая эффективность разработки

В данном разделе представлено экономическое обоснование для дипломного проекта по теме «Программное средство автоматизации книг в библиотеке школы».

В технико-экономическом обосновании были рассмотрены следующие вопросы:

Составление плана по разработке программного средства;

Расчет стоимости разработки.

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

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

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

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

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

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

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

Заключение

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

В приложении были реализованы следующие функции:

Ведение соответствующих таблиц базы данных (авторы, книги, издательства, экземпляры книг, сотрудники, выдача книг);

Поиск по критериям пользователя;

Просмотр каталога книг в библиотеке;

Выдача экземпляров книг читателям;

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

Контроль читателей, не вернувших книги в библиотеку на назначенную дату;

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

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

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

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

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

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

Недостатков в работе данного приложения выявлено не было.

Проект был реализован с использованием языка C# и системы управления базами данных Microsoft SQL Server.

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

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

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

Список информационных источников

1 Багласова, Т.Г. Методические указания по выполнению дипломного проекта для учащихся по специальности 2-40 01 01 «Программное обеспечение технологий» / Т.Г. Багласова. - Минск: КБП, 2017. - 30 c.

2 Багласова, Т.Г. Методические указания по оформлению курсовых и дипломных проектов / Т.Г. Багласова, К.О. Якимович. - Минск: КБП, 2013. - 29 c.

3 Буч, Гради. Объектно-ориентированный анализ и проектирование. / Гради Буч.- 4-е изд. - М. : Бином, 2012

4 Вендров, А.М. Проектирование программного обеспечения экономических информационных систем: Учебник / А.М. Вендров. - 2-е изд., перераб. и доп.- М. : Финансы и статистика, 2006. - 544 с.

5 Леоненков, А.В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А. В. Леоненков. - М.: Интернет-университет информационных технологий, 2010

6 Ласкавнев, В.П. Охрана труда на предприятиях: Практическое пособие / В.П Ласканев, В.В. Король. - Мн.: Библиотека журнала «Ахова працы»,№2, 2007

7 Лобан, Л.Д. Экономика предприятия: учебный комплекс /Л.Д. Лобан, В.Т. Пыко - Минск: Мисанта, 2006

8 Общие требования к тестовым документам: ГОСТ 2.105-95. - Введ. 01.01.1996. - Минск: Межгос. совет по стандартизации, метрологии и сертификации, 1995. - 84 с.

9 Описание программы. Требования к содержанию, оформлению и контролю качества: ГОСТ 19.402-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 14 с.

10 Программа и методика испытаний. Требования к содержанию, оформлению и контролю качества: ГОСТ 19.301-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 14 с.

11 Тактайкина Т.И., Анфиногенова Н.М. Книга. Читатель. Библиотека: опыт работ библиотек. - Новосибирск.: НГОНБ, 2008

12 Текст программы. Требования к содержанию, оформлению и контролю качества: ГОСТ 19.401-2000. - Введ. 01.09.2001. - Мн.: Межгос. совет по стандартизации, метрологии и сертификации, 2000. - 16 с.

13 Операционная система Windows 7 [Электронный ресурс] / Википедия.- Фонд Викимедия, 2003. - Режим доступа: #"897600.files/image065.gif">

Для реализации дипломного проекта была выбрана система программирования Delphi, относящаяся к классу инструментальных средств ускоренной разработки программ (RAD).

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

Визуальное конструирование форм избавляет программиста от многих аспектов разработки интерфейса программы. Delphi создает специальное окно, называемое окном формы, которое является прототипом окна будущей программы. Программист наполняет это окно необходимыми ему компонентами.

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

Таким образом, использование компонентов позволяет сократить время разработки программы и снижает вероятность ошибок.

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

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

Структурной единицей визуального программирования, основным «строительным элементом» для программы является компонент.

Компонент - это разновидность класса, который представлен пиктограммой на палитре компонентов Delphi, может быть визуально перенесен в программу и имеет набор свойств, которые можно определять, не изменяя текста программ. В этом суть визуального программирования. (В отличие от языка Turbo-Pascal, классом в Delphi называется объектовый тип переменных, а объектом называется экземпляр класса. Например, тип Student - это класс, а студент Иванов - конкретный объект, экземпляр класса).

Как и любой класс, компонент характеризуется полями, свойствами и методами. В Delphi вместо полей обычно используются свойства. Свойство можно рассматривать как разновидность поля класса, обращение к которому автоматически приводит к вызову метода чтения/записи поля.

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

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

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

Каждая форма представлена двумя файлами - файлом визуального описания формы (бинарный файл с расширением.dfm) и модулем с исходным текстом на языке Pascal (текстовый файл с расширением.pas), содержащим обработчики событий для компонентов этой формы.

Формы и модули объединены в проект. Проект - это совокупность файлов, из которых Delphi создает приложение. Проект оформляется в виде головной программы на Паскале, содержащей ссылки на файлы всех форм и модулей. Файл проекта имеет расширение.dpr.

В качестве средств разработки специального программного обеспечения была выбрана система Delphi 7. Выбор обуславливается тем, что с ее помощью можно в кратчайшие сроки разработать быстрое, компактное и полноценное Windows-приложение, работающее с базами данных и приложениями электронной почты. На сегодня Delphi является одним из самых распространенных средств создания приложений баз данных для корпоративных применений. Эти средства позволяют создавать прикладные программы, предназначенные для работы на ПЭВМ IBM PC AT под управлением оболочки Windows XP и других версий, а так же операционной системы Windows NT и использующие общепринятые для Windows элементы пользовательского интерфейса. Предпочтение было отдано системе Borland Delphi 7 Enterprise благодаря тому, что она позволяет программисту очень быстро и удобно разрабатывать пользовательский интерфейс . Это свойство особенно ценно из-за того, что, как показывает практика, работа над интерфейсом занимает большую часть времени создания программного продукта. Еще одним преимуществом выбранной системы является высокая (по сравнению со многими другими средствами программирования) эффективность генерируемого компилятором кода, что весьма существенно для данного проекта.

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

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

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

    Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.

    курсовая работа , добавлен 30.12.2014

    Разработка простейшей базы данных с использованием приемов работы с Microsoft Access в среде программирования Delphi. Назначение базы данных, условия эксплуатации, выполнения и запуска программы "База данных районного отдела налоговой инспекции".

    курсовая работа , добавлен 14.12.2012

    Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.

    курсовая работа , добавлен 16.04.2011

    Разработка базы данных "Аптека" в Microsoft Access, построение ее визуальной части в Delphi. Технологии связывания Microsoft Access со средой программирования Delphi. Создание запросов поисков. Реализация таблиц: продавцы, товары, чеки, поставка, счета.

    курсовая работа , добавлен 04.03.2014

    Анализ проектирования базы данных, построение форм и запросов. Создание программы работы городской телефонной сети с помощью метода канонического проектирования в Microsoft Access 2002. Смета затрат на разработку базы данных "Городская телефонная сеть".

    курсовая работа , добавлен 15.06.2011

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

    курсовая работа , добавлен 25.05.2015

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

    курсовая работа , добавлен 25.05.2015

Проектирование и разработка программного обеспечения для автоматизации деятельности МБОУ ДО «Детская школа искусств г. Невельска»

Ксенофонтов Сергей Сергеевич

Сахалинский государственный университет, студент

Агаширинова Валентина Юрьевна
Сахалинский государственный университет, институт естественных наук и техносферной безопасности

Старший преподаватель кафедры информатики

Аннотация

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

Ключевые слова: автоматизация, информационная система, запрос, отчет.

Design and development of software for the automation of MBOU to "Children"s Art School Nevelsk"

Ksenofontov Sergey Sergeevich

Sakhalin State University

S tudent

Agashirinova Valentina Yuryevna

Sakhalin State University, Institute of Natural Sciences and technosphere safety

Senior Lecturer of the Department of Informatics

A bstract

The article discusses the process of automation of activity MBOU to "Children"s Art School Nevelsk" , through the development of an information system for keeping records of school enrollment, fill in the schedule, students scorecards and reporting receipt of the documents necessary for the school of arts administration.

Keywords: automation, information system, query, report.

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

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

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

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

Свойства информационных систем:

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

    при построении ИС необходимо использовать системный подход;

    ИС является динамичной и развивающейся системой;

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

    выходной продукцией ИС является информация, на основе которой принимаются решения или производятся автоматическое выполнение рутинных операций;

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

Процессы в информационной системе:

    ввод информации из внешних и внутренних источников;

    обработка входящей информации;

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

    вывод информации в удобном для пользователя виде;

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

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

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

При разработке приложения использовалась концепция MVC (Model-Veiw-Controller, Модель-Вид-Контроллер), как показано на рисунке 1. Этот шаблон разделяет работу веб-приложения на три отдельные функциональные роли: модель данных (Model), пользовательский интерфейс (View) и управляющую логику (Controller). Таким образом, модификация каждого компонента может осуществляться независимо .

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

Рисунок 1 – Концепция Model-View-Controller

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

    Пользователь заполняет веб-форму и отправляет ее PHP-обработчику, заданному в атрибуте action.

    Веб-сервер (Apache) принимает запрос и вызывает интерпретатор PHP с именем скрипта и данными веб-формы в качестве параметров.

    Интерпретатор PHP загружает на исполнение указанный скрипт и передает ему данные из формы.

    В процессе выполнения PHP-скрипта данные из формы подставляются в SQL-запрос.

    Из скрипта SQL-запрос передается серверу СУБД MySQL.

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

    PHP-скрипт использует полученные из БД данные для динамического формирования веб-страницы и возвращает ее веб-серверу (Apache), который передает ее клиенту (браузеру).

Схема взаимодействия клиента и сервера представлена на рисунке 2.

Рисунок 2 – Схема взаимодействия клиента и сервера

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

Основными объектами являются:

    ученики;

    преподаватели;

    группы (классы);

    отделения.

Проектирование базы данных осуществлялась при помощи веб-интерфейса phpmyadmin, который позволяет при помощи визуальных средств создать структуру и сгенерировать SQL-код для формирования базы данных в СУБД MySQL.

Схема базы данных школы в виде таблиц со связями изображена на рисунке 3.

Рисунок 3 – Схема базы данных в виде таблиц

На рисунке 3 не показаны связи между таблицами, так как связи между таблицами задаются в запросах SQL при выполнении кода скрипта РНР.

Рисунок 4 Окно редактора SQL-запросов в phpmyadmin

Разработка пользовательского интерфейса производилась без использования каких-либо конструкторов – в текстовом редакторе GEdit, входящим практически в любой дистрибутив OS L i nux. На рисунке показан процесс программирования информационной системы. В левом мониторе открыт файл index.php в текстовом редакторе GEdit в режиме редактирования от имени суперпользователя root. Команда на запуск редактора в таком режиме для Ubuntu Linux Desk"; line-height: 100%">

Рисунок 5 Разработка АИС «Контингент ДШИ»

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

Рисунок 6 Главная страница автоматизированной информационной системы

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

    Отделение изобразительного искусства;

    Музыкальное отделение;

    Хореографическое отделение;

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

Разработанная автоматизированная информационная система была протестирована и отлажена с использованием рабочей станции ЛВС МБОУ ДО ДШИ г.Невельска. Рабочая станция работает под управлением ОС Ubuntu Lunux Desktop i386, что облегчает размещение АИС на сервере локальной сети организации. Автоматизированная информационная система доступна из браузера любого компьютера ЛВС по адресу: .

Библиографический список

    Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д. Хомоненко. – 4-е изд. – СПб.: Корона Принт, 2014. – 736.

    Гольцман, В. MySQL 5.0. Библиотека программиста / В. Гольцман. – Питер, 2011. – 370 с.

    Бейли, Л. Изучаем PHP и MySQL / Л. Бейли, М. Моррисон. – Эсмо, 2012. – 800 с.

    Кокорева Е.В., Виснадул Б.Д. Технология разработки программного обеспечения. М.: ИНФРА-М, ФОРУМ. 2013. 400 с.




Close