При нажатии на кнопку «Редактирование БД» или выборе соответствующего пункта меню становится видимым блок редактирования БД, невидимой — кнопка «Редактирование БД» и включается кнопка «Библиотека». В этом блоке отображаются элементы, позволяющие добавлять, редактировать удалять записи БД. Управление БД производится с помощью навигатора. Поля «УДК», «Автор» и «Заглавие» являются обязательными к заполнению при добавлении записи. При нажатии на кнопку «Готово» блок редактирования скрывается, становится видимой кнопка «Редактирование БД», кнопка «Библиотека» выключается.
При нажатии на кнопку «Библиотека» или выборе соответствующего пункта меню в блоке «Редактирование БД» становится видимым блок управления библиотекой, кнопка «Библиотека» становится невидимой. В этом блоке отображается элемент, позволяющий обозначить факт выдачи/возврата выбранного издания в фонд библиотеки. При нажатии на кнопку «Готово» блок скрывается, становится видимой кнопка «Библиотека».
При нажатии на кнопку «Дополнительно» или выборе соответствующего пункта меню становится видимым блок «Дополнительная информация об издании», кнопка «Дополнительно» становится невидимой. В этом блоке отображаются все имеющиеся в БД сведения для выбранного издания.
При просмотре записей таблиц БД используются как навигаторы этих таблиц, так и навигатор в блоке редактирования БД.
При выборе меню «О программе» запускается форма «О программе», содержащая название программы, сведения о разработчике и руководителе разработки. При нажатии кнопки «ОК» форма закрывается.
При нажатии на кнопку «Выход» или выборе соответствующего пункта меню происходит выход из программы.
Схема работы программы «Библиотека»
3.4 Разработка интерфейса ПС
Интерфейс определяет набор функций и процедур, которые могут быть использованы для взаимодействия программы с объектом.
В данной разработке создан процедурно-ориентированный интерфейс со свободной навигацией, с меню на главной форме. Пользовательский интерфейс представляет средство взаимодействия пользователя с программой. При разработке пользовательского интерфейса следует учитывать потребности, опыт и способности пользователя. В силу большого разнообразия пользователей и видов программных средств существует множество различных стилей пользовательских интерфейсов, при разработке которых могут использоваться разные принципы и подходы. Основные принципы:
· пользовательский интерфейс должен базироваться на терминах и понятиях, знакомых пользователю;
· пользовательский интерфейс должен быть единообразным;
· пользовательский интерфейс должен позволять пользователю исправлять собственные ошибки.
4. Кодирование
4.1 Выбор среды разработки
Delphi – это объектно-ориентированная среда для визуального проектирования Windows-приложений с развитыми механизмами повторного использования программного кода.
Существенной чертой Delphi является компонентная модель разработки программных продуктов. Суть модели заключается в поддержке системой постоянно расширяемого набора объектных компонентов, из которых и строится программа. Компоненты в Delphi просты для использования и развития, как результат сокрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой.
Для создания в Delphi несложных программных продуктов совершенно необязательно понимать внутреннюю структуру Windows-приложения, получаемого после разработки в Delphi. Достаточно просто уметь работать с некоторыми компонентами, поставляемыми вместе со средой разработчика. При этом начать работу со средой можно практически без предварительного ознакомления, а написание первого приложения не потребует углубления в особенности системы. Этому отчасти способствует удобный интерфейс среды разработчика, не перегруженный излишними вопросами к разработчику.
Программирование в Delphi состоит из двух основных этапов:
1. Визуальное построение программы на основе объектных компонентов и настройка их свойств, в результате чего можно быстро сформировать пользовательский интерфейс и обеспечить значительную долю функциональности приложения.
2. Написание программного кода на языке Object Pascal для обеспечения особой функциональности приложения, которую невозможно достичь использованием визуального построения.
4.2 Характеристика языка программирования
Object Pascal — полностью объектно-ориентированный диалект языка Pascal, разработанный фирмой Borland. Начиная с Delphi 7 фирма Borland начала официально называть свой язык Delphi. Однако Object Pascal поддерживается и развивается другими разработчиками. Наиболее серьёзные реализации Object Pascal, кроме Delphi — это TMT Pascal, Virtual Pascal и Free Pascal.
Многие современные языки специально созданы для облегчения объектно-ориентированного программирования. Однако следует отметить, что можно применять техники ООП и для не-объектно-ориентированного языка и наоборот, применение объектно-ориентированного языка вовсе не означает, что код автоматически становится объектно-ориентированным.
Современный объектно-ориентированный язык предлагает, как правило, следующий обязательный набор синтаксических средств:
· Объявление классов с полями (данными — членами класса) и методами (функциями — членами класса).
· Механизм расширения класса (наследования) — порождение нового класса от существующего с автоматическим включением всех особенностей реализации класса-предка в состав класса-потомка. Большинство ООП-языков поддерживают только единичное наследование.
· Средства защиты внутренней структуры классов от несанкционированного использования извне. Обычно это модификаторы доступа к полям и методам, типа public, private, обычно также protected, иногда некоторые другие.
· Полиморфные переменные и параметры функций (методов), позволяющие присваивать одной и той же переменной экземпляры различных классов.
· Полиморфное поведение экземпляров классов за счёт использования виртуальных методов. В некоторых ООП-языках все методы классов являются виртуальными.
Видимо, минимальным традиционным объектно-ориентированным языком можно считать язык Оберон, который не содержит никаких других объектных средств, кроме вышеперечисленных (в исходном Обероне даже нет отдельного ключевого слова для объявления класса, а также отсутствуют явно описываемые методы, их заменяют поля процедурного типа). Но большинство языков добавляют к указанному минимальному набору те или иные дополнительные средства. В их числе:
· Конструкторы, деструкторы, финализаторы.
· Свойства.
· Индексаторы.
· Интерфейсы — как альтернатива множественному наследованию.
· Переопределение операторов для классов.
Часть языков (иногда называемых «чисто объектными») целиком построена вокруг объектных средств — в них любые данные (возможно, за небольшим числом исключений в виде встроенных скалярных типов данных) являются объектами, любой код — методом какого-либо класса и невозможно написать программу, в которой не использовались бы объекты. Примеры подобных языков — Java или Ruby. Другие языки (иногда используется термин «гибридные») включают ООП-подсистему в исходно процедурный язык. В них существует возможность программировать, не обращаясь к объектным средствам. Классические примеры — C++ и Delphi Pascal.
4.3 Структура программы
· .dpr – файл проекта создается во время работы над проектом. Этот файл содержит исходный текст главной программы приложения. (ProjectBWI.dpr)
· .pas – файлы модулей проекта представляют собой файлы с исходными текстами программ на языке Pascal. (UnitBWI.pas, UnitStart.pas, UnitAboutProg.pas).
· .DB – файл базы данных. (Books.DB).
· .ico – изображение, являющееся значком запускного файла. (IconBook.ico.).
· .jpg – изображения, используемые на формах. (LibraryAbout.jpg, LibraryPic.jpg).
· .dfm – файлы форм содержат двоичное представление форм. (UnitBWI.dfm, UnitStart.dfm, UnitAboutProg.dfm).
· .res – файлы ресурсов содержат двоичные данные, называемые также ресурсами, которые связаны с выполняемым файлом приложения. (ProjectBWI .res).
· .dof – файлы опций проекта хранят установки, определенные во вкладках окна Project Options. Такой файл создается при первом же сохранении проекта и обновляется при каждом последующем (ProjectBWI . Dof).
· .dcu – файлы скомпилированных модулей (UnitBWI.dcu, UnitStart.dcu, UnitAboutProg.dcu).
5. Тестирование и отладка
5.1 Тестирование
Стартовая форма программы
Главная форма программы
Главная форма программы с отображением имеющихся средств
Форма, содержащая информацию о программе
5.2 Отладка
1. Во время тестирования программного средства было обнаружено, что при нажатии на кнопку «Закрыть» формы программы перестают отображаться, а выполнение процесса программы продолжается .
Решением этой проблемы может служить изменение методов отображения форм с использования свойства Visible на обработчик OnShow (Hide/Show) форм. В программе предусмотрена кнопка для корректного завершения «Выход».
2. В программном средстве предусмотрено хранение данных о количестве экземпляров издания в библиотеке, а также выдача/возврат издания, но не предусмотрена возможность отображения фактического количества экземпляров при выдаче/возврате. Необходимо добавить в БД поле для отображения фактического количества экземпляров издания.