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

Автор работы: Пользователь скрыл имя, 07 Ноября 2014 в 09:38, дипломная работа

Описание работы

В данной работе разработана распределенная ИС на базе информационно-вычислительной сети из пяти ЭВМ на примере садово-производственного кооператива (СК), в котором будет применяться ИС, которая автоматизирует основные функции бухгалтерии.
Для создания эффективной ИС данного предприятия исследованы и определены: задачи, источники информации и информационная база, необходимые для качественного расчета экономических, технических и хозяйственных показателей предприятия; стратегия функционирования информационных систем; основные общесистемные принципы, необходимые при создании ИС; модели стратегии создания и развития ИС.

Содержание работы

Введение.
Обзорно постановочная глава.
Описание проблемы и объекта исследования. Постановка задачи. Обоснование целесообразности и актуальности.
Обзор и анализ существующих методов решения задачи. Обоснование выбора метода решения или разработки нового.
Обзор и анализ существующих инструментальных средств для реализации метода решения. Обоснование выбора инструментальных средств.

II. Алгоритмы и структуры данных.

2.1. Технологии реализации распределенных баз данных.

2.2. Структура БД.

2.3. Формализация задачи проектирования структуры
распределённой БД.
III. Практическая реализация.
3.1. Структура информационной системы на модельном уровне.
Описание особенностей реализации.
3.2. Порядок работы с разработанными средствами.
3.3. Анализ результатов работы, моделирования, эксперимента.
IV. Экономическое обоснование эффективности разработанных
средств.
Заключение.
Список литературы.

Файлы: 1 файл

Готовый.doc

— 2.32 Мб (Скачать файл)

- невозможность одновременной работы в других режимах работы ИРС пока не завершена работа в режиме формирования справки путем деактивации главного меню;

- отображение результатов запроса  в этом же окне панели;

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

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

 

Рис.16 Справка "Поиск вëàäåëьöа  ïî íîìåðó ó÷àñòêà"

 

Рис.17 Справка "Поиск у÷àñòêа ïî âëàäåëüöó"

 

Рис.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 (Str1<>Cs(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 (Str1<>Cs(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", которые вызываются при вызове соответствующих пунктов меню.

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

 

 

 

 

 

 

 

 

 

4. Экономическое обоснование разработки нового программного обеспечения

 

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

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

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