Курсовая работа: Проектирование автоматизированной системы принятия управленческих решений

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

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

Компилятор, встроенный в RAD Studio XE Delphi, обеспечивает высокую производительность, необходимую для построения приложений. Этот компилятор в настоящее время является самым быстрым в мире. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL.

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

Для поддержки ООП в язык RAD Studio XE Delphi введены объектные типы данных, с помощью которых одновременно описываются данные и операции над ними. Объектные типы данных называют классами, а их экземпляры -- объектами.

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

Как и в большинстве других современных языков ООП (включая Java и C #), класс RAD Studio XE Delphi не выделяет память для объекта, а является только указателем или ссылкой на объект в памяти. Прежде чем использовать объект, необходимо объявить его переменной.

var

Obj1, Obj2: TMyClass;

begin

// создаем новый объект

Obj1 := TMyClass.Create;

// присвоить в существующий объект

Obj2 := ExistingObject;

Метод Create вызовает конструктор по умолчанию для любого класса, если класс не переопределяет его (как описано ниже). Чтобы объявить новый тип данных класса в RAD Studio XE Delphi, используйте следующий синтаксис:

type

TDate = class

Month, Day, Year: Integer;

procedure SetValue (m, d, y: Integer);

function LeapYear: Boolean;

end;

В RAD Studio XE Delphi принято использовать стандартный синтаксис для имени класса, напримерTMyClass (T обозначает тип), чтобы код был более понятным для других разработчиков.

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

В этом случае используется префикс имени каждого метода:

procedureTDate.SetValues (m, d, y: Integer);

begin

Month := m;

Day := d;

Year := y;

end;

function TDate.LeapYear: Boolean;

begin

// call IsLeapYear in SysUtils123.pas

Result :=IsLeapYear1 (Year);

end;

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

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

3.2 Механизмы доступа к базе данных

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

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

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

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

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

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

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

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

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

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

2. компоненты TDataSource;

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

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

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

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

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

Рассмотрим схему взаимодействия этих компонентов в приложении баз данных (рисунок 8).

Рисунок 8 - Механизм доступа к данным приложения баз данных

Пользователь при помощи компонентов отображения данных может просматривать и редактировать данные. Измененные значения сразу же передаются из элемента управления в набор данных при помощи компонента TDataSource [17]. Затем изменения могут быть переданы в базу данных или отменены.

Список компонентов, с описанием которые применялись для созданий системы «Кадры»:

EhLib библиотека классов которая увеличивает возможности оформления и визуализацию данных, так же EhLib содержит компоненты и классы для Borland RAD Studio XE Delphi, CodeGear RAD Studio XE Delphi и C ++ Builder, CodeGear RAD Studio, Embarcadero RAD Studio, предназначенные для увеличения емкости клиентской части приложения базы данных в рамках взаимодействия с пользователем приложений. Компонент DBGridEh (Рисунок 9).

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

Рисунок 9 - компонент DBGridEh

Компонент btncomps - кнопки для создания более современного приложения. В системе кадры стандартные кнопки были полностью заменены на кнопки btncomps. TreeComboBox - это комбинированное поле с TreeView, встроенным в раскрывающееся окно. Таким образом, вместо поиска и выбора нужного элемента списка из огромного списка раскрывающегося окна пользователь сможет увидеть древовидную структуру, выбрать узлы дерева, развернуть и свернуть их. Как и в стандартном TreeView, TreeComboBox может отображать изображения для каждого узла дерева, отображать изображение в редакторе, принимать выбор на одном или двойном щелчке, содержит метку, прикрепленную к элементу управления, настраиваемое изображение для кнопки + множество других функций, результат комбинации ComboBox и TreeView (Рисунок 10).

Рисунок 10 - Компонент TreeComboBox

Пакет RAD Studio XE Delphi7 компонентов GlobusExtensionLibrary составляет из более чем 40ти бесплатных, визуальный и невизуальных RAD Studio XE Delphi7 и С++ Builder7 компонентов.

Дополнительные возможности, которые были использованы из библиотеки классов Ehlib при разработке системы «Кадры»:

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

- специальные заголовки, которые могут соответствовать нескольким / всем столбцам.

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

- автоматическое изменение размера столбца для установки ширины сетки равной ширине клиента.

- возможность изменения высоты и высоты заголовка.

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

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

- автоматическая сортировка.

- возможность усечения длинного текста с многоточием.

- в списке поиска можно указать несколько полей.

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

- замороженные колонны.

- поддержка выбора DateTime для TDateField и TDateTimeField.

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

- позволяет скрывать и отслеживать горизонтальные или вертикальные полосы прокрутки.

- позволяет скрыть столбцы.

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

- позволяет рисовать поля memo.

- многострочный редактор inplace.

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

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

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

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

- позволяет экспортировать данные в текстовые, Csv, HTML, RTF, XLS и внутренние форматы.

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

- может сортировать данные в разных наборах данных.

- может фильтровать данные в разных наборах данных.

- когда DBGridEh подключен к DataSet типа TMemTable, он позволяет:

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

- отобразить древовидную структуру записей TMemTable.

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

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

3.3 Функциональность системы

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

- взаимосвязанность всех работ;

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

- определение общего объема работ и необходимых для его выполнения трудовых, материальных и денежных ресурсов;

- достижение наилучшего использования ресурсов.

Анализ структуры алгоритма показал, что система обработки и управления компьютерной информацией в сочетании с разными алгоритмами переходит в одну упорядоченную последовательность (рисунок 12). Этот метод объединяет отдельные цепные алгоритмы в один программный модуль (рисунок 11).