Программное обеспечение задачи (комплекса задач, АРМ) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программное обеспечение задачи (комплекса задач, АРМ)



2.2.1 Общие положения (дерево функций и сценарий диалога)

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

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

Список функций, реализованный в программе, представлен в таблице 17.

Таблица 17. Функции программы.

№ п/п Служебные функции Название окна приложения
  Ввод исходных данных Окно формирования справочных данных
  Формирование учетных данных Окно формирование учетных данных
  Выбор типа операций экономистом Меню системы
  Изменение, удаление, добавление записей в справочниках Окно формирования справочных данных
  Изменение, удаление, добавление записей учетной информации Окно формирование учетных данных
  Получение данных по запросам Окно главной формы
  Получение отчетной информации Окно подменю отчеты

 

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

 

Рис.7. Структура главного меню приложения

 

ГЛАВА 3. РЕАЛИЗАЦИЯ АРМ

Реализация базы данных АРМ

 

Реализацию АРМ менеджера – снабженца начали с реализации базы данных в Access. Формирование таблиц осуществляем по спроектированным схемам.

Реализуем выделенные в проектной части сущности:

 

 

 

После реализации таблиц реализуем схему данных (см. рис. 5) по информационной модели.


Реализация интерфейса АРМ.

 

После реализации ядра АРМ, т.е. базы данных приступили к реализации интерфейса. Интерфейс реализуем в ВЗС Delphi.

Пользовательский интерфейс обеспечивает просмотр и редактирование данных, а также управление данными и приложением в целом. Бизнес-логика приложения представляет собой набор реализованных в программе алгоритмов обработки данных. Между приложением и собственно базой данных находится специальное программное обеспечение (ПО), связывающее программу и источник данных и управляющее процессом обмена данными. Это ПО может быть реализовано самыми разнообразными способами, в зависимости от объема базы данных, решаемых системой задач, числа пользователей, способами соединения приложения и базы данных. Промежуточное ПО может быть реализовано как окружение приложения, без которого оно вообще не будет работать, как набор драйверов и динамических библиотек, к которым обращается приложение, может быть интегрировано в само приложение. Наконец, это может быть отдельный удаленный сервер, обслуживающий тысячи приложений. Источник данных представляет собой хранилище данных (саму базу данных) и СУБД, управляющую данными, обеспечивающую целостность и непротиворечивость данных.

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

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

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

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

Для обеспечения связи набора данных с визуальными компонентами отображения данных используется специальный компонент TDataSource. Его роль заключается в управлении потоками данных между набором данных и связанными с ним компонентами отображения данных. Этот компонент обеспечивает передачу данных в визуальные компоненты и возврат результатов редактирования в набор данных, отвечает за изменение состояния визуальных компонентов при изменении состояния набора данных, передает сигналы управления от пользователя (визуальных компонентов) в набор данных. Компонент TDataSource расположен на странице Data Access Палитры компонентов.

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

– компоненты, инкапсулирующие набор данных (потомки класса TDataSet);

– компоненты TDataSource;

– визуальные компоненты отображения данных.

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

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

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

При открытии набора данных компонент обеспечивает передачу в набор данных записей из требуемой таблицы БД, которая уже реализована в ACCESS. Курсор набора данных устанавливается на первую запись. Компонент TDataSource организует передачу в компоненты отображения данных значений необходимых полей из текущей записи. При перемещении по записям набора данных текущие значения полей в компонентах отображения данных автоматически обновляются. Для размещения компонентов доступа к данным в приложении баз данных используем специальную "форму" — модуль данных (класс TDataModule). Модуль данных не имеет ничего общего с обычной формой приложения, ведь его непосредственным предком является класс TComponent. В модуле данных можно размещать только невизуальные компоненты. Модуль данных доступен разработчику, как и любой другой модуль проекта, на этапе разработки. Пользователь приложения не может увидеть модуль данных во время выполнения. Для создания модуля данных воспользуемся Репозиторием объектов или главным меню Delphi. Значок модуля данных Data Module расположен на странице New. Класс TDataModule происходит непосредственно от класса TComponent. У него почти полностью отсутствуют свойства и методы-обработчики событий, ведь от платформы для других невизуальных компонентов почти ничего не требуется, хотя потомки модуля данных, работающие в распределенных приложениях, выполняют весьма важную работу. Для создания структуры (модели, диаграммы) данных, с которой работает приложение, воспользовались возможностями, предоставляемыми страницей Diagram Редактора кода. Любой элемент из иерархического дерева компонентов модуля данных можно перенести на страницу диаграммы и задать связи между ними.

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

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

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

При открытии формы выполняется метод обработчик FormShow. В нем набор данных открывается при помощи метода Open.

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

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

1. Связать компонент отображения данных и компонент TDataSource. Для этого используем свойство Datasource, которое должно указывать на экземпляр требуемого компонента TDataSource. Один компонент отображения данных можно связать только с одним компонентом TDataSource. Необходимый компонент можно выбрать в списке свойств в Инспекторе объектов.

2. Задать поле данных. Для этого используем свойство DataField типа TFields. В нем необходимо указать имя поля связанного набора данных. После задания свойства Datasource поле можно выбрать из списка. Этот этап применяется только для компонентов, отображающих единственное поле.

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

В качестве инструментов доступа в приложениях Delphi применили технологию Microsoft ActiveX Data Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.

Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый' набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных и, конечно, установленная ADO. В Палитре компонентов Delphi есть страница ADO, содержащая набор компонентов, позволяющих создавать полноценные приложения БД, обращающиеся к данным через ADO. OLE DB представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами. Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов. В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL. Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO. При этом существенно расширяется само понятие данных — ведь можно разработать набор объектов и интерфейсов и для нетрадиционных табличных данных. Например, это могут быть графические данные геоинформационных систем, древовидные структуры из системных реестров, данные CASE-инструментов и т. д. Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

Спецификация OLE DB различает следующие типы объектов, которые мы использовали:

– Перечислитель (Enumerator) выполняет поиск источников данных или других перечислителей. Используется для обеспечения функционирования провайдеров ADO.

– Объект-источник данных (Data Source Object) представляет хранилище данных.

– Сессия (Session) объединяет совокупность объектов, обращающихся к одному хранилищу данных.

– Транзакция (Trasaction) инкапсулирует механизм выполнения транзакции.

– Команда (Command) содержит текст команды и обеспечивает ее выполнение. Командой может быть запрос SQL, обращение к таблице БД и т. д.

– Набор рядов (Rowset) представляет собой совокупность строк данных, являющихся результатом выполнения команды ADO.

– Объект-ошибка (Error) содержит информацию об исключительной ситуации.

После реализации основных функций АРМ приступили к реализации следующих отчетов:

 

 

 

В

 

место старого генератора отчетов в состав Delphi 7 включен продукт Rave Reports 5.0 от фирмы Nevrona. Схема создания и внедрения отчетов в приложения Delphi практически не изменилась. В Rave Reports имеются и глобальный класс отчета, и классы полос, и компоненты преобразования данных. Существенным нововведением можно считать только визуальную среду создания отчетов, что облегчает  создание отчетов и делает работу эффективнее. Генератор отчетов Rave Reports является основным средством создания отчетов и его компоненты устанавливаются в Палитре компонентов по умолчанию на странице Rave. Они делятся на следующие функциональные группы:

– Компонент отчета TRvproject, с точки зрения приложения, и есть отчет.

– Компонент управления отчетом TRvSystem обеспечивает работу приложения с отчетом. Взаимодействуя с компонентом отчета, с одной стороны, и сервером отчета Rave Reports, с другой, этот компонент обеспечивает просмотр и печать отчетов.

– Компоненты соединения с источниками данных предназначены для подключения различных источников данных к отчетам.



Поделиться:


Последнее изменение этой страницы: 2020-03-14; просмотров: 194; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.74.54 (0.022 с.)