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

Выбора метода решения и инструментальных средств для его реализации. Технология реализации и проектирование структуры распределённой базы данных. Структура информационной системы на модельном уровне и её реализация. Эффективность программного средства.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.11.2014
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

- преобразование концептуальной схемы в логическую схему в первой нормальной форме (1НФ) - создание так называемого универсального отношения;

- нормализация логической схемы из первой нормальной формы в четвертую (4НФ);

- определение наименований отношений (таблиц), а также наименований и форматов (типов и размеров) их полей.

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

Рис. 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;.

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

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

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

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

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

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

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

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

Рис.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. Экономическое обоснование разработки нового программного обеспечения

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

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

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

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

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

4.1 Расчет договорной цены программного обеспечения

Цена -- денежное выражение стоимости продукции. Расчет договорной цены проводится по статьям калькуляции.

4.1.1 Расчет стоимости основных материалов

Произведем расчет стоимости основных материалов (таблица 4.1).

Таблица 4.1 Калькуляция стоимости основных материалов

Наименование материалов

Цена за единицу, руб.

Количество штук

Сумма руб.

Дискета

10

3

30

Бумага

85

1

85

Письменные принадлежности

25

1

25

Итого

140

ТЗР /10% от итоговой суммы/

14

НДС/20% от итоговой суммы

28

Всего

182

4.1.2 Расчет расходов на содержание и эксплуатацию оборудования

Расчет стоимости эксплуатации специального оборудования (ЭВМ, принтера) определим как сумму затрат на электроэнергию и амортизационных отчислений за 1 час работы, помноженную на количество часов разработки нового программного обеспечения. Разработка нового продукта велась в течение 3 месяцев. Работа ЭВМ в день составляла 6 часов, принтера - 0,5 часа.

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

СТэвм / Ссл = 15000 / 10000 = 1.5 р/ч.,

Где СТэвм -- стоимость ЭВМ

Ссл -- срок службы.

Потребляемая мощность 0.3 кВт/ч. Стоимость электроэнергии 1.22 р/ кВт. То есть затраты на электроэнергию составляют 3.66 р/ч, В итоге стоимость 1 часа работы ЭВМ 3.66+1.5 р.=5.16

Получим аналогичные данные для принтера:

СТщ, / Сш = 2500 / 7000 = 0.36 р/ч.

Потребляемая мощность для принтера -- 0.15 кВт/ч. В итоге стоимость 1 часа работы принтера составляет 0.44 р.

Сведем полученные данные в таблицу 4.2

Таблица 4.2 Расходы на содержание и эксплуатацию оборудования

Наименование оборудования

Цены за час, руб.

Кол-во часов.

Сумма, руб.

ЭВМ

5.16

540

2786

Принтер

0.44

100

44

Итого

2830

4.1.3 Расчет оплаты труда персонала

Таблица 4.3 Расчет основной заработной платы

Должность

Оклад в мес.

Кол-во отработанных мес.

Зарплата

Бухгалтер

3000

3

9000

4.1.4 Расчет договорной цены программного продукта

Для расчета договорной цены продукта сведем все полученные данные в таблицу 4.4.

Таблица 4.4 Калькуляция затрат

Калькуляция затрат на разработку ПО

Наименование статей затрат Сумма, руб.

Основные материалы

Специальное оборудование и затраты на ЭВМ

Основная заработная плата

Дополнительная заработная плата

Начисление на заработную плату:

фонд социального страхования

пенсионный фонд

фонд медицинского страхования

Накладные расходы

Прочие прямые расходы

Сметная стоимость

Прибыль

Расходы на рекламу

Договорная цена

182

2830

9000

1530

3564

103

499

128

16200

630

33936

6787.2

679

41402

Дополнительная зарплата составляет 17% от основной.

Начисления на заработную плату: 39.6%

1. отчисления на соц. нужды -2.9%

2. отчисления в пенсионный фонд -14%

3. отчисление на медицинское страхование -3,6%

Накладные расходы составляют 180% от основной заработной платы. Прочие прямые расходы 7%. Прибыль - 20% от сметной стоимости с учетом налогообложения. Договорная цена складывается от суммы сметной стоимости и прибыли с учетом НДС и рекламы, которая составила 2%.

4.2 Анализ конкурентоспособности программного обеспечения

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

Конкурентоспособность должна рассматриваться с точки зрения потребителя.

Потребительские параметры подразделяются на два вида: «жесткие» и «мягкие»,

К «жестким» параметрам относятся:

* технические параметры (классификационные, технической эффективности, конструктивные);

* параметры эргономичности (непосредственно связанные с техническим исполнением изделия), например, качество «стыковок» человека и ЭВМ, скорость утомления, удобство работы и другое;

* регламентируемые (параметры соответствия международным и национальным стандартам, нормативным, законодательным актам и другие); «Мягкие» параметры характеризуют эстетические свойства товара (дизайн, цвет, упаковку), вызывающие положительные или отрицательные эмоции и играют порой главную роль при покупке. Они не имеют естественной физической меры, трудно поддаются непосредственной количественной оценке и поэтому, чтобы их оценить, необходимо выбрать единую методологическую базу (подход). Существует два метода оценки этих параметров:

1. Органолептические методы - построены на субъективном восприятии человеком того или иного свойства объекта и выражении результата восприятия в цифровой (балльной) форме.

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

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

4.2.1 Анализ изменения функциональных возможностей

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

Таблица 4.5 Расчет коэффициента изменения функциональных возможностей нового программного обеспечения

Перечень неизменяемых показателей

Балльная

оценка

базовое

новое

Технические:

оперативное изменение информации

2

2

точность информации;

1

1

Эстетические:

настраиваем ость ПО на КТС

1

2

дружественный интерфейс

1

2

структурированность базы данных;

2

2

Эргономические:

степень утомляемости;

1

2

производительность труда

2

3

ИТОГО

10

14

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

Кфв=ан/аб=14/10=1.4

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

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

То есть в результате получаем Кфв=1.4

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

4.2.2 Анализ прогрессивности программного обеспечения

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

Коэффициент эквивалентности определяется по формуле:

Кэк=Ктн/Ктб

Где Ктн, Ктб - коэффициенты технического уровня соответственно нового базового продуктов, определяются они следующим образом:

Ктн=Пi/Пбi -

Ктб=Пэi/Пi -

где вi - коэффициент весомости i-го технического параметра (устанавливается экспертным путём);

n - число параметров (не должно превышать 4-7);

Пi- численное значение i- го показателя сравниваемого товара;

Пэi - численное значение i- го показателя эталона.

На основании выше изложенного рассчитаем коэффициент эквивалентности и сведем расчеты в таблицу 4.6.

Таблица 4.6 Расчет коэффициента эквивалентности нового ПО

Параметры

В

Пб

Пн

Пэ

Пб

Пэ

Пн

Пэ

В Пб

Пэ

В Пн

Пэ

Объем занимаемой памяти (Мбайт)

Скорость поиска

Объем базы данных

ИТОГО

0.73

0.81

Исходя из полученных данных произведем требуемые расчеты. В соответствии с таблицей 4.6

Ктн =0.81;

Ктб =0.73.

Кэк=0.81/0.73=1.1

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

4.2.3 Расчет коэффициента цены потребления

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

Эти расходы как раз и составляют цену потребления - объём средств, нужных потребителю в течение всего срока службы товара, где слагаемые (экономические параметры) и их конкретные значения индивидуальны для каждого товара.

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

Расчет цены потребления осуществим по формуле:

Цп=Цпрод+И*Тн+Рс*Тн

где: Цпрод - цена продажи товара, р;

И - годовые эксплуатационные издержки;

Рс - расходы на страхование (0,2% от цены продажи);

Тн - срок службы, лет.(5 лет);

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

И= P*S*F ,

Р. - потребляемая мощность (Р=0,3 кВт);

S - стоимость 1 кВт/ч (S =1.22 р);

F - годовой фонд времени работы базового программного продукта составляет 252 рабочих дня по 6 ч в день, то есть

F6 = 6 * 252 = 1512 ч/год.

То есть для базового получаем:

Иб =0.3*1.22*1512=553 руб.

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

Таблица 4.7 Расчёт цены потребления

Наименование статей

Сумма базовая модель новое ПО

1. Продажная цена

25000

20622

2. Годовые эксплуатационные издержки

553

553

3. Ресход на установку

50

41

4. Расходы на страхование

750

618.6

ИТОГО

26353

21834,6

Коэффициент цены потребления определим по формуле:

Цпн=20622+ 553* 5+ 618* 5= 26477

Цпб=25000+ 553* 5+ 750* 5= 31515

Кц=Цп.н./Цп.б=26477/31515=0.84

Цп.н. -цена потребления нового ПО

Цп.б - цена потребления базового ПО

4.2.4 Расчет интегрального коэффициента конкурентоспособности

Интегральный коэффициент конкурентоспособности рассчитаем по формуле:

Кин=(Кэк*Кфв)/(Кн*Кц)

Где: Кэк - коэффициент эквивалентности;

Кфв -коэффициент изменения функциональных возможностей;

Кн - коэффициент соответствия нормативных параметров;

Кц-- коэффициент цены потребления.

Коэффициенты, согласно вышеизложенным расчетам, имеют следующие значения:

коэффициент эквивалентности: 1,1;

коэффициент изменения функциональных возможностей: 1,4 ;

коэффициент соответствия нормативных параметров: 1;

коэффициент цены потребления: 0.84.

Таким образом, на основании формулы (4.11) получим:

Кин=(1.1*1.4)/(1*0.84)= 1.83

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

Вывод:

Такие показатели экономической эффективности как:

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

- коэффициент изменения функциональных возможностей, отражающих соотношение товара-конкурента и нового ПО;

- коэффициент эквивалентности и интегральный коэффициент, оценивающие конкурентоспособность товара;

доказывают способность конкурировать, разработанного мною программного продукта, на рынке.

Заключение

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

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

· устранение очередей и возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте;

· своевременное и качественное ведение анализа хозяйственной деятельности предприятия;

· быстро и качественно принимать решения, связанные с управлением предприятия;

· обеспечение целостности и сохранности информации;

· обеспечение защиты информации от несанкционированного доступа.

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

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.