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

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

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

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

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

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

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

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

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

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

Файлы: 1 файл

Готовый.doc

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

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

 

Рис. 8. Логическая схема БД в 1НФ

 

Приведение данной логической схемы к 4НФ выполняется по общепринятым правилам, после чего получим следующую логическую схему БД, состоящую из трех отношений (таблиц).

Рис. 9. Первое отношение

 

Рис. 10. Второе отношение

Рис. 11. Третье отношение

 

Следует отметить, что атрибут "№ лицевого счета" входит во второе отношение для организации взаимосвязи между вторым и третьим отношениями.

Определим наименования таблиц БД, наименования и форматы их полей.

Таблица "Ludi" – содержит данные о членах кооператива

Поле

Тип

Размер

Содержание

NLS

FIO

DATAR

PASPORT

ADRES

TLF

LGOT

C

C

D

C

C

C

C

5

40

8

50

50

30

50

- Лицевой счет владельца

- Фамилия, имя, отчество владельца

- Дата рождения

- Паспортные данные

- Домашний адрес

- Телефон

- Наличие льгот


тип "С" – символьное поле

"D" – поле типа дата

"N" – числовое поле, в размере поля через запятую указаны количество знаков после запятой.

 

Таблица "Uchastki" – содержит данные о садовых участках

Поле

Тип

Размер

Содержание

NLS

NOM

DATA

STATUS

SQUARE

STROIKA

VODA

SVET

SAD

OGOROD

C

C

D

C

N

C

C

C

C

C

5

5

8

30

5,1

30

30

30

30

30

- Лицевой счет владельца

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

- Дата вступления (покупки)

- Статус участка

- Площадь участка (в сотках)

- Строения на участке

- Подключение воды

- Подключение света

- Садовые насаждения

- Параметры огородного участка


 

Таблица "Plata" – содержит данные об оплате членских, целевых и вступительных взносах

Поле

Тип

Размер

Содержание

NOM

VID

DATA

SUMMA

C

C

D

N

5

30

8

10,2

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

- Назначение платежа

- Дата платежа

- Сумма платежа


 

Этап 4. Физическое проектирование

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

Приведенные выше таблицы были реализованы в самом популярном среди табличных СУБД на сегодняшний день формате – "dbf" (версия DBASE IV).

Данный формат за предыдущие 20 лет его применения хорошо себя зарекомендовал. БД типа "dbf" практически всегда восстанавливаются при аварийных сбоях компьютера, обеспечивают достаточно быстрый доступ к данным и поддерживаются абсолютно всеми программными продуктами, в которых есть доступ к БД.

Следует отметить, что для формирования справок и отчетов целесообразно в наборы данных (объекты Table в Delphi) включить виртуальные поля просмотра (LookUp-поля), чтобы не было необходимости вводить в программы дополнительные процедуры обработки для программной организации связи между таблицами, а также поддержки ссылочной целостности.

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

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

 

Программно это не представляет больших трудностей. Однако, есть два больших недостатка.

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

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

Поэтому наиболее предпочтительным является применение по возможности LookUp-полей.

В данной БД целесообразно добавить следующие LookUp-поля;

1. В таблицу "Ludi" добавить поле "Nom1" из таблицы "Uchastki", которое является отображением поля "Nom" и связывается по полю "NLS". Это позволит при формировании справки "Поиск владельца по номеру участка" фактически обращаться только к одному набору данных. Для создания LookUp-поля необходимо выполнить следующие операции:

- набор данных (Table1), в который необходимо добавить поле, сделать неактивным (свойство Active=False);

- в набор полей добавить новое  поле и появившуюся форму создания  нового поля заполнить следующим образом

Рис. 12. Добавление LookUp-поля в набор данных

 

Набор данных "Table2" соответствует таблице "Uchastki";

- набор данных (Table1), в который было добавлено поле, сделать активным (свойство Active=True).

2. Таким же образом в таблицу "Uchastki" (набор "Table2") добавить поле "FIO1", которое является образом поля "FIO" из таблицы "Ludi" (набор "Table1"). Это позволит при формировании справки "Поиск участка по Ф.И.О. владельца" фактически обращаться только к одному набору данных (таблица "Uchastki", набор "Table2") для вывода всей необходимой информации, в том числе и Ф.И.О. владельца участка.

3. В таблицу "Plata" (набор "Table3") добавить поле "FIO1", которое является образом поля "FIO" из таблицы "Ludi" (набор "Table1"). Это позволит при формировании отчета "Оплата взносов" и справки "Поиск оплат взносов по номеру участка" обращаться только к одному набору данных (таблица "Oplata", набор "Table3") для вывода всей необходимой информации, в том числе и Ф.И.О. владельца участка.

 

 

 

 

 

3. Практическая реализация

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

 

Управляющая подсистема предназначена для определения режима функционирования ИРС и включает основную экранную форму (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;.

На панели "GroupBox1" формируется справка "Поиск вëàäåëьöа  ïî íîìåðó ó÷àñòêà", "GroupBox2" – "Поиск у÷àñòêа ïî âëàäåëüöó", "GroupBox3" – "Поиск вûïëàò ïî ó÷àñòêó".

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

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

 

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

- ввод данных для поиска (ключа  ввода) только через выпадающий  список (объект "ComboBox"), который автоматически заполняется из БД каждый раз при выборе пункта меню формирования справок, что позволяет учесть текущие изменения БД;

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