Разработка утилиты администрирования доступа к компьютеру - Курсовая работа

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

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Системный администратор самостоятельно составляет список объектов слежения, указывает общую информацию, а так же степень важности оповещения о неполадках в коммуникационном канале связи, для каждого объекта в отдельности. Системный администратор может отправлять ICMP пакеты как в ручном режиме, указывая для какого объекта в данный момент необходимо провести анализ отправленного пакета, так и в автоматическом. В последнем режиме ICMP пакеты будут по очереди отправлены каждому объекту из текущего списка, при этом повторная отправка осуществится автоматически, по истечению необходимого интервала времени. В качестве выходных параметров, выступает графическое представление жизненного цикла объектов слежения, на предназначенной для этого форме в программе (Рис. begin if(LISTBOX1.Items.Objects[Index] nil) then item:= LISTBOX1.Items.Objects[Index] as TITEMOBJECT;ICMP-сообщение строится из IP-пакетов, сгенерировавших ICMP-ответ. IP инкапсулирует соответствующее ICMP-сообщение с новым заголовком IP (чтобы отправить ICMP-сообщение обратно отправителю) и передает полученные пакеты дальше. Например, каждая машина (такая, как маршрутизатор), которая перенаправляет IP-пакеты, уменьшает Timetolive (TTL) поля заголовка IP на единицу, если TTL достигает 0, ICMP-сообщение о превышении TTL отправляется на источник пакета. Таким образом, если системный администратор видит результат отправки ICMP пакета узлу, он может принять решение о проведении ремонтных работ коммуникационного канала до исследуемого узла. Имея в своем рационе инструмент, позволяющий избавить администратора от ручной отправки пакетов, а так же хранящий адреса исследуемых объектов, системный администратор может сосредоточиться на решении проблем, а не на ее поиске.

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

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

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

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

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

1. Назначение и область применения

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

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

Аналогов данного программного продукта не существует.

2. Постановка задачи

Необходимо разработать утилиту администрирования компьютеров, которая должна состоять из следующих разделов: · заставка;

· информация о слежении;

· список объектов слежения;

· параметры приложения;

При проектировании утилиты следует учесть некоторые факторы: · настраивать список объектов слежения, указывая дополнительную информацию, а так же ответственных за правильную работу;

· отключать некоторые объекты из карты слежения, не удаляя их;

· указывать степень оповещения по объектам, в случаи потери коммуникационной связи, сигнализируя о степени фоновым цветом на объекте слежения;

· ставить слежение за объектами в автоматический режим с указанным интервалом времени;

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

3. Описание программы

3.1 Общие сведения программа логистический оператор

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

Утилита предназначена для отправки ICMP пакетов объектам слежения, и выводы полученных результатов на экран в виде графических элементов (глиф, фон).

Необходимые программные средства: · Операционная система Windows XP и выше

Утилита разработана в BORLANDDELPHI 7 на языке Delphi.

3.2 Функциональное назначение

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

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

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

3.3 Описание логической структуры

Логическая схема работы утилиты администрирования компьютеров представлена в полном объеме на рисунке ниже (Рис.1)

Рис. 1 Схема работы утилиты администрирования компьютеров

3.4 Используемые технические средства

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

· Монитор;

· Клавиатура;

· Манипулятор типа «мышь»;

· Оперативная память: 64 Мб;

3.5 Вызов и загрузка

Для того чтобы запустить утилиту администрирования компьютера проделайте следующие действия: 1) Откройте программу «Проводник»

2) Выберите папку, в которой находится утилита администрирования компьютеров

3) Два раза нажмите левой клавишей мыши по файлу «Pings.exe» (Рис. 2)

Рис.2. Файл «Pings.exe»

3.6 Входные и выходные данные

Входными данными является ранее введенная информация системным администратором, и сохраненная в конфигурационном файле «General.ini». Структура файла представлена ниже:

[Settings]

TIMEOUT =500

Auto=0

BUFFWRSIZE=8192

Interval=15000

[Item1]

Name=Мой роутер

Address=192.168.0.1

Owner=Михайлов Валерий

Phone= 79217902354

Description=Роутер D-Link

Type=2

[Item2]

Name=Файловый сервер

Address=192.168.0.100

Owner= Михайлов Валерий

Phone== 79217902354

Description = Корпоративный файловый сервер

Type=3

Конфигурационный файл состоит из двух типов секций. Первый тип - основная информация, содержится в секции «[Settings]». В ней указаны время повторной отправки ICMP пакетов, размер пакетов, максимальное время ожидания получения ответного ICMP пакета, по истечению которого объект слежения считается не доступным в локальной сети.

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

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

В качестве выходных параметров, выступает графическое представление жизненного цикла объектов слежения, на предназначенной для этого форме в программе (Рис. 3).

Рис. 3 Пример выходных данных утилиты администрирования компьютеров

Более подробно анализ полученного пакета представлен ниже:

4. Текст программы

Pings.dpr program Pings;

uses

Forms, Unit1 in "Unit1.pas" {Form1}, Unit2 in "Unit2.pas" {Form2}, Unit3 in "Unit3.pas" {Form3}, Unit4 in "Unit4.pas" {Form4}, Unit5 in "Unit5.pas" {Form5};

{$R *.res} begin

Application.Initialize;

Application.CREATEFORM(TFORM1, Form1);

Application.CREATEFORM(TFORM2, Form2);

Application.CREATEFORM(TFORM3, Form3);

Application.CREATEFORM(TFORM4, Form4);

Application.CREATEFORM(TFORM5, Form5);

Application.Run;

end.

Unit1.pas unit Unit1;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, EXTCTRLS, COMCTRLS, Buttons, TOOLWIN, jpeg, INIFILES, IDBASECOMPONENT, IDCOMPONENT, IDRAWBASE, IDRAWCLIENT, IDICMPCLIENT;

type

TFORM1 = class(TFORM)

Panel1: TPANEL;

TOOLBAR1: TTOOLBAR;

SPEEDBUTTON1: TSPEEDBUTTON;

SPEEDBUTTON2: TSPEEDBUTTON;

SPEEDBUTTON3: TSPEEDBUTTON;

TOOLBUTTON1: TTOOLBUTTON;

SPEEDBUTTON4: TSPEEDBUTTON;

STATUSBAR1: TSTATUSBAR;

Image1: TIMAGE;

SPEEDBUTTON5: TSPEEDBUTTON;

SPEEDBUTTON6: TSPEEDBUTTON;

IDICMPCLIENT1: TIDICMPCLIENT;

PROGRESSBAR1: TPROGRESSBAR;

procedure SPEEDBUTTON3Click(Sender: TOBJECT);

procedure SPEEDBUTTON2Click(Sender: TOBJECT);

procedure SPEEDBUTTON1Click(Sender: TOBJECT);

procedure SPEEDBUTTON6Click(Sender: TOBJECT);

PROCEDUREFORMCREATE(Sender: TOBJECT);

procedure SPEEDBUTTON4Click(Sender: TOBJECT);

procedure SPEEDBUTTON5Click(Sender: TOBJECT);

private

PROCEDURECHANGEPANEL(FORMPARENT: TFORM; PANELPARENT: TPANEL);

public

PROCEDURESETPROGRESSVALUE(value: integer);

end;

var

Form1: TFORM1;

DEFPANEL:TPANEL = nil;

DEFFORM:TFORM = nil;

implementation uses Unit2, Unit3, Unit5;

{$R *.dfm}

{ TFORM1 } procedure TFORM1.CHANGEPANEL(FORMPARENT: TFORM; PANELPARENT: TPANEL);

begin

LOCKWINDOWUPDATE(Form1.Handle);

IFDEFPANEL nil then DEFPANEL.Parent:= DEFFORM;

PANELPARENT.Parent:= Panel1;

PANELPARENT.Top:= 0;

PANELPARENT.Left:= 0;

DEFPANEL:=PANELPARENT;

DEFFORM:=FORMPARENT;

LOCKWINDOWUPDATE(0);

end;

procedure TFORM1.SPEEDBUTTON3Click(Sender: TOBJECT);

begin

SPEEDBUTTON5.Enabled:= true;

SPEEDBUTTON6.Enabled:= not SPEEDBUTTON5.Down;

SPEEDBUTTON4.Enabled:= not SPEEDBUTTON5.Down;

Form2.LOADVALUE();

CHANGEPANEL(Form2, Form2.Panel1);

end;

procedure TFORM1.SPEEDBUTTON2Click(Sender: TOBJECT);

begin

SPEEDBUTTON5.Enabled:= false;

SPEEDBUTTON6.Enabled:= false;

SPEEDBUTTON4.Enabled:= false;

Form3.LOADDATA();

CHANGEPANEL(Form3, Form3.Panel1);

end;

procedure TFORM1.SPEEDBUTTON1Click(Sender: TOBJECT);

begin

SPEEDBUTTON5.Enabled:= false;

SPEEDBUTTON6.Enabled:= false;

SPEEDBUTTON4.Enabled:= false;

Form5.LOADVALUE();

CHANGEPANEL(Form5, Form5.Panel1);

end;

procedure TFORM1.SPEEDBUTTON6Click(Sender: TOBJECT);

var

SELINDEX, i: integer;

begin

SELINDEX:= -1;

fori:= 0 to Form2.LISTBOX1.Items.Count - 1 do if(Form2.LISTBOX1.Selected[i]) then SELINDEX:= i;

if(SELINDEX = -1) then exit;

Form2.PINGCURRENT(SELINDEX, true);

end;

procedure TFORM1.FORMCREATE(Sender: TOBJECT);

begin

PROGRESSBAR1.Parent:= STATUSBAR1;

PROGRESSBAR1.Left:= 1;

PROGRESSBAR1.Top:= 2;

PROGRESSBAR1.Height:= STATUSBAR1.Height - 3;

end;

procedure TFORM1.SETPROGRESSVALUE(value: integer);

begin

PROGRESSBAR1.Position:= value;

end;

procedure TFORM1.SPEEDBUTTON4Click(Sender: TOBJECT);

begin

Form2.PINGALL();

end;

procedure TFORM1.SPEEDBUTTON5Click(Sender: TOBJECT);

begin

SPEEDBUTTON6.Enabled:= not SPEEDBUTTON5.Down;

SPEEDBUTTON4.Enabled:= not SPEEDBUTTON5.Down;

SPEEDBUTTON1.Enabled:= not SPEEDBUTTON5.Down;

SPEEDBUTTON2.Enabled:= not SPEEDBUTTON5.Down;

Form2.PINGALL();

Form2.PINGTIMERENABLE(SPEEDBUTTON5.Down);

end;

end.

Unit2.pas unit Unit2;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, STDCTRLS, EXTCTRLS, ESGRAPHICS, INIFILES, IMGLIST, IDBASECOMPONENT, IDCOMPONENT, IDRAWBASE, IDRAWCLIENT, IDICMPCLIENT;

type

TFORM2 = class(TFORM)

Panel1: TPANEL;

Panel2: TPANEL;

Label1: TLABEL;

LISTBOX1: TLISTBOX;

IMAGELIST1: TIMAGELIST;

IDICMPCLIENT1: TIDICMPCLIENT;

Timer1: TTIMER;

procedure LISTBOX1DRAWITEM(Control: TWINCONTROL; Index: Integer;

Rect: TRECT; State: TOWNERDRAWSTATE);

procedure Timer1Timer(Sender: TOBJECT);

private

{ Private declarations } public

PROCEDURELOADVALUE();

PROCEDUREPINGCURRENT(index: integer; refresh: boolean = false);

PROCEDUREPINGALL();

PROCEDUREPINGTIMERENABLE(enable: boolean);

end;

TITEMOBJECT = class(TOBJECT) public

Id: string;

Name: string;

Address: string;

Contact: string;

Phone: string;

ALARMTYPE: byte;

Description: string;

CURRENTTYPE: byte;

LASTUPDATE:TDATETIME;

end;

var

Form2: TFORM2;

implementation uses unit1;

{$R *.dfm}

{ TFORM2 } procedure TFORM2.LOADVALUE;

Var

INIFILE:TINIFILE;

Sections:TSTRINGS;

i, j: integer;

item:TITEMOBJECT;

begin

LISTBOX1.Clear();

Sections:=TSTRINGLIST.Create();

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.READSECTIONS(Sections);

fori:= 0 to Sections.Count - 1 do begin if(Pos("Item", Sections[i]) = 0) then Continue;

if(INIFILE.READBOOL(Sections[i], "Disable", false)) then Continue;

item:= TITEMOBJECT.Create();

item.Id:= Sections[i];

item.Name:= INIFILE.READSTRING(Sections[i], "Name", "");

item.Address:= INIFILE.READSTRING(Sections[i], "Address", "");

item.Contact:= INIFILE.READSTRING(Sections[i], "Owner", "");

item.Phone:= INIFILE.READSTRING(Sections[i], "Phone", "");

item.ALARMTYPE:= INIFILE.READINTEGER(Sections[i], "Type", 1);

item.Description:= INIFILE.READSTRING(Sections[i], "Description", "");

LISTBOX1.Items.Add(Sections[i]);

LISTBOX1.Items.Objects[LISTBOX1.Items.Count - 1]:= item;

end;

INIFILE.Free();

end;

procedure TFORM2.LISTBOX1DRAWITEM(Control: TWINCONTROL; Index: Integer;

Rect: TRECT; State: TOWNERDRAWSTATE);

var item:TITEMOBJECT;

LONGSTR: string;

INFORECT:TRECT;

begin if(LISTBOX1.Items.Objects[Index] nil) then item:= LISTBOX1.Items.Objects[Index] as TITEMOBJECT;

With LISTBOX1 do begin

Canvas.Brush.Color:= CLWHITE;

Canvas.Font.Color:= CLBLACK;

IFODSELECTED in State then begin

Canvas.Brush.Color:= CLCREAM;

Canvas.Font.Color:= CLBLACK;

end;

if(item.ALARMTYPE = 3) and (item.CURRENTTYPE = 1) then Canvas.Brush.Color:= $00ADAFFC;

if(item.ALARMTYPE = 2) and (item.CURRENTTYPE = 1) then Canvas.Brush.Color:= $008AFFFF;

Canvas.FILLRECT(Rect);

if ((item.ALARMTYPE 3) or (item.ALARMTYPE 2)) and (item.CURRENTTYPE 1) then Canvas.Brush.Color:= CLWHITE;

Canvas.Pen.Color:= CLGRAY;

Canvas.MOVETO(5, Rect.Bottom - 1);

Canvas.LINETO(rect.Right - 5, rect.Bottom - 1);

IMAGELIST1.Draw(Canvas, Rect.Left 10, Rect.Top, item.CURRENTTYPE);

Canvas.Font.Style:= [FSBOLD];

DRAWTEXTALIGNINDENT(Canvas, rect, item.Name, TALEFTJUSTIFY, TLTOP, 100, 5);

Canvas.Font.Style:= [];

Canvas.Font.Color:= CLGRAY;

DRAWTEXTALIGNINDENT(Canvas, rect, item.Contact, TALEFTJUSTIFY, TLCENTER, 100, 0);

DRAWTEXTALIGNINDENT(Canvas, rect, item.Phone, TALEFTJUSTIFY, TLBOTTOM, 100, 5);

LONGSTR:=item.Name;

if(Length(item.Contact) > Length(LONGSTR)) then LONGSTR:= item.Contact;

if(Length(item.Phone) > Length(LONGSTR)) then LONGSTR:= item.Phone;

// if(Length(item.Description) > 0) then begin

INFORECT:=Classes.Rect(300, rect.Top 3, rect.Right - 100, rect.Bottom - 3);

Canvas.Brush.Color:= CLINFOBK;

Canvas.FILLRECT(INFORECT);

Canvas.Rectangle(INFORECT);

canvas.Font.Color:= CLINFOTEXT;

DRAWTEXTWORDWRAPALIGNINDENT(Canvas, INFORECT, item.Description, TALEFTJUSTIFY, TLCENTER, 3, 1);

end;

/////////////////////////////////////////// if (item.CURRENTTYPE> 0) then begin

SETBKMODE(Canvas.Handle, TRANSPARENT);

Canvas.Font.Color:= CLBLACK;

DRAWTEXTALIGNINDENT(Canvas, rect, DATETOSTR(item.LASTUPDATE), TARIGHTJUSTIFY, TLTOP, 5, 15);

DRAWTEXTALIGNINDENT(Canvas, rect, TIMETOSTR(item.LASTUPDATE), TARIGHTJUSTIFY, TLBOTTOM, 5, 15);

SETBKMODE(Canvas.Handle, OPAQUE);

end;

end;

end;

procedure TFORM2.PINGCURRENT(index: integer; refresh: boolean = false);

var i: integer;

INIFILE:TINIFILE;

MRESULT:TREPLYSTATUS;

begin

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

IDICMPCLIENT1.BUFFERSIZE:= INIFILE.READINTEGER("Settings", "BUFFWRSIZE", 8192);

IDICMPCLIENT1.RECEIVETIMEOUT:= INIFILE.READINTEGER("Settings", "TIMEOUT", 5000);

IDICMPCLIENT1.Host:= (LISTBOX1.Items.Objects[index] as TITEMOBJECT).Address;

try

IDICMPCLIENT1.Ping();

MRESULT:= IDICMPCLIENT1.REPLYSTATUS;

if(Ord(MRESULT.REPLYSTATUSTYPE) > 0) then (LISTBOX1.Items.Objects[index] as TITEMOBJECT).CURRENTTYPE:= 1 else (LISTBOX1.Items.Objects[index] as TITEMOBJECT).CURRENTTYPE:= 2;

except

(LISTBOX1.Items.Objects[index] as TITEMOBJECT).CURRENTTYPE:= 1;

end;

(LISTBOX1.Items.Objects[index] as TITEMOBJECT).LASTUPDATE:= Now;

if(refresh) then LISTBOX1.Refresh();

end;

procedure TFORM2.PINGALL;

var i: integer;

begin form1.PROGRESSBAR1.Max:= LISTBOX1.Items.Count - 1;

fori:= 0 to LISTBOX1.Items.Count -1 do begin

Form1.SETPROGRESSVALUE(i);

Application.PROCESSMESSAGES();

PINGCURRENT(i);

end;

LISTBOX1.Refresh();

Sleep(500);

Form1.SETPROGRESSVALUE(0);

end;

procedure TFORM2.Timer1Timer(Sender: TOBJECT);

begin

Timer1.Enabled:= false;

PINGALL();

Timer1.Enabled:= true;

end;

procedure TFORM2.PINGTIMERENABLE(enable: boolean);

var

INIFILE:TINIFILE;

begin

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

Timer1.Interval:= INIFILE.READINTEGER("Settings", "Interval", 10000);

INIFILE.Free();

Timer1.Enabled:= enable;

end;

end.

Unit3.pas unit Unit3;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, EXTCTRLS, STDCTRLS, Buttons, INIFILES, COMCTRLS, IMGLIST;

type

TFORM3 = class(TFORM)

Panel1: TPANEL;

Label1: TLABEL;

SPEEDBUTTON1: TSPEEDBUTTON;

SPEEDBUTTON2: TSPEEDBUTTON;

SPEEDBUTTON3: TSPEEDBUTTON;

LISTVIEW1: TLISTVIEW;

IMAGELIST1: TIMAGELIST;

procedure SPEEDBUTTON1Click(Sender: TOBJECT);

procedure SPEEDBUTTON2Click(Sender: TOBJECT);

procedure SPEEDBUTTON3Click(Sender: TOBJECT);

private

{ Private declarations } public

PROCEDURELOADDATA();

end;

var

Form3: TFORM3;

implementation uses Unit4;

{$R *.dfm} procedure TFORM3.LOADDATA;

Var

INIFILE:TINIFILE;

Sections:TSTRINGS;

i, j: integer;

LVI:TLISTITEM;

begin

LISTVIEW1.Clear();

Sections:=TSTRINGLIST.Create();

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.READSECTIONS(Sections);

fori:= 0 to Sections.Count - 1 do begin if(Pos("Item", Sections[i]) = 0) then Continue;

LVI:= LISTVIEW1.Items.Add;

LVI.Caption:= INIFILE.READSTRING(Sections[i], "Name", "");

LVI.SUBITEMS.Add(INIFILE.READSTRING(Sections[i], "Address", ""));

LVI.SUBITEMS.Add(INIFILE.READSTRING(Sections[i], "Owner", ""));

LVI.SUBITEMS.Add(INIFILE.READSTRING(Sections[i], "Phone", ""));

if(INIFILE.READBOOL(Sections[i], "Disable", False)) then LVI.IMAGEINDEX:= 1 ELSELVI.IMAGEINDEX:= 0;

j:= INIFILE.READINTEGER(Sections[i], "Type", 1);

if(j = 1) then LVI.SUBITEMS.Add("Низкий");

if(j = 2) then LVI.SUBITEMS.Add("Средний");

if(j = 3) then LVI.SUBITEMS.Add("Высокий");

LVI.SUBITEMS.Add(Sections[i]);

LVI.SUBITEMS.Add(INIFILE.READSTRING(Sections[i], "Description", ""));

end;

INIFILE.Free();

end;

procedure TFORM3.SPEEDBUTTON1Click(Sender: TOBJECT);

var

INIFILE:TINIFILE;

Sections:TSTRINGS;

SECTIONNUMBER: integer;

ACTTYPE: integer;

begin

Form4.Edit1.Clear();

Form4.Edit2.Clear();

Form4.Edit3.Clear();

Form4.Edit4.Clear();

Form4.Memo1.Lines.Clear();

Form4.RADIOBUTTON1.Checked:= true;

Form4.CHECKBOX1.Checked:= false;

ACTTYPE:= 1;

if(Form4.SHOWMODAL() = MROK) then begin

SECTIONNUMBER:= 0;

if Form4.RADIOBUTTON2.Checked then ACTTYPE:= 2;

if Form4.RADIOBUTTON2.Checked then ACTTYPE:= 3;

Sections:=TSTRINGLIST.Create();

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.READSECTIONS(Sections);

if(Sections.Count> 1) then if(Pos("Item", Sections[Sections.Count - 1]) > 0) then

SECTIONNUMBER:=STRTOINT(Copy(Sections[Sections.Count - 1], 5, Length(Sections[Sections.Count - 1])));

INIFILE.WRITESTRING("Item" INTTOSTR(SECTIONNUMBER 1), "Name", Form4.Edit1.Text);

INIFILE.WRITESTRING("Item" INTTOSTR(SECTIONNUMBER 1), "Address", Form4.Edit2.Text);

INIFILE.WRITESTRING("Item" INTTOSTR(SECTIONNUMBER 1), "Owner", Form4.Edit3.Text);

INIFILE.WRITESTRING("Item" INTTOSTR(SECTIONNUMBER 1), "Phone", Form4.Edit4.Text);

INIFILE.WRITESTRING("Item" INTTOSTR(SECTIONNUMBER 1), "Description", Form4.Memo1.Text);

INIFILE.WRITEINTEGER("Item" INTTOSTR(SECTIONNUMBER 1), "Type", ACTTYPE);

INIFILE.WRITEBOOL("Item" INTTOSTR(SECTIONNUMBER 1), "Disable", Form4.CHECKBOX1.Checked);

INIFILE.Free();

end;

LOADDATA();

end;

procedure TFORM3.SPEEDBUTTON2Click(Sender: TOBJECT);

var

INIFILE:TINIFILE;

Sections:TSTRINGS;

SECTIONNUMBER: integer;

ACTTYPE: integer;

begin if(LISTVIEW1.Selected = nil) then exit;

Form4.Edit1.Text:= LISTVIEW1.Selected.Caption;

Form4.Edit2.Text:= LISTVIEW1.Selected.SUBITEMS[0];

Form4.Edit3.Text:= LISTVIEW1.Selected.SUBITEMS[1];

Form4.Edit4.Text:= LISTVIEW1.Selected.SUBITEMS[2];

Form4.Memo1.Text:= LISTVIEW1.Selected.SUBITEMS[5];

if(LISTVIEW1.Selected.SUBITEMS[3] = "Низкий") then Form4.RADIOBUTTON1.Checked:= true;

if(LISTVIEW1.Selected.SUBITEMS[3] = "Средний") then Form4.RADIOBUTTON2.Checked:= true;

if(LISTVIEW1.Selected.SUBITEMS[3] = "Высокий") then Form4.RADIOBUTTON3.Checked:= true;

ACTTYPE:= 1;

Form4.CHECKBOX1.Checked:= LISTVIEW1.Selected.IMAGEINDEX = 1;

if(Form4.SHOWMODAL() = MROK) then begin if Form4.RADIOBUTTON2.Checked then ACTTYPE:= 2;

if Form4.RADIOBUTTON3.Checked then ACTTYPE:= 3;

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.WRITESTRING(LISTVIEW1.Selected.SUBITEMS[4], "Name", Form4.Edit1.Text);

INIFILE.WRITESTRING(LISTVIEW1.Selected.SUBITEMS[4], "Address", Form4.Edit2.Text);

INIFILE.WRITESTRING(LISTVIEW1.Selected.SUBITEMS[4], "Owner", Form4.Edit3.Text);

INIFILE.WRITESTRING(LISTVIEW1.Selected.SUBITEMS[4], "Phone", Form4.Edit4.Text);

INIFILE.WRITESTRING(LISTVIEW1.Selected.SUBITEMS[4], "Description", Form4.Memo1.Text);

INIFILE.WRITEINTEGER(LISTVIEW1.Selected.SUBITEMS[4], "Type", ACTTYPE);

INIFILE.WRITEBOOL(LISTVIEW1.Selected.SUBITEMS[4], "Disable", Form4.CHECKBOX1.Checked);

INIFILE.Free();

LISTVIEW1.Selected.Caption:= Form4.Edit1.Text;

LISTVIEW1.Selected.SUBITEMS[0]:= Form4.Edit2.Text;

LISTVIEW1.Selected.SUBITEMS[1]:= Form4.Edit3.Text;

LISTVIEW1.Selected.SUBITEMS[2]:= Form4.Edit4.Text;

LISTVIEW1.Selected.SUBITEMS[5]:= Form4.Memo1.Text;

if(ACTTYPE = 1) then LISTVIEW1.Selected.SUBITEMS[3]:= "Низкий";

if(ACTTYPE = 2) then LISTVIEW1.Selected.SUBITEMS[3]:= "Средний";

if(ACTTYPE = 3) then LISTVIEW1.Selected.SUBITEMS[3]:= "Высокий";

if(form4.CHECKBOX1.Checked) then LISTVIEW1.Selected.IMAGEINDEX:= 1 else LISTVIEW1.Selected.IMAGEINDEX:= 0;

end;

end;

procedure TFORM3.SPEEDBUTTON3Click(Sender: TOBJECT);

var

INIFILE:TINIFILE;

begin if(LISTVIEW1.Selected = nil) then exit;

if(MESSAGEDLG("Выдействительножелаетеудалитьобъектслежения?", MTCONFIRMATION, MBOKCANCEL, 0) = MRCANCEL) then exit;

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.ERASESECTION(LISTVIEW1.Selected.SUBITEMS[4]);

INIFILE.Free();

LISTVIEW1.Items.Delete(LISTVIEW1.Selected.Index);

end;

end.

Unti4.pas unit Unit4;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, STDCTRLS, EXTCTRLS, jpeg;

type

TFORM4 = class(TFORM)

Shape1: TSHAPE;

Label1: TLABEL;

Image1: TIMAGE;

Label2: TLABEL;

Label3: TLABEL;

Edit1: TEDIT;

Label4: TLABEL;

Edit2: TEDIT;

Label5: TLABEL;

Edit3: TEDIT;

Label6: TLABEL;

Edit4: TEDIT;

Label7: TLABEL;

Memo1: TMEMO;

Label8: TLABEL;

RADIOBUTTON1: TRADIOBUTTON;

RADIOBUTTON2: TRADIOBUTTON;

RADIOBUTTON3: TRADIOBUTTON;

Bevel1: TBEVEL;

Button1: TBUTTON;

Button2: TBUTTON;

Label9: TLABEL;

CHECKBOX1: TCHECKBOX;

private

{ Private declarations } public

{ Public declarations } end;

var

Form4: TFORM4;

implementation

{$R *.dfm} end.

Unit5.pas unit Unit5;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, EXTCTRLS, STDCTRLS, Spin, INIFILES;

type

TFORM5 = class(TFORM)

Panel1: TPANEL;

Label1: TLABEL;

Label2: TLABEL;

CHECKBOX1: TCHECKBOX;

Label3: TLABEL;

SPINEDIT1: TSPINEDIT;

Label4: TLABEL;

SPINEDIT2: TSPINEDIT;

Label5: TLABEL;

SPINEDIT3: TSPINEDIT;

Bevel1: TBEVEL;

Button1: TBUTTON;

Button2: TBUTTON;

procedure Button2Click(Sender: TOBJECT);

procedure Button1Click(Sender: TOBJECT);

private public

PROCEDURELOADVALUE();

PROCEDURESAVEVALUE();

end;

var

Form5: TFORM5;

implementation

{$R *.dfm} procedure TFORM5.Button2Click(Sender: TOBJECT);

begin

CHECKBOX1.Checked:= false;

SPINEDIT1.Value:= 8192;

SPINEDIT2.Value:= 5000;

SPINEDIT3.Value:= 5000;

SAVEVALUE();

end;

procedure TFORM5.LOADVALUE;

var

INIFILE:TINIFILE;

begin

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

CHECKBOX1.Checked:= INIFILE.READBOOL("Settings", "Auto", false);

SPINEDIT1.Value:= INIFILE.READINTEGER("Settings", "BUFFWRSIZE", 8192);

SPINEDIT2.Value:= INIFILE.READINTEGER("Settings", "TIMEOUT", 5000);

SPINEDIT3.Value:= INIFILE.READINTEGER("Settings", "Interval", 5000);

INIFILE.Free();

end;

procedure TFORM5.SAVEVALUE;

var

INIFILE:TINIFILE;

begin

INIFILE:=TINIFILE.Create(EXTRACTFILEPATH(Application.EXENAME) "General.ini");

INIFILE.WRITEBOOL("Settings", "Auto", CHECKBOX1.Checked);

INIFILE.WRITEINTEGER("Settings", "BUFFWRSIZE", SPINEDIT1.Value);

INIFILE.WRITEINTEGER("Settings", "TIMEOUT", SPINEDIT2.Value);

INIFILE.WRITEINTEGER("Settings", "Interval", SPINEDIT3.Value);

INIFILE.Free();

end;

procedure TFORM5.Button1Click(Sender: TOBJECT);

begin

SAVEVALUE();

end;

end.

5. Программа и методика испытаний

5.1 Объекты испытаний

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

5.2 Цель испытаний программа логистический оператор

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

5.3 Требования к программе

· Работоспособность приложения;

· Работоспособность механизма отправки ICMP;

· Соответствие оформления приложения заданию;

· Запуск на платформе Windows XP и выше;

· Отсутствие ошибок при работе приложения;

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

5.4 Методы испытаний

Испытания проводятся в следующем порядке: 1) Проверяется работоспособность разработки

· Проверка Delphi-кода с помощью встроенного синтаксического анализатора;

· Проверка работоспособности элементов слежения;

· Испытания приложения на различных объектах слежения.

2) Проверка правильности записи в файл и чтения из файла параметров объектов слежения.

3) Проверяется соответствие программного продукта «Техническому заданию» (соответствие требованиям к программе);

4) На основании содержания «Дипломного задания» проверяется программный документ «Пояснительная записка»;

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

5.5 Тестовый пример

При запуске исполняемого файла утилиты администрирования доступа к компьютеру открывается главное окно программы с логотипом. Окно состоит из 3х основных разделов (Рис. 4). Проверим возможность отправки тестовых ICMP пакетов объектов, путем указания IP адреса объекта, NETBIOS имени, и DNS имени объекта. Для этих целей выберем раздел «Список», и в открывшемся разделе нажмем кнопку «Добавить». В появившейся форме (Рис. 5) указываем параметры объекта, заполнив поле «Адрес» - 192.168.0.1.

Рис 4. Основное окно утилиты администрирования компьютеров

Рис 5. Окно параметров объекта слежения

Повторить эту операцию для еще двух объектов, при этом в поле «Адрес» первого указать - 106PC0111, а у второго - yandex.ru. После этого перейти в раздел «Основное» и нажать кнопку «Проверить все». Убедиться, что все три объекта не изменили свой фоновый цвет, а так же не приобрели глиф - «Объект не в сети». Этим тестом мы проверили возможность отправки ICMP пакетов на узлы, указав в качестве адреса различные типы источников. В получившимся результате видим, что программа правильно смогла обнаружить конечные узлы и отправить им ICMP пакеты.

В качестве второго теста проверяем возможность оповещения отсутствия связи с узлом изменением фонового цвета. Для этих целей в параметрах исследуемого объекта указываем «Степень важности - средняя» и осуществляем проверку доступности этого узла. Фон окрасился в желтый цвет. Именно это поведение нам и необходимо. Возвращаемся к параметрам исследуемого объекта и указываем степень важности - «Высокая». Проверяем доступность узла нажатием кнопки «Проверить» на форме «Основная» и видим, что фон окрасился в красный цвет. Таким образом, приложение выполняет возложенные на него функции и обеспечивает правильное отображение внештатных ситуаций.

6. Руководство оператора

6.1 Выполнение программы

Запускаем исполняемый файл «Pings.exe». В появившемся окне основной программы переходим в раздел «Параметры» (Рис. 6).

Рис. 6. Форма «Параметры приложения»

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

· Размер посылаемого пакета - размер пакета в байтах, который необходимо отправить на исследуемые объекты. Меняйте это значение в соответствии с параметрами вашей ЛВС и типом используемого коммуникационного оборудования. При отсутствии необходимости, не меняйте данный параметр.

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

· Интервал повторения - интервал времени в миллисекундах, по прошествии которого необходимо осуществить повторную отправку ICMP пакетов всем объектов на карте слежения.

Указав необходимые параметры, нажмите на кнопку «Сохранить». Если необходимо внести изменения в сохраненные параметры, укажите новые значения и нажмите кнопку «Сохранить» снова. При возврате к начальным параметрам - нажмите кнопку «По умолчанию».

Перейдя в раздел «Список» отображается список ранее сохраненных объектов слежения. Если Вы запустили программу первый раз - данный раздел будет пустым. Для того, чтобы добавить новый объект слежения, необходимо нажать на кнопку «Добавить», расположенную в правом верхнем углу формы. Для изменения параметров существующего объекта необходимо его выделить в списке, нажав по нему левой кнопкой мыши, а затем нажать на кнопку «Редактировать» в правом верхнем углу формы. Так же можно нажать по необходимому объекту два раза левой кнопкой мыши. При добавлении или редактировании объекта открывается форма «Параметры объекта слежения». В данной форме присутствуют следующие поля: · Наименование объекта - имя, которое будет отображаться на карте слежения

· Адрес - адрес объекта в формате IP, NETBIOS-имени, или DNS имя объекта

· Ответственное лицо - указывается Ф.И.О. администратора, отвечающего за доступность данного объекта по сети.

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

· Описание - небольшое описание объекта в виде краткой справочной информации

· Степень важности - тип предупреждения об отсутствии связи с объектом. Если указана важность «Низкая», будет выведен глиф «Связь отсутствует». Если важность «Средняя», помимо глифа, будет окрашен фон объекта в желтый цвет. При выборе важности «Высокая», фоновый цвет окрасится в красный

· Отключить объект - исключить из карты слежения без удаления его из списка объектов

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

В списке объектов, перед названием имеется глиф, который окрашен либо в зеленый цвет, либо в красный (Рис. 7). Объекты, которые исключены из карты слежения, то есть в параметрах установлено значение «Отключить объект» имеют красный глиф. При проверке доступности сети у объектов слежение, эти объекты не проверяются. Так же, такие объекты не отображаются на карте слежения. Чтобы перевести объект слежения в активный, необходимо в его параметрах убрать значение «Отключить объект».

Рис. 7. Глифы объектов слежения

На форме «Основное» отображается карта слежения с исследуемыми объектами. На данной карте отсутствуют объекты с признаком «Отключить объект». Иконка каждого объекта имеет серый цвет. Это свидетельствует о том, что доступность объектов еще не проверялась. Для проверки доступности объектов необходимо выбрать один из вариантов вверху с право (Рис. 8).

Рис. 8. Варианты проверки доступность объектов на карте слежения.

Существует три основных типа слежения: · Слежение - вариант, при котором на все объекты из карты будет отправлен ICMP пакет и проанализирован результат. Когда будет проведен анализ полученного пакета для последнего объекта из карты слежения, повторная отправка пакетов осуществится автоматически, через указанный промежуток времени в параметрах приложения на форме «Параметры». Каждый раз, когда начинается процесс слежения за объектами, внизу основного окна слева, на статусной панели показывается индикатор текущего состояния. По его состоянию можно видеть, сколько еще времени потребуется для завершения процесса проверки всех объектов. Когда процесс проверки закончится, индикатор состояния пропадает.

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

· Проверить все - посылает тестовые ICMP пакеты на все объекты, присутствующие в карте слежения. После отправки анализируются полученные пакеты, и результат отображается на карте слежения. Все объекты проверяются только один раз, таким образом, системный администратор может регулировать периодичность проверки.

После выбора режима и осуществление отправки ICMP пакета осуществляется анализ полученных результатов (Рис. 9). Если был выбран режим оповещения «Средний» или «Высокий», то фон объекта окрасится в желтый или красный цвета соответственно, если объект находится не в сети. В правой части объекта отображается информация об перемени последнего обновления.

Рис. 9. Форма объекта на карте слежения

6.2 Сообщение оператору

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

Рис. 10. Подтверждение удаления объекта слежения

Если нажать на кнопку «ОК», объект слежения будет удален из списка. Так же, данный объект будет удален из конфигурационного файла. При нажатии на «Cancel», окно закрывается и никаких действий не происходит.

7. Ожидаемые технико-экономические показатели

Утилита администрирования компьютеров, разработанная в данном проекте, предназначена для отправки тестовых ICMP пакетов на исследуемые объекты и анализа полученных результатов.

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

7.1 Расчет себестоимости программы

Расчет себестоимости

Себестоимость (Себ) - это суммарные расходы на производство и реализацию продукции.

Себестоимость (Себ) включает в себя: · основные материалы, покупные изделия (М);

· электроэнергию на технологические цели (Эл);

· оплату труда (Z);

· отчисления на социальные нужды (Соц);

· амортизационные отчисления (А);

· прочие расходы (Пр).

Расчет затрат стоимости материалов (М)

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

Где: · М - стоимость материалов и покупных изделий.

· n - число позиций применяемых материалов.

· m - номенклатура применяемых покупных изделий.

· Nmi - расход материалов (уп., шт.).

· Zmi - цена материала (руб./уп., руб.).

· Nnj - количество покупных изделий (шт.).

· Znj - цена покупных изделий (руб.).

· Ктз - коэффициент транспортно-заготовительных расходов = (1,03…1,05).

Таблица 1. Затраты на материалы и покупные изделия

№ п/п Наименование материалов, покупных изделий и п/фабрикатов Единицы измерения Колво Цена ед., руб. Сумма, руб. Транспортно-заготовительные расходы Итого матер. затрат.

1. Материалы

1.1 Катридж (струйный) шт. 1 2045 2045 1,03 2106,35

1.2 Бумага (А4) шт. 1 210 210 1,04 218,4

1.3 Папка с файлами шт. 1 75 75 1,04 78

1.4 Flash-память шт. 1 450 450 1,05 472,5

Итого 2875,25

Всего затрат на материалы и покупные изделия 2875,25

Расчет затрат электроэнергии на технологические цели (Эл)

Затраты на электроэнергию для технологических целей (Эл) определяется по формуле:

Где: · К - потребление электроэнергии компьютером в час (КВТ);

· Т - сроки разработки программы (час.);

· Ц - стоимость 1 КВТ/час (руб.).

Таблица 2. Затраты электроэнергии на технологические цели

Потребление электроэнергии компьютером в час (КВТ) Стоимость 1 КВТ/час (руб.) Сроки разработки программы (час.) Сроки разработки программы(дн.) Итого затраты на электроэнергию (руб.)

1 2 3 4 5

0,75 2,50 392 49 735

Расчет оплаты труда (Z)

Заработная плата программиста (Z) за проект рассчитывается исходя из двух основных факторов: · Трудозатрат на разработку программы, т.е. потраченного времени и усилий, приложенных программистом на написание программы. Трудозатраты рассчитываются согласно конструктивной модели стоимости (СОСОМО 2.0) и считаются в человекоднях/часах/месяцах.

· Средней заработной платы программиста аналогичной квалификации по данному региону (22 рабочих дня/месяц);

Конструктивная модель стоимости (СОСОМО 2.0)

Общие трудозатраты на разработку всей программы упрощенно считаются по формуле: ЗАТРАТЫ = А ХРАЗМЕР ВХМР (дней)

Где: · А = 2,5 (масштабный коэффициент)

· РАЗМЕР выражается в тысячах LOC (т.е. KLOC), где LOC - количество строк кода. Т.е. считаете количество строк кода и делите на 1 000 - получаете KLOC. Применяется для процедурных языков.

· ПОКАЗАТЕЛЬ B отражает нелинейную зависимость затрат от размера проекта. Это показатель степени, характеризующий экономию при больших масштабах, в частности, способность избегать непроизводительных видов деятельности (доработок, накладных расходов на взаимодействие, бюрократических проволочек).

· Мр - множитель поправки, зависящий от 17 факторов, характеризующих программу. Является уточняющим фактором, характеризующим предметную область разработки.

Вычисление показателя В.

Значение показателя В изменяется в диапазоне 1,01…1,26 (т.е. 1,01? B ?1,26), вычисляется по формуле

5

В = 1,01 0,01 У Wi i=1 где: · Wi - Совокупность оценок по 5 факторам (Характеристика факторов Wi)

· Показатель В = 1,15

Вычисление Mp

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

Вычисляется по формуле

Мр = ? Mi i = 1

Где: · Mi - произведение числовых значений оценок 17 факторов по Таблице Боэма.

Для данного ПП Значение Mp ? 0,48.

Следовательно, на данный ПП Расчет Затрат составляет: Отчисления на социальные нужды (Соц)

Согласно Федеральному Закону каждое производственное предприятие ежемесячно сверх оплаты труда производит отчисления на социальные нужды - Единый Социальный Налог (ЕСН).Данный налог зачисляется в федеральный бюджет и в государственные внебюджетные фонды. ЕСН составляет 34% от заработной платы и вычисляется по формуле:

Где: · Соц - величина отчислений на социальные нужды (руб.);

· Z - заработная плата разработчика в месяц (руб.).

Амортизационные отчисления (А)

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

· Исчисленный в денежном выражении износ основных средств в процессе их применения, производственного использования.

Инструментом возмещения износа основных средств являются амортизационные отчисления в виде денег, направляемых на ремонт, изготовление или покупку основных средств.

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

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

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

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

Таблица 3. Затраты на амортизационные отчисления

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

1 2 3 4 5

30000 6000 25 49 1225

Суммирование себестоимости продукции

Общая себестоимость продукции (Себ) определяется суммированием ее составляющих.

Таблица 4. Калькуляция себестоимости проекта

№ п/п Статьи затрат Величина затрат, руб.

1 Материалы, покупные изделия 2875,25

2 Электроэнергия на технологические цели 735

3 Оплата труда 37863,28

4 Отчисления на социальные нужды

5 Амортизационные отчисления 1225

Итого 52542,98

7.2 Экономический эффект ПП

Результативность проекта можно охарактеризовать его экономическим эффектом, т.е. прибылью.

Где: · ПРИБЫЛЬ - прибавочная стоимость.

· Цена - денежное выражение стоимости товара.

· Себ - суммарные расходы на производство и реализацию продукции, выраженные в денежной форме.

Формирование цены ПП

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

Прибыль данного проекта составляет руб.

При этом необходимо учитывать налог на добавленную стоимость 18%, следовательно экономический эффект проекта составит:

Таблица 5. Экономическая эффективность проекта

№ п/п Показатель Значение, руб.

Общие затраты

1.1 Материалы 2875,25

1.2 Электроэнергия на технологические цели 735

1.3 Оплата труда 37863,28

1.4 Отчисления на соц. Нужды

1.5 Амортизационные отчисления 1225

Итого затраты 52542,98

Предполагаемая прибыль

2.1 Выручка

2.2 Наценка (получена путем анализа рынка аналогичной продукции) 20%

2.3 Прибыль

2.4 Чистая прибыль

Итого экономическая эф

Вывод
Протокол ICMP описан в RFC 792 (с дополнениями в RFC 950) и является стандартом Интернета (входит в стандарт STD 5 вместе с IP). ICMP-сообщение строится из IP-пакетов, сгенерировавших ICMP-ответ. IP инкапсулирует соответствующее ICMP-сообщение с новым заголовком IP (чтобы отправить ICMP-сообщение обратно отправителю) и передает полученные пакеты дальше.

Например, каждая машина (такая, как маршрутизатор), которая перенаправляет IP-пакеты, уменьшает Timetolive (TTL) поля заголовка IP на единицу, если TTL достигает 0, ICMP-сообщение о превышении TTL отправляется на источник пакета.

ICMP основан на протоколе IP. Его цели отличны от целей транспортных протоколов, таких как TCP и UDP: он, как правило, не используется для передачи и приема данных между конечными системами. ICMP не используется непосредственно в приложениях пользователей сети (исключение составляют инструменты Ping и Traceroute).

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

Программный продукт удовлетворяет всем требованиям заказчика, соответствует общепринятым правилам разработки приложений Windows. Таким образом, задача, поставленная при проектировании компонента, выполнена.

Источники, использованные при разработке программа логистический оператор

1. Программирование в Delphi 7. - BHV - Санкт - Петербург, 2003. - 640с.: Петр Дарахвелидзе, Евгений Марков

2. Программирование в Delphi для Windows. - Издательство: Бином-Пресс, 2010. - 1088с.: А. Я. Архангельский

3. Delphi в задачах и примерах. - БХВ-Петербург, 2012. - 450с.: Н. Б. Культин

4. С. Макконнелл. Сколько стоит программный проект. М.-СПБ.: ПИТЕР, 2007, 296 с.

5. ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению.

6. ГОСТ 19.404-79 Пояснительная записка. Требования к содержанию и оформлению.

7. ГОСТ 19.301-79 Программа и методика испытаний. Требования к содержанию и оформлению.

8. ГОСТ 19.401-78 Текст программы. Требования к содержанию и оформлению.

9. ГОСТ 19.105-78 Общие требования к программным документам.

10. ГОСТ Р 50948-96 Средства отображения информации индивидуального пользования. Общие эргономические требования и требования безопасности.

11. ГОСТ 12.1.005-88 ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны.

12. ГОСТ Р 50923-96 Дисплеи. Рабочее место оператора. Общие эргономические требования и требования к производственной среде. Методы измерения.

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

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?