Программный комплекс, являющийся приложением для работы с БД, можно с точки зрения структурного анализа разбить на две большие части: системную, в которую входят модули, обеспечивающие задачи взаимодействия с операционной системой и пользователем; функциональную часть, куда входят модули, обеспечивающие решение задач, связанных с назначением данного программного комплекса.
Так, в системную часть программного комплекса входят:
модуль организации графического интерфейса пользователя;
модуль взаимодействия с файлами БД;
модуль резервного копирования и восстановления файлов;
модуль ввода-вывода и графического представления данных;
модуль взаимодействия с принтером.
Рассматриваемые модули входят частично или полностью в классы средства разработки.
В функциональную часть программного комплекса входят следующие модули:
модуль проверки прав пользователя;
модуль проверки ограничений на вводимые в БД данные;
модуль сортировки и фильтрации данных;
модуль выполнения запросов к БД;
модуль организации отчетов по содержимому БД.
Между модулями существует взаимосвязь. Связи модулей изображаются стрелками, показывающими взаимное функциональное использование.
Из рисунка 2.1 видно, что в системной части программного комплекса выполняются действия, решающие задачи взаимодействия с пользователем и устройствами, а в функциональной - прикладные задачи, определенные спецификой работы приложения БД.
Доступ к данным при использовании средства разработки Delphi выполняется с помощью специализированных классов из иерархии классов Delphi [14-15]. В данном проекте разработана локальная БД, расположенная на персональном компьютере пользователя в составе АРМ, поэтому в приложении для работы с БД используется динамически создаваемый объект класса TDataBase (управляет соединением с БД), а также динамический объект класса TSession (управляет псевдонимами BDE, что в данном проекте не используется).
Широко используемыми в данном проекте компонентами являются наследники класса TDataSet, так называемые наборы данных - TTable (используется для связи приложения с таблицами БД - соответствующими файлами) и TQuery (используется для выполнения и просмотра результатов запросов к БД на языке SQL).
Промежуточным компонентом между наборами данных и компонентами для отображения и редактирования данных является источник данных - компонент TDataSource. Кроме того, для задания и проверки ограничений на данные и для решения некоторых других задач в проекте задействованы компоненты - наследники класса TField, отвечающие за работу с отдельным столбцом таблицы БД.
Для отображения и управления содержимым таблиц задействованы следующие компоненты: TDBGrid - табличная форма для представления и управления содержимым всей таблицы; TColumn - для управления представлением отдельного столбца таблицы; TDBNavigator - визуальный компонент для удобства управления пользователем содержимым записей.
Формирование и печать результатов обработки данных в БД осуществляется с помощью технологии генерации отчетов, основанной на компонентах из закладки QReport Delphi - компонентах QuickRep (основа отчета, подключаемая к источникам данных), QRLabel (статический текст, аналог обычной метки на форме), QRText (компонент, осуществляющий построчное отображение содержимого отдельного поля источника данных).
Программное обеспечение АРМ специалиста по формированию программ радиовещания включает в себя следующие модули.
Назначение модулей следующее.
1 Модуль, который обслуживает главное окно приложения, содержащее меню приложения. В нем на закладках организованы табличные формы для просмотра и работы сразу со всеми записями таблиц, а также для сортировки и фильтрации записей.
2 Модуль, который организует контейнер невизуальных компонентов, используемых для связи приложения с таблицами БД и централизованного подключения визуальных компонентов к источникам данных.
3 Модули, с помощью которых организованы формы для работы с данными об объектах предметной области - передачах, элементах вещания, поставщиках элементов и сотрудниках радиостанции, - с помощью визуальных компонентов, которые обеспечивают просмотр и редактирование только текущей записи соответствующей таблицы БД.
4 Модуль, с помощью которого можно одновременно просмотреть данные о передачу, входящих в нее элементах вещания, и сведения об обработке этих элементов различными сотрудниками и в разное время. Эта возможность обеспечивается за счет связного перемещения по записям таблиц, между которыми установлены связи.
5 Модули, с помощью которых реализовано выполнение и просмотр результатов SQL-запросов к содержимому таблиц БД.
6 Модуль, который позволяет просмотреть и распечатать сведения об элементах вещания, из которых составляются передачи, и об их поставщиках, путем построения отчета.
В приложении В приведен листинг основных частей программного комплекса.
Для хранения информации о передачах, составляемых специалистом, чья деятельность автоматизируется, об элементах вещания, включаемых в эти передачи в соответствии со сценарием, о поставщиках элементов вещания и о сотрудниках, которые эти элементы обрабатывают и переводят из одного формата хранения в другой, используются таблицы, схема которых была спроектирована в общей части дипломного проекта. Так, для хранения и обработки данных о передачах создана таблица Peredachi. db в формате хранения Paradox. Схема структуры этой таблицы в виде окна приложения DataBase DeskTop, в которой она была создана, приведена на рисунке 2.2.
Рисунок 2.2 - Схема структуры таблицы "Передачи"
Вторичный индекс (Secondary Indexes) для сортировки записей в приложении БД в алфавитном порядке по наименованию передачи был создан в этой же утилите с использованием соответствующего свойства таблицы (см. на рис.2.2 в правом верхнем углу). Диалоговое окно для создания индекса приведено на рисунке 2.3.
Рисунок 2.3 - Диалоговое окно для создания индекса таблицы "Передачи" с убыванием по полю "Наименование передачи"
Схема структуры таблицы Elementy. db для хранения и обработки данных об элементах вещания приведена на рисунке 2.4.
Рисунок 2.4 - Схема структуры таблицы "Элементы вещания"
Индекс создан по полю "Наименование элемента" (см. рисунок 2.5).
Рисунок 2.5 - Диалоговое окно для создания индекса таблицы "Элементы вещания " с убыванием по полю "Наименование элемента"
Схема структуры таблицы Vkljuchenie. db для сведений о том, какие элементы вещания в какие передачи были включены, приведена на рисунке 2.6.
Рисунок 2.6 - Схема структуры таблицы "Включение элементов"
Схема структуры таблицы Postavshiki. db для хранения и обработки данных о поставщиках элементов вещания приведена на рисунке 2.7. Индекс создан по полю "Наименование поставщика".
Рисунок 2.7 - Схема структуры таблицы "Поставщики элементов вещания".
Схема структуры таблицы Sotrudniki. db для хранения и обработки данных о сотрудниках радиостанции приведена на рисунке 2.8 Индекс создан по полю "ФИО сотрудника".