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

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость новой

Детальная информация о работе

Выдержка из работы

Введение

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

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

Нередко функции системного администратора перекладывают на компании, занимающиеся 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)

4)

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

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

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

[Settings]

TimeOut =500

Auto=0

BuffwrSize=8192

Interval=15 000

[Item1]

Name=Мой роутер

Address=192. 168.0. 1

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

Phone=+79 217 902 354

Description=Роутер D-Link

Type=2

[Item2]

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

Address=192. 168.0. 100

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

Phone==+79 217 902 354

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', 10 000);

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) за проект рассчитывается исходя из двух основных факторов:

· Трудозатрат на разработку программы, т. е. потраченного времени и усилий, приложенных программистом на написание программы. Трудозатраты рассчитываются согласно конструктивной модели стоимости (СоСоMo 2. 0) и считаются в человеко-днях/часах/месяцах.

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

Конструктивная модель стоимости (СoCoMo 2. 0)

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

ЗАТРАТЫ = А xРАЗМЕР вxМр (дней)

Где:

· А = 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 показателей.

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

17

Мр =? Mi

i = 1

Где:

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

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

Следовательно, на данный ПП Расчёт Затрат составляет:

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

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

Где:

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

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

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

Амортизация (А)-- это:

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

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

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

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

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

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

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

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

Стоимость компьютера (руб.)

Сумма годовой амортизации (руб.)

Сумма ежедневной амортизации (240 раб. дней) (руб.)

Срок выполнения программы (дн.)

Итого амортизац. отчисления (руб.)

1

2

3

4

5

30 000

6000

25

49

1225

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

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

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

№ п/п

Статьи затрат

Величина затрат, руб.

1

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

2875,25

2

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

735

3

Оплата труда

37 863,28

4

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

5

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

1225

Итого

52 542,98

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

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

Где:

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

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

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

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

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

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

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

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

№ п/п

Показатель

Значение, руб.

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

1. 1

Материалы

2875,25

1. 2

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

735

1. 3

Оплата труда

37 863,28

1. 4

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

1. 5

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

1225

Итого затраты

52 542,98

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

2. 1

Выручка

2. 2

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

20%

2. 3

Прибыль

2. 4

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

Итого экономическая эффективность проекта (чистая прибыль)

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

Экономический эффект (чистая прибыль) составляет 8617,05 рублей.

8. Мероприятия по безопасности жизнедеятельности

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

ИТ

Информационная технология

ИФБО

Интерфейс ФБО

ОДФ

Область действия ФБО

ОК

Общие критерии, исторически сложившееся название, часто используемое в ГОСТ Р ИСО/МЭК 15 408 вместо его официального названия «Критерии оценки безопасности информационных технологий»

ОО

Объект оценки

ПБО

Политика безопасности ОО

ПФБ

Политика функции безопасности

СФБ

Стойкость функции безопасности

ФБ

Функция безопасности

ФБО

Функции безопасности ОО

На рисунках 1. 1 и 1. 2 показаны некоторые ключевые понятия парадигмы. Описаны и другие, не показанные на рисунках, ключевые понятия. Рассматриваемые ключевые понятия выделены полужирным курсивом. Определения терминов, приведенные в словаре в разделе 2 ГОСТ Р ИСО/МЭК 15 408−1, в этом подразделе не изменяются и не переопределяются.

Рисунок 1.1. Ключевые понятия функциональных требований безопасности (единый ОО)

Рисунок 1.2. Функции безопасности в распределенном ОО

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

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

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

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

Монитор обращений — это концепция абстрактной машины, которая осуществляет политику управления доступом ОО. Механизм проверки правомочности обращений — реализация концепции монитора обращений, обладающая следующими свойствами: защищенностью от проникновения; постоянной готовностью; простотой, достаточной для проведения исчерпывающего анализа и тестирования. ФБО могут состоять из механизма проверки правомочности обращений и/или других функций безопасности, необходимых для эксплуатации ОО.

ОО может быть единым продуктом, включающим аппаратные, программно-аппаратные и программные средства.

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

Если ОО состоит из нескольких частей, то каждая часть может иметь собственное подмножество ФБО, которое обменивается данными ФБО и пользователей через внутренние каналы связи с другими подмножествами ФБО. Это взаимодействие называется внутренней передачей ОО. В этом случае части ФБО формируют объединенные ФБО, которые осуществляют ПБО для этого ОО.

Интерфейсы ОО могут быть локализованы в конкретном ОО или же могут допускать взаимодействие с другими продуктами ИТ по внешним каналам связи. Внешние взаимодействия с другими продуктами ИТ могут принимать две формы:

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

· Удаленный продукт ИТ, обозначенный на (рис. 1. 2) как «не доверенный продукт ИТ», не был оценен, поэтому его политика безопасности неизвестна. Обмен информацией в этом случае назван передачей за пределы области действия ФБО, так как этот удаленный продукт ИТ не имеет ФБО (или характеристики его политики безопасности неизвестны).

· Совокупность взаимодействий, которые могут происходить с ОО или в пределах ОО и подчинены правилам ПБО, относится к области действия функций безопасности (ОДФ). ОДФ включает в себя определенную совокупность взаимодействий между субъектами, объектами и операциями в пределах ОО, но не предполагает охвата всех ресурсов ОО.

· Совокупность интерфейсов как интерактивных (человеко-машинный интерфейс), так и программных (интерфейс программных приложений), через которые могут быть получены доступ к ресурсам при посредничестве ФБО или информация от ФБО, называется интерфейсом ФБО (ИФБО). ИФБО определяет границы возможностей функций ОО, которые предоставлены для осуществления ПБО.

· Пользователи не включаются в состав ОО; поэтому они находятся вне ОДФ. Однако пользователи взаимодействуют с ОО через ИФБО при запросе услуг, которые будут выполняться ОО. Существует два типа пользователей, учитываемых в функциональных требованиях безопасности настоящего стандарта: человек-пользователь и внешний объект ИТ. Для человека-пользователя различают локального человека-пользователя, взаимодействующего непосредственно с ОО через устройства ОО (такие, как рабочие станции), и удаленного человека-пользователя, взаимодействующего с ОО через другой продукт ИТ.

· Период взаимодействия между пользователем и ФБО называется сеансом пользователя. Открытие сеансов пользователей может контролироваться на основе ряда условий, таких как аутентификация пользователя, время суток, метод доступа к ОО, число параллельных сеансов, разрешенных пользователю, и т. д.

8.2 Общие эргономические требования к рабочему месту оператора

Общие требования

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

· Основными элементами рабочего места оператора являются: рабочий стол, рабочий стул (кресло), дисплей, клавиатура; подставка для ног.

Требования к рабочему столу

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

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

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

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

· Размеры рабочей поверхности стола должны быть: глубина — не менее 600 (800) мм, ширина — не менее 1200 (1600) мм.

Примечание — В скобках указаны предпочтительные значения.

· Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, шириной — не менее 500 мм, глубиной на уровне колен — не менее 450 мм и на уровне вытянутых ног — не менее 650 мм.

· Рабочая поверхность стола не должна иметь острых углов и краев.

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

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