Помощь в написании студенческих работ
Антистрессовый сервис

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

РефератПомощь в написанииУзнать стоимостьмоей работы

Следует отметить, что все экранные формы вызываются в модальном режиме, одинаковы по размеру и размещаются по центру экрана. При отображении таблиц через «DBGrid» отображаются не только непосредственно поля таблицы БД, а и добавленные в наборы данных LookUp-поля, что позволяет отображать таблицы в удобочитаемом виде и сохранять ограничения ссылочной ценности. То есть, например, в таблицу оплат… Читать ещё >

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

Управляющая подсистема ИРС

Управляющая подсистема предназначена для определения режима функционирования ИРС и включает основную экранную форму (Form1) с главным меню. Данная форма создается и активируется первой в проекте и является связующей для всех остальных программных форм. Форме «Form1» соответствует модуль «Unit1». Программно в состав управляющей подсистемы входят:

  • — главное меню;
  • — глобальные переменные;
  • — наборы данных (таблицы БД);
  • — запуск процедур режимов функционирования ИРС и вызовы других форм при выборе соответствующих пунктов меню;
  • — информационное окно с данными о программе.

Главное меню разработано при помощи компонента «MainMenu» и включает все пункты, приведенные на рисунках ранее.

Через наборы данных организован доступ к таблицам базы данных. Для организации визуализации и доступа к каждой таблице в управляющей подсистеме (на «Form1») применяются по два объекта: «DataSource», «Table» .

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

При этом объект «Table» подключается непосредственно к таблице БД через свойство «TableName» .

А объект «DataSource», являясь источником данных для визуализации таблиц БД через объект «DBGrid» на формах подсистемы ведения БД, обращается к соответствующему объекту «Table» через свойство «DataSet» .

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

Для обращения к таблицам базы данных применяются следующие объекты:

  • 1) к таблице «Ludi» (члены кооператива) — «DataSource1», «Table1» ;
  • 2) к таблице «Uchastki» (садовые участки) — «DataSource2», «Table2» ;
  • 3) к таблице «Plata» (оплата взносов) — «DataSource3», «Table3» .

Для организации взаимодействия различных форм в разделе «Implementation» модуля «Unit1» в блоке «Uses» определены ссылки на остальные модули проекта:

implementation.

uses Unit3, Unit2, Unit4, Unit5, Unit6;

{$R *.dfm}.

А для того, чтобы в модулях «Unit2…6» были доступны наборы данных и глобальные переменные, определенные в модуле «Unit1» в разделе «InterFace» этих модулей в блоке «Uses» определены ссылки на модуль «Unit1» :

unit Unit2;

interface.

uses.

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Unit1;

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

Вызов других форм (подсистемы защиты информации «Form2», подсистемы ведения базы данных «Form3…5», информации о программе «Form6») организуется через метод «ShowModal», который позволяет реализовать вызов другой формы в модальном окне.

——————- Меню садовые участки ——————-;

procedure TForm1. N6Click (Sender: TObject);

begin.

Form4.ShowModal;

end;

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

—————— Справка выплаты по участку ————-;

procedure TForm1. N10Click (Sender: TObject);

var Str1: String;

begin.

GroupBox3.Visible:=True;

Подсистема формирования отчетов реализована через COM-технологию, путем создания OLE-объектов с вызовом формируемого документа в текстовом редакторе «Word» .

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

4. Подсистема ведения базы данных Данная подсистема состоит из процедур обработки и отображения таблиц БД. Как отмечено ранее, БД ИРС состоит из трех взаимосвязанных таблиц. Для редактирования каждой таблицы разработана своя экранная форма через отдельные формы: для таблицы «Ludi.dbf» — форма «Form3», «Uchastki.dbf» — форма «Form4», «Plata.dbf» — форма «Form5» .

Экранная форма редактирования таблицы.

Рис. 13 Экранная форма редактирования таблицы

Из соображений целесообразности и эргономичности экранные формы редактирования таблиц разработаны в одинаковом дизайне. При их создании применяются всего два объекта — «DBGrid» для визуализации таблицы, ссылающийся на соответствующий объект «DataSource» на «Form1», а также объект «DBNavigator» для отображения панели управления данными, также ссылающийся на тот же объект «DataSource» на «Form1» .

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

Сама экранная форма разработки формы для редактирования таблицы выглядит следующим образом.

Экранная форма разработки формы для редактирования таблицы.

Рис. 14 Экранная форма разработки формы для редактирования таблицы

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

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

5. Подсистема формирования справок Подсистема формирования справок реализована через панели группировки объектов — объекты «GroupBox». Каждой такой панели соответствует своя справка, при вызове которой соответствующий «GroupBox» программно делается видимым. Например: GroupBox1. Visible:=True;.

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

Алгоритм процедур формирования справок.

Рис. 15 Алгоритм процедур формирования справок

Для повышения удобства работы оператора при формировании справок предусмотрены следующие решения:

  • — ввод данных для поиска (ключа ввода) только через выпадающий список (объект «ComboBox»), который автоматически заполняется из БД каждый раз при выборе пункта меню формирования справок, что позволяет учесть текущие изменения БД;
  • — невозможность одновременной работы в других режимах работы ИРС пока не завершена работа в режиме формирования справки путем деактивации главного меню;
  • — отображение результатов запроса в этом же окне панели;
  • — отображение результатов запроса в удобочитаемом виде, например, наряду с лицевым счетом члена кооператива отображается его фамилия, имя и отчество.

Далее приведены экранные формы формируемых справок.

Справка .

Рис. 16 Справка «Поиск

Рис. 17 Справка «Поиск

Справка .
Рис.18 Справка

Рис. 18 Справка «Поиск

То есть, формирование любой справки состоит из 4 этапов:

  • 1) подготовка данных для ключа поиска и вызов окна справки;
  • 2) выбор ключа;
  • 3) подготовка справки;
  • 4) выход из режима и закрытие окна справки.

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

procedure TForm1. N12Click (Sender: TObject);

var Str1: String;

begin.

GroupBox2.Visible:=True;

N1.Enabled:=False; N2. Enabled:=False;

N3.Enabled:=False; N4. Enabled:=False;

N14.Enabled:=False;

ComboBox2.Items.Clear; // Очистить старый список.

Table1.First; // Стать на первую запись в таблице.

While Not Table1. Eof do begin // Пока не конец таблицы.

Str1:=CS (Table1['FIO']);

ComboBox2.Items.Add (Str1); // Добавить.

Table1.Next; // Перейти на следующую строку в таблице.

end;

end;

Выбор ключа выполняет оператор ИРС путем выбора требуемой информации из выпадающего списка («ComboBox»).

Подготовка справки выполняется путем выполнения запроса командами языка «Object Pascal» через средства «BDE» при нажатии кнопки «Подготовить». Процедуры формирования справки имеют следующий вид.

———————- Справка поиск владельца по номеру участка ————-;

procedure TForm1. BitBtn1Click (Sender: TObject);

var Str1: String;

begin.

Str1:=ComboBox1.Text;

Table2.First;

While (Not Table2. Eof) and (Str1Cs (Table2['NOM'])) do begin //пока не конец таблицы.

Table2.Next;

end;

Str1:=Cs (Table2['NLS']);

Memo1.Lines.Clear; //очистка Memo от старых значений.

if ComboBox1. ItemIndex>-1 then begin //команда была выбрана.

Table1.First; //стать на первую запись.

While (Not Table1. Eof) and (Str1Cs (Table1['NLS'])) do begin //пока не конец таблицы.

Table1.Next;

end;

if Str1=Cs (Table1['NLS']) then begin.

Memo1.Lines.Add ('Лицевой счет '+Str1); //занесение в Memo.

Str1:=CS (Table1['FIO']);

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:='Дата рождения '+CD (Table1['DataR']);

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:='Паспорт';

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:=CS (Table1['Pasport']);

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:='Адрес';

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:=CS (Table1['Adres']);

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:='Телефон';

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:=CS (Table1['TLF']);

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:='Льготы';

Memo1.Lines.Add (Str1); //занесение в Memo.

Str1:=CS (Table1['Lgot']);

Memo1.Lines.Add (Str1); //занесение в Memo.

end;

end;

end;

Следует отметить, что для повышения устойчивости работы ИРС в процедурах формирования справок и отчетов предусмотрены функции чтения пустых полей (с NULL-значениями). При обычном считывании из пустого поля возникает ошибка. Для предотвращения ошибки применяется считывание в переменную типа «Variant» с последующим анализом этого значения и возвратом значения в строковом виде. Если значение было пустым, то возвращается пустая строка. Для корректной обработки значений разработаны функции считывания всех применяемых типов полей в таблицах и имеют следующий вид.

—————— Получение строки из таблицы —————-;

Function CS (CSS: Variant): String;

begin.

if CSS=Null then.

CS:=''.

else.

if CSS'' then.

CS:=Trim (CSS);

end;

6. Подсистема формирования отчетов Формирование отчетов с данными о членах кооператива, садовых участках и оплатах членских, целевых и вступительных взносов осуществляется автоматически при выборе соответствующих пунктов меню в формате документов редактора Word. Формирование документов в формате Word позволяет готовый документ переформатировать, отредактировать, распечатать, скопировать в зависимости от потребностей пользователя. В соответствии с потребностями Заказчика в ИРС предусмотрено формирование следующих документов:

  • — члены садового кооператива;
  • — садовые участки;
  • — оплата вступительных, членских и целевых взносов.

Приведенные отчеты имеют следующую структуру.

Члены садового кооператива.

Лиц. счет.

Ф.И.О.

Дата рожд.

Адрес.

Тел.

Паспорт.

Льготы.

Садовые участки.

Номер участка.

Лиц. счет.

Ф.И. О.

Дата вступ.

Статус (приватиз.).

Пл., соток.

Строения.

Вода.

Свет.

Сад.

Огород.

Оплата вступительных, членских и целевых взносов.

Дата.

№ участка.

№ лиц. счета.

Ф.И.О.

Сумма.

Назначение.

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

Формирование шаблона.

Рис. 19 Формирование шаблона

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

Алгоритм формирования отчетов.

Рис. 20 Алгоритм формирования отчетов

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

——————- Отчет формирования оплат взносов ————————-;

procedure TForm1. N13Click (Sender: TObject);

begin.

GetDir (0,Path1); //Ссчитывание текущего пути.

Path2:=Path1;

Path1:=Path1+'3.doc'; //наименования документов.

Path2:=Path2+'31.doc';

Try.

VSpisok:=CreateOleObject ('Word.Application.8');

Except.

MessageDlg ('Ошибка загрузки Word', mtInformation,[mbOk], 0);

Exit;

end;

VSpisok.Documents.Open (Path1); //Открытие шаблона.

VSpisok.ActiveDocument.SaveAs (Path2); //Сохранение в рабочий документ.

mark:=VSpisok.ActiveDocument.BookMarks; //Ссчитывание закладок.

mark.Item ('N1').Select; //Переход на закдладку N1.

VSpisok.Visible:=True; //Показать Word.

Table3.First; //Переход на первую запись.

While Not Table3. Eof do begin.

Str1:=CD (Table3['DATA']);

VSI (Str1); //Занесение в документ.

Str1:=Cs (Table3['NOM']);

VSI (Str1); //Занесение в документ.

Str1:=Cs (Table3['NLS']);

VSI (Str1); //Занесение в документ.

Str1:=Cs (Table3['FIO1']);

VSI (Str1); //Занесение в документ.

Str1:=CNR (Table3['SUMMA']);

VSI (Str1); //Занесение в документ.

Str1:=Cs (Table3['VID']);

VSI (Str1); //Занесение в документ.

Table3.Next; //Переход на следующую запись.

end;

VSpisok:=Unassigned;

end;

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

Procedure VSI (VSIStr: String);

begin.

VSpisok.Selection.InsertBefore (VSIStr);

VSpisok.Selection.MoveRight (12);

end;

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

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

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

Окно пароля.

Рис. 21 Окно пароля

Пароль реализован через форму «Form2» по следующему алгоритму.

Алгоритм реализации пароля.

Рис. 22 Алгоритм реализации пароля

В соответствии с приведенным алгоритмом при запуске программы в процедуре-обработчике события «OnActivate» объекта «Form1» реализуется вызов формы пароля.

procedure TForm1. FormActivate (Sender: TObject);

begin.

PSW:=0; // Пароль неверен.

Form2.ShowModal;

Inc (KolZ); //KolZ+1.

if PSW=0 then begin.

Application.MessageBox (('Неверный пароль!', 'Завершение работы', MB_OK);

Close;

end;

end;

В модуле «Unit2» (форма «Form2») соответственно выполняется проверка правильности пароля.

procedure TForm2. BitBtn1Click (Sender: TObject);

var TextPSW: String;

begin.

TextPSW:=Edit1.Text;

if TextPSW='123' then.

PSW:=1;

Form1.Show;

end;

Кроме того, для скрытия вводимого пароля на «Form2» необходимо в свойство «PasswordChar» объекта «Edit1» ввести символ, который будет отражаться вместо вводимых символов.

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

Управляющая подсистема предназначена для определения режима функционирования ИРС и включает основную экранную форму с главным меню. В соответствии с обобщенным алгоритмом функционирования главное меню включает три подменю для вызова:

— подсистемы ведения БД.

Подменю подсистемы ведения БД.

Рис. 23 Подменю подсистемы ведения БД

— подсистемы формирования справок.

Подменю формирования справок.

Рис. 24 Подменю формирования справок

— подсистемы формирования отчетов.

Подменю формирования отчетов.

Рис. 25 Подменю формирования отчетов

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

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

Подсистема формирования отчетов должна содержать процедуры формирования отчетов в формате «MS Word», которые вызываются при вызове соответствующих пунктов меню.

Подсистема защиты информации предназначена для защиты ИРС от несанкционированного доступа.

Показать весь текст
Заполнить форму текущей работой