Розробка гнучкої спеціалізованої системи для контролю трафіку мережі Інтернет

Теоретичні дослідження та порівняльний аналіз технологій розробки Windows-додатків. Огляд можливостей мови програмування й середовища розробки Visual Studio .NET. Опис можливостей та програмної реалізації системи для контролю трафіку мережі Інтернет.

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

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

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

Рис. 3.25 Пункт головного меню Build

При цьому з'являється вікно Output, в якому виводиться інформація про всі стадії компіляції.

Рис. 3.26 Вікно Output, додаток не містить помилок

Якщо в коді є помилки, вікно Output виведе повідомлення про помилки, потім з'явиться їх список, причому для відладки достатньо двічі клацнути на відповідній помилці для переходу до потрібної ділянки коду:

Рис. 3.27 Вікно Output, в коді не вистачає фігурної дужки

Інший спосіб компіляції програми -- Debug, при якому перевіряється код, компілюється програма і формується призначений для користувача інтерфейс.

Рис. 3.28 Пункт головного меню Debug

Для запуску цього способу натискаємо клавішу F5. На екрані знову з'являється вікно Output, що інформує нас про хід компіляції. Якщо додаток не містить помилок, то на екрані з'явиться готова форма.

При запуску додатку в каталозі bin\Debug усередині каталогку проекту виникає файл FirstForm.exe і файли, необхідні для відладки. Файл FirstForm.exe і є готовий додаток. Готовий додаток для розповсюдження необхідно скомпілювати в режимі Release -- тоді з'явиться каталог bin\Release, яка міститиме тільки FirstForm.exe. Ми можемо просто скопіювати його на інший комп'ютер, і якщо там є .NET Framework, все працюватиме.

У меню Debug також розташовані всі засоби для покрокової відладки коду, які ми вже зустрічали при роботі з консольними додатками.

Яка різниця між компіляціями Build і Debug? Припустимо, що ми розробляємо додаток, який підключатиметься до бази даних на видаленому комп'ютері, недоступному у момент розробки. Додаток одержуватиме дані відразу ж при запуску. Для відладки коду програми зручніше використовувати режим Build, оскільки відладка в режимі Debug супроводжуватиметься повідомленнями про помилки, що виникають із-за неможливості підключення до іншого комп'ютера. Саме підключення також займатиме якийсь час.

3.2 Мови програмування .NET

Під час анонса платформи .NET на конференції 2000 Professional Developers Conference (PDC) доповідачі називали фірми, що працюють над створенням .NET-версій своїх компіляторів. На даний момент компілятори для створення .NET-версій додатків розроблялися більш ніж для 30 різних мов. Окрім чотирьох мов, що поставляються з Visual Studio.NET (C#, Visual Basic.NET, «Managed C » і Jscript.NET), очікуються .NET-версії Smalltalk, COBOL. Pascal, Python, Perl і безліч останніх відомих мов програмування. Спільна картина представлена на рис. 3.3.

Рис. 3.30 Всі компілятори, орієнтовані на .NET, генерують IL-інструкції й метадані

Двійкові файли .NET, для яких використовуються стандартні розширення DLL і ЕХЕ, по своєму внутрішньому вмісту не мають абсолютно нічого спільного із звичайними виконуваними файлами. Наприклад, файли DLL не надають свої методи в розпорядження додатків на комп'ютері. На відміну від компонентів СОМ двійкові файли .Net не описуються за допомогою коду IDL і реєструються в системному реєстрі. Проте, мабуть, найважливіша відзнака полягає в тому, що двійкові файли NET не містять залежних від платформи команд. Вміст двійкових файлів .NET -- це платформено-незалежний «проміжна мова», яка офіційно називається Microsoft Intermediate Language (MSIL, проміжна мова Microsoft), або просто IL.

3.2.1 Огляд двійкових файлів.NET

Коли за допомогою компілятора для платформи .NET створюється модуль DLL або ЕХЕ, вміст цього модуля -- це так звана збірка (assembly) на мові IL. Зборка містить код на «проміжній мові» -- IL. Призначення IL концептуально аналогічно байт-коду Java -- він компілюється в платформено-специфічні інструкції, лише коли це абсолютно необхідно. «Абсолютна необхідність» виникає тоді, коли до блоку інструкцій IL (наприклад, реалізації методу) звертається для використання середа виконання .NET.

Окрім інструкцій IL двійкові модулі .NET містять також метадані, які детально описують всіх типів, використаних в модулі. Наприклад, якщо усередині збірки є клас те в метаданих цієї збірки міститиметься інформація про базовий клас для Foo, які інтерфейси передбачені для Foo (якщо вони взагалі передбачені), а також повний опис всіх методів, властивостей і подій цього класу.

У багатьох відношеннях метадані .NET є значним удосконаленням в порівнянні з класичною інформацією про типів в СОМ. Класичні двійкові файли СОМ зазвичай описуються за допомогою асоційованої бібліотеки типів (яка дуже схожа на двійкову версію коду IDL). Проблема з інформацією про типів в СОМ полягає в тому, що ніхто не може гарантувати, що ця інформація виявиться повною. Код IDL може створити повний каталог зовнішніх серверів, які можуть бути необхідні для нормальної роботи тих, що містяться в модулі СОМ класів. Існування метадані .NET, навпаки, забезпечується тим, що метадані автоматично генеруються компілятором, що створює додаток .NET.

Метадані описують не лише типи, використовувані в збірці, але і саму збірку. Ця частина метаданих називається маніфестом (manifest). У маніфесті міститься інформація про поточну версію збірки, про використані обмеження по безпеці, про підтримувану природну мову (англійському, російському і т. д.), а також список всіх зовнішніх бібліотек, які буде потрібно для нормального виконання.

3.3.2 Мова програмування C#

Спеціально для платформи .NET Microsoft була розроблена нова мова програмування С#. С# -- це мова програмування, синтаксис якої дуже схожий на синтаксис Java (але не ідентичний йому). Наприклад, в С# (як в Java) визначення класу складається з одного файлу (*.cs), на відміну від C, де визначення класу розбите на заголовок (*.h) і реалізацію (*.срр). Проте називати С# клоном Java було б невірно. Як С#, так і Java засновані на синтаксичних конструкціях C . Якщо Java у багатьох відношеннях можна назвати очищеною версією С, то С# можна охарактеризувати як очищену версію Java.

Синтаксичні конструкції С# успадковані не лише від C, але і від Visual Basic. Наприклад, в С#, як і в Visual Basic, використовуються властивості класів. Як C, С# дозволяє проводити перевантаження операторів для створених вами типів (Java не підтримує ні ту, ні іншу можливість). С# -- це фактично гібрид різних мов. При цьому С# синтаксично не менш (якщо не більш) чистий, чим Java, також простий, як Visual Basic, і володіє практично тією ж потужністю і гнучкістю, що і C . Основні особливості С#:

· Покажчики більше не потрібні! У програмах на С#, як правило, немає необхідності в роботі з ними, проте, якщо є необхідність в їх використанні, то С# надає для цього всі необхідні засоби.

· Управління пам'яттю проводиться автоматично.

· У С# передбачені вбудовані синтаксичні конструкції для роботи з перерахуваннями, структурами і властивостями класів.

· У С# залишилася можливість перенавантажувати операторів, успадкованих від C . При цьому значна частина складнощів, що виникали при цьому, ліквідована.

· Передбачена повна підтримка використання програмних інтерфейсів. Проте на відміну від класичного СОМ вживання інтерфейсів -- це не єдиний спосіб роботи з типами, використовуючи різні двійкові модулі. .NET дозволяє передавати об'єкти (як заслання або як значення) через кордони програмних модулів. програмування контроль трафік інтернет

· Також передбачена повна підтримка аспектно-орієнтірованних програмних технологій (таких як атрибути). Це дозволяє привласнювати типам характеристики (що багато в чому нагадує COM IDL) для опису в майбутньому поведінки даної суті.

Можливо, найважливіше, що необхідно сказати про мову С#, -- це те, що він генерує код, призначений для виконання лише в середі виконання .NET. Наприклад, немає можливості використовувати С# для створення класичного Сом-сервера. Згідно термінології Microsoft код, призначений для роботи в середі виконання .NET, -- це керований код (managed code). Двійковий файл, який містить керований файл, називається збіркою (assembly).

Версія 1.0

Проект C# був початий в грудні 1998 і отримав кодову назву COOL (C-style Object Oriented Language). Версія 1.0 була анонсована разом з платформою .NET у червні 2000 року, тоді ж з'явилася і перша загальнодоступна бета-версия; C# 1.0 остаточно вийшов разом з Microsoft Visual Studio .NET у лютому 2002 року.

Перша версія C# нагадувала по своїх можливостях Java 1.4, декілька їх розширюючи: так, в C# були властивості (що виглядають в коді як поля об'єкту, але що на ділі викликають при зверненні до них методи класу), індексатори (подібні до властивостей, але що приймають параметр як індекс масиву), події, делегати, цикли foreach, структури, що передаються за значенням, автоматичне перетворення вбудованих типів в об'єкти при необхідності (boxing), атрибути, вбудовані засоби взаємодії з некерованим кодом (DLL, COM) і інше.

Крім того, в C# вирішено було перенести деякі можливості C, відсутні в Java: беззнакові типи, перевизначення операцій (з деякими обмеженнями, на відміну від C ), передача параметрів в метод по засланню, методи із змінним числом параметрів, оператор goto. Також в C# залишили обмежену можливість роботи з покажчиками -- в місцях коду, спеціально позначених словом unsafe і при вказівці спеціальній опції компілятору.

Версія 2.0

Проект специфікації C# 2.0 вперше був викладений Microsoft в жовтні 2003 року; у 2004 році виходили бета-версиі (проект з кодовою назвою Whidbey), C# 2.0 остаточно вийшов 7 листопада 2005 року разом з Visual Studio 2005 і .NET 2.0.

Нові можливості в версії 2.0

Часткові типи (розділення реалізації класу більш ніж на один файл). Узагальнені, або типи, що параметризуються (generics). На відміну від шаблонів C, вони підтримують деякі додаткові можливості і працюють на рівні віртуальної машини. В той же час, параметрами узагальненого типа не можуть бути вирази.

Нова форма ітегратора, що дозволяє створювати співпрограми за допомогою ключового слова yield, подібно Python і Руби.

Анонімні методи замикання, що забезпечують функціональність.

Оператор '??': return obj1 ?? obj2; означає (в нотації C# 1.0) return obj1!=null ? obj1 : obj2;.

Типи-значення (що позначаються знаком питання, наприклад, int? i = null;), що обнуляються ('nullable'), є ті ж самі типи-значення, лише можуть набувати також значення null. Такі типи дозволяють поліпшити взаємодію з базами даних через мову SQL.

Версія 3.0

У червні 2004 року Андерс Хейлсберг вперше розповів на сайті Microsoft про плановані розширення мови в C#3.0. У вересні 2005 року вийшли проект специфікації C# 3.0 і бета-версия C# 3.0, що встановлюється у вигляді доповнення до існуючих Visual Studio 2005 і .NET 2.0.

Нові можливості у версії 3.0В C# 3.0 з'явилися наступні радикальні додавання до мови:

· Ключові слова select, from, where, що дозволяють робити запр си з SQL, XML, колекцій і тому подібне (запит, інтегрований в мову, LINQ)

· Ініціалізація об'єкту разом з його властивостями:

Customer c = new Customer(); c.Name = "James";

перетвориться в

Customer c = new Customer { Name = "James" };

· Ламбда-висловлення:

listOfFoo.Where(delegate(Foo x) { return x.size > 10; });

перетвориться в

listOfFoo.Where(x => x.size > 10);

· Тип локальної змінної, що мається на увазі: var x = "hello"; замість string x ="hello";

· Безіменні типи: var x = new { Name = "James" };

· Методи-розширення -- додавання методу в існуючий клас за допомогою ключового слова this при першому параметрі статичної функції.

C# 3.0 буде сумісний з C# 2.0 по Msil-коду, що генерується; поліпшення в мові -- чисто синтаксичні і реалізуються на етапі компіляції. Наприклад, багато з інтегрованих запитів LINQ можна вже зараз здійснити, використовуючи безіменні делегати у поєднанні з предикативними методами над контейнерами начеб List.FindAll и List.RemoveAll.

3.3 Мова XML. Короткий огляд синтаксису

XML (англ. eXtensible Markup Language -- розширювана мова розмітки; рекомендована Консорціумом Усесвітньої павутини мова розмітки, що фактично є зводом спільних синтаксичних правил. XML призначена для зберігання структурованих даних (замість існуючих файлів баз даних), для обміну інформацією між програмами, а також для створення на його основі більш спеціалізованих мов розмітки (наприклад, XHTML), інколи званих словниками. XML є спрощеною підмножиною мови SGML.

Метою створення XML було забезпечення сумісності при передачі структурованих даних між різними системами обробки інформації, особливо при передачі таких даних через інтернет. Словники, засновані на XML (наприклад, RDF, RSS, MATHML, XHTML, SVG), самі по собі формально описані, що дозволяє програмно змінювати і перевіряти документи на основі цих словників, не знаючи їх семантики, тобто не знаючи смислового значення елементів. Важливою особливістю XML також є вживання так званих просторів імен (англ. namespace).

Нижче наведений приклад простого кулінарного рецепту, розміченого з допомогою XML:

<?xml version="1.0" encoding="UTF-8"?>

<recipe name="хліб" prep_time="5 мин" cook_time="3 час">

<title>Простий хліб</title>

<ingredient amount="3" unit="стакан">Мука</ingredient>

<ingredient amount="0.25" unit="грам">Дрожи</ingredient>

<ingredient amount="1.5" unit="стакан">Тепла вода</ingredient>

<ingredient amount="1" unit="чайна ложка">Сіль</ingredient>

<Instructions>

<step> Змішати всі інгредієнти і ретельно замісити.</step>

<step> Закрити тканиною і залишити на одну годину в теплому приміщенні.</step>

<step> Замісити ще раз, покласти на деко і поставити в духовку.</step>

</Instructions>

</recipe>

Перший рядок Xml-документа називається оголошенням XML -- це необязательная рядок, вказуючий версію стандарту XML (звичайно це 1.0), так-же тут може бути вказана кодування символів і зовнішні залежності. Остання частина цього Xml-документа складається з вкладених елементів, деякі з яких мають атрибути і вміст. Елемент зазвичай складається з того, що відкриває і закриваючого тегов (міток), що обрамували текст і інших елементів. Відкриваючий тег складається з імені елементу в кутових дужках, наприклад «step»; закриваючий тег складається з того ж імені в кутових дужках, але перед ім'ям ще додається коса межа, наприклад «/step». Вмістом елементу називається все, що розташоване між тим, що відкриває і закриваючим тегамі, включаючи текст і інші (вкладені) елементи. Нижче наведений приклад Xml-елемента, який містить відкриваючий тег, закриваючий тег і вміст елементу:

<step> Замісити ще раз, покласти на деко і поставити в духовку.</step>

Окрім вмісту в елементу можуть бути атрибути -- пари імя-значення, що додаються у відкриваючий тег після назви елементу. Значення атрибутів завжди полягають в лапки (одинарні або подвійні), одне і те ж ім'я атрибуту не може зустрічатися двічі в одному елементі. Не рекомендується використовувати різних типів лапок для значень атрибутів одного тега.

<ingredient amount="3" unit="стакан">Мука</ingredient>

У наведеному прикладі в елементу «ingredient» є два атрибути: «amount», що має значення «3», і «unit», що має значення «стакан». З точки зору Xml-разметки, приведені атрибути не несуть жодного сенсу, а є просто набором символів. Окрім тексту елемент може містити інші елементи:

<Instructions>

<step> Змішати всі інгредієнти і ретельно замісити.</step>

<step> Закрити тканиною і залишити на одну годину в теплому приміщенні.</step>

<step> Замісити ще раз, покласти на деко і поставити в духовку.</step>

</Instructions>

В даному випадку елемент «Instructions» містить три елементи «step». XML не допускає елементів, що перекриваються. Наприклад, приведений нижче фрагмент некорректен, оскільки елементи «em» і «strong» перекриваються.

<!-- УВАГА! Некоректний XML! -->

<p>Звичайний <em>акцентований <strong> виділений і акцентований </em> виділений</strong></p>

Кожен Xml-документ повинен містити в точності один кореневий елемент, таким чином, наступний фрагмент не може вважатися коректним Xml-документом.

<!-- УВАГА! Некоректний XML! -->

<thing>Cущність №1</thing>

<thing>Cущність №2</thing>

Для позначення елементу без вмісту, званого порожнім елементом, допускається застосовувати особливу форму запису, що складається з одного тега, в якому після імені елементу ставиться коса межа. Наступні фрагменти повністю рівнозначні:

<foo></foo>

<foo />

<foo/>

У XML визначено два методи запису спеціальних символів: заслання на суть і заслання по номеру символу. Суттю в XML називаються іменовані дані, зазвичай текстові, зокрема спецсимволи. Заслання на суть вказується в тому місці, де має бути суть і складається з амперсанда («»), імені суті і крапки з комою («;»). У XML є декілька зумовленої суті, таких як «lt» (посилатися на неї можна написавши «<») для лівої кутової дужки і «amp» (заслання -- «») для амперсанда, можливо також визначати власну суть. Окрім запису за допомогою суті окремих символів, їх можна використовувати для запису текстових блоків, що часто зустрічаються. Нижче наведений приклад використання зумовленої суті для уникнення використання знаку амперсанда в назві:

<company-name>AT&amp;T</company-name>

Повний список зумовленої суті складається з («») < («<»), > («>»), apos; («'»), і " ("") -- останні дві корисні для запису роздільників усередині значень атрибутів. Визначити свою суть можна в Dtd-документі. Інколи буває необхідно визначити неразривний пропуск, який в HTML позначається як в XML його записують &#160;

Посилання по номеру символу виглядає як заслання на суть, але замість імені суті вказується символ # і число (у десятковому або шестнадцатерічному запису), що є номером символу в кодовій таблиці Юнікод. Це звичайно символи, які неможливо закодувати безпосередньо, наприклад буква арабського алфавіту в Ascii-кодірованном документі. Амперсанд може бути представлений таким чином:

<company-name>AT&#038;T</company-name>

Існує ще безліч правив, що стосуються складання коректного XML-документа, але метою даного короткого огляду було лише показати основи, необхідні для розуміння структури XML-документа.

Переваги:

· XML(людино-орієнтирований) -- це формат, одночасно зрозумілий і людині і комп'ютеру;

· XML підтримує Юнікод;

· в форматі XML можуть бути описані основні структури даних -- такі як записи, списки і дерева;

· XML -- це самодокументований формат, який описує структуру і імена полів також як і значення полів;

· XML має строго певний синтаксис і вимоги до аналізу, що дозволяє йому залишатися простим, ефективним і несуперечливим;

· XML також широко використовуєтся для зберігання й обробки документів;

· XML -- формат, заснований на міжнародних стандартах;

· ієрархічна структура XML личить для опису практично будь-яких типів документів;

· XML є простим текстом, вільним від ліцензування і яких-небудь обмежень;

· XML не залежить від платформи;

· XML є підмножиною SGML (який використовується з 1986 року). Вже накопичений великий досвід роботи з мовою і створені спеціалізовані застосування;

· XML не накладує вимоги на розташування символів на строці.

Недоліки

· Синтаксис XML надлишковий.

o Розмір XML документа істотно більше бінарного представлення тих же даних. У грубих оцінках величину цього чинника приймають за 1 порядок (у 10 разів).

o Розмір XML документа істотно більший, ніж документа в альтернативних текстових форматах передачі даних і особливо у форматах даних оптимізованих для конкретного випадку використання.

o Надлишковість XML може вплинути на ефективність додатка. Зростає вартість зберігання, обробки і передачі даних.

o Для великої кількості завдань не потрібна вся потужність синтаксису XML і можна використовувати значно простіші і продуктивніші вирішення.

· XML не містить вбудованої в мову підтримки типів данних. В нёму нема понять «цеілих чисел», «строк», «дат», «булевих значень» і т.і.

· Іерархічна модель даних, пропонована XML, обмежена в порівнянні з реляційною моделлю і об'єктно-орієнтованими графами.

o Вираження не ієрархічних даних (наприклад графів) вимагає додаткових зусиль.

o Крістофер Дейт відзначав, що «XML є спробою заново винайти ієрархічні бази даних …».

· Простори імен XML складно використовувати і їх складно реалізовувати в XML парсерах;

· Існують інші, що володіють схожими з XML можливостями, текстові формати даних, які володіють вищою зручністю читання людиною.

3.4 Бібліотека WinPcap

Бібліотека Pcap (Packet Capture ) дозволяє створювати програми аналізу мережевих даних, що поступають на мережеву карту комп'ютера. Прикладом програмного забезпечення що використовує бібліотеку Pcap служить програма Wireshark . Всілякі програми моніторингу і тестування мережі, снифферы використовують цю бібліотеку. Вона написана для використання мови С/с++ так що інші мови , такі як Java .NET і скриптовые мови використовувати не раціонально. Для Unix-подобных систем використовують libpcap бібліотеку, а для Microsoft Windows NT використовують WinPcap бібліотеку. Програмне забезпечення мережевого моніторингу може використовувати libpcap або WinPcap , щоб захопити пакети, мандрівні по мережі і в новіших версіях для передачі пакетів в мережі. Libpcap і WinPcap також підтримують збереження захоплених пакетів у файл і читання файлів тих, що містять збережені пакети. Програми написані на основі libpcap або WinPcap можуть захопити мережевий трафік, аналізувати його. Файл захопленого трафіку зберігається у форматі, зрозумілому для проиложений , використовуючих Pcap .

WinPcap складається з:

· драйвера для Windows 95/98/Me, і для сімейства Windows NT (Windows NT 4.0, Windows 2000, Windows XP , Windows Server 2003, Windows Vista , etc .), які використовують NDIS для читання пакетів які отримує мережева карта;

4. Опис функціональних можливостей та програмної реалізації системи

4.1 Мінімальні системні вимоги і технічна характеристика

Метою дипломної роботи є розробка системи, що виконує функцію контролю Інтернет-трафіку. Система була реалізована в середовищі Microsoft Visual Studio 2008 на мові C#. При розробці застосування була використана безкоштовна бібліотека WinPcap.

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

Склад розробленої автоматизованої системи:

· apptraffmon.exe - виконавчий файл системи;

· apptraffmon.config - файл з настройками;

· бібліотека Tamir.IPLib.SharpPcap.dll - забезпечує зв'язок з WinPcap;

Мінімальні системні вимоги:

· IBM-сумісний комп'ютер, не нижче Pentium III-800Mhz, RAM-256Mb, SVGA-800*600*16bit;

· Операційна система Windows 95/98/ME/2000/XP;

· Додаткове програмне забезпечення: установка WinPcap;

· Вільний простір на жорсткому диску не менше 1.5Мб.

Технічні характеристики програми:

· програму можна запускати з будь-якого зручного користувачу каталогу, оскільки при запуску програма звертається до файлу apptraffmon.config у, якому зберігаються всі настройки підключення програми.

4.2 Розробка логіко-функціональної схеми системи

Проаналізувавши поставлене завдання можна запропонувати наступну логіко-функціональну схему:

Рис. 4.1 Логіко-функціональна схема

4.3 Опис інтерфейсу користувача системи

Інтерфейс користувача системи, що представляється , максимально адаптований для користувача. Він інтуїтивно зрозумілий і забезпечений всіма необхідними коментарями і підказками.

Відразу після запуску програма згортається в область повідомлення панелі завдань операційної системи Windows і трохи вище за область повідомлення з'являється плаваюче вікно що містить інформацією про використаний трафік.

За допомогою клацання правої кнопки мишки на значку програми що знаходиться в області повідомлення панелі завдань Windows викликається контекстне меню (рис. 4.3)

Рис. 4.3 Контекстне меню

Доступ в настройки і вихід з програми здійснюються тільки після введення пароля (рис. 4.4)

Рис. 4.4 Введення пароля

При виборі пункту "Опції" контекстного меню програми запускається форма налаштувань (рис. 4.5), яка дозволяє здійснити вибір застосувань, за якими здійснюватиметься моніторинг, з можливістю фільтрації процесів поточного користувача.

Також є|наявний| можливість|спроможність| виставляння чи використовуватиме застосування Proxy-сервер|, встановити пароль на доступ до налаштувань застосування, зміни колірної гамми|гамма-гексахлорциклогексану| інтерфейсу.

Рис. 4.5 Форма налаштувань програми

4.4 Програмна реалізація та опис основних процедур і функцій розробленої системи

У всіх програмах, які використовують бібліотеку pcap , має бути включений заголовний файл pcap .h. Типова послідовність кроків, яку повинна виконати програма, що використовує бібліотеку libpcap для виконання свого завдання , виглядає так:

1. ідентифікувати мережевий інтерфейс;

2. відкрити мережевий інтерфейс і створити сесію перехоплення;

3. створити фільтр, якщо він необхідний;

4. захопити і обробити пакети;

5. закрити сесію перехоплення.

Констуктор головної форми виглядає таким чином:

public AppTrafficInfoWindow ()

{

AppSettings .Default.Load();

AppSettings .Default.KeyName = "AppTrafficMonitorLite ";

string path = Path .GetDirectoryName(System .Reflection.Assembly.GetEntryAssembly().Location);//Application.StartupPath;

string file = path + "\\log4net .config";//"\\log.cfg";

log4net .Config.DOMConfigurator.Configure(new System .IO.FileInfo(file ));

m_AddNewItemApp = new AddNewItemApp (this .AddItemApp);

m_InsertItemApp = new InsertItemApp (this .AddOrInsertItemApp);

m_ChangedItemApp = new ChangedItemApp (this .ChangeItemApp);

IitializeComponent ();

details .ListView.ItemCheck +=

new ItemCheckEventHandler (ListView_ItemCheck );

this .Clear();

this .ForeColor = Color .Teal;

this .BackColor = Color .Teal;

int X = Screen .GetWorkingArea(this ).Width - this .Width; // This line gives the width of working area

int Y = Screen .GetWorkingArea(this ).Height - this .Height; // This line gives the width of working area

if (AppSettings .Default.CoordX >= 0)

{

X = AppSettings .Default.CoordX > X ? X : AppSettings .Default.CoordX;

}

if (AppSettings .Default.CoordY >= 0)

{

Y = AppSettings .Default.CoordY > Y ? Y : AppSettings .Default.CoordY;

}

//this .Location = new Point (X - this .Width, Y - this .Height); // This line sets the initial location of the form

this .Location = new Point (X, Y);

ChangeWindowHeight ();

conns = new ConnectionsWatcher ();

conns .Refresh(Protocol .None);

this .SetOptions();

conns .Timer.Elapsed +=

new System .Timers.ElapsedEventHandler(Timer_Elapsed );

details .ConnectionsWatcher = conns ;

try

{

Process loProcess = Process .GetCurrentProcess();

loProcess .MaxWorkingSet = loProcess .MaxWorkingSet;

loProcess .Dispose();

}

catch { }

System .Timers.Timer ShrinkTimer = new System .Timers.Timer();

ShrinkTimer .Interval = 60000;

ShrinkTimer .Elapsed +=

new System .Timers.ElapsedEventHandler(ShrinkTimer_Elapsed );

ShrinkTimer .Start();

}

У конструкторі форми відбувається ініціалізація всіх компонентів інтерфейсу системи, завантаження налаштувань програми з конфігураційного файлу і вживання отриманих налаштувань до програми за допомогою функції SetOptions (), запуск таймерів і створення підключення до драйвера перехоплення мережевих пакетів.

private void SetOptions ()

{

conns .ProcessesListRefreshInterval =

AppSettings .Default.ProcessesListRefreshInterval;

conns .ShowOnlyCurrentUserProcesses =

AppSettings .Default.ShowOnlyCurrentUserProcesses;

conns .DownloadPricePerMegabyte = AppSettings .Default.PricePerMegabyte;

conns .UseProxy = AppSettings .Default.UseProxy;

conns .ProcessesListRefreshInterval =

AppSettings .Default.ProcessesListRefreshInterval;

conns .ProxiesList.Clear();

conns .ProxiesList.InsertRange(0, AppSettings .Default.ProxiesList);

panel1 .BackColor = AppSettings .Default.StatusBarColor;

lblTotal .ForeColor = AppSettings .Default.StatusBarTextColor;

listView .BackColor = AppSettings .Default.GridColor;

listView .ForeColor = AppSettings .Default.GridTextColor;

AppSettings .Default.StatusBarTextColor = colorDialogStatusBarText .Color;

AppSettings .Default.GridTextColor = colorDialogGridText .Color;

AppSettings .Default.GridColor;

AppSettings .Default.StatusBarColor = colorDialogStatusBar .Color;

}

При виборі процесів із списку на відповідній формі за допомогою функції AddOrInsertItemApp відбувається виведення інформації про вибраний процес в плаваюче вікно програми.

private void AddOrInsertItemApp (AppTCPUDPConnection conn , int Position )

{

try

{

ListViewItem lvi = null ;

if (Position != -1)

{

lvi = details .ListView.Items.Insert(Position , conn .ProcessName);

}

else

{

lvi = details .ListView.Items.Add(conn .ProcessName);

}

if (IsCheckedItem (conn .ProcessName)&& conn .ProcessName != String .Empty)

{

this .Add(conn .ProcessName, conn .DownloadedCosts);

lvi .Checked = true ; //conn.IsMonitored;

}

else

{

lvi .Checked = false ;

}

lvi .SubItems.Add(Utils .TrafficToStr(conn .DownloadedUseful, conn .DownloadedReal));

lvi .SubItems.Add(conn .DownloadingSpeed);

double val = GetProcessInfoValue (conn );

string str = ConvertProcessInfoToStr (val );

lvi .SubItems.Add(str );// +

System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);

lvi .Tag = val ;

}

catch { }

}

За допомогою наступного коду програма перевіряє чи використовує вибраний процес TCP/IP зєднання, і якщо це так то даний процесс додається до списку процесів:

public void GetTcpConnections()

{

int AF_INET = 2; // IP_v4

int buffSize = 20000;

byte[] buffer = new byte[buffSize];

int res = IPHlpAPI32Wrapper.GetExtendedTcpTable(buffer, out buffSize, true, AF_INET, TCP_TABLE_CLASS.TCP_TABLE_OWNER_PID_ALL, 0);

if (res != Utils.NO_ERROR)

{

buffer = new byte[buffSize];

res = IPHlpAPI32Wrapper.GetExtendedTcpTable(buffer, out buffSize, true, AF_INET, TCP_TABLE_CLASS.TCP_TABLE_OWNER_PID_ALL, 0);

if (res != Utils.NO_ERROR)

{

return;

}

}

int nOffset = 0;

int NumEntries = Convert.ToInt32(buffer[nOffset]);

nOffset += 4;

for (int i = 0; i < NumEntries; i++)

{

TCPUDPConnection row = new TCPUDPConnection(this);

// state

int st = Convert.ToInt32(buffer[nOffset]);

// state by ID

row.iState = st;

nOffset += 4;

row.Protocol = Protocol.TCP;

row.Local = Utils.BufferToIPEndPoint(buffer, ref nOffset, false);

row.Remote = Utils.BufferToIPEndPoint(buffer, ref nOffset, true);

row.PID = Utils.BufferToInt(buffer, ref nOffset);

this.Add(row);

}

}

За допомогою функції GetProcessInfoValue відбувається форматування і виведення значення інформації, що відображується , про трафік.

private double GetProcessInfoValue (AppTCPUDPConnection conn )

{

switch (AppSettings .Default.ShowInfo)

{

case ShowInfo .Costs:

return conn .DownloadedCosts;

case ShowInfo .Speed:

return conn .DownloadingRealSpeed;

default :

return conn .DownloadedReal;

}

}

Функція GetTotalInfo повертає результат підсумовування даних про трафік по всіх процесах:

private double GetTotalInfo ()

{

switch (AppSettings .Default.ShowInfo)

{

case ShowInfo .Costs:

return conns .MonitoredApplications.DownloadedCosts;

case ShowInfo .Speed:

return 0;

default :

return conns .MonitoredApplications.Downloaded;

}

}

А функція TotalSum виводить форматовану інформацію на плаваючу форму програми

public string TotalSum

{

set

{

string str = "Всього ";

switch (AppSettings .Default.ShowInfo)

{

case ShowInfo .Costs:

str += ": ";

break ;

case ShowInfo .Speed:

str += ": ";

break ;

default :

str += "трафіку: ";

break ;

}

lblTotal .Text = str + value ;

}

}

Для включення фільтру в програму існують дві основні функції: pcap_compile() і pcap_setfilter(). Вираження для фільтру зберігається в звичайному рядку (масиві символів). Синтаксис таких виразів повністю відповідає тому синтаксису, який використовується утилітою tcpdump. Перш ніж застосувати фільтр, його потрібно «скомпілювати». Це робить функція pcap_compile(). Її прототип виглядає таким чином:

int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)

Перший аргумент - це дескриптор відкритої сесії. Другий аргумент - покажчик на область в пам'яті, де зберігатиметься «скомпільована» версія нашого фільтру. Далі йде само вираження фільтру у вигляді звичайного рядка. Наступний параметр визначає, чи потрібно оптимізувати наше вираження (0 - ні, 1 - так). Останній параметр - маска мережі, до якої застосовується наш фільтр. Функція повертає -1 в разі помилки, всі інші значення говорять про успішне завершення.

Функція Add додає вибраний процес в список плаваючого вікна програми і відразу викликає функцію ResortItems Яка перебудовує вже існуючий список.

public void Add (string Item , double Value )

{

int i = IndexOf (Item );

if (i == -1)

{

ListViewItem lvi = listView .Items.Add(Item + ": ");

lvi .SubItems.Add(ConvertProcessInfoToStr (Value ));

this .ChangeWindowHeight();

lvi .Tag = Value ;

}

else

{

listView .Items[i].SubItems[1].Text = ConvertProcessInfoToStr (Value );

listView .Items[i].Tag = Value ;

}

ResortItems ();

}

private void ResortItems ()

{

for (int i = 0; i < listView .Items.Count - 1; i++ )

{

if ((double )listView .Items[i].Tag < (double )listView .Items[i + 1].Tag)

{

ListViewItem lvi = listView .Items[i + 1];

listView .Items.RemoveAt(i + 1);

listView .Items.Insert(i, lvi ); } } }

5. Економічне обґрунтування доцільності розробки програмного продукту

Визначення витрат на створення програмного продукту

Оскільки середа розробки є безкоштовною, витрати на створення програмного продукту складаються з витрат по оплаті праці розробника програми і витрат по оплаті машинного часу при відладці програми:

Зспп=Ззпспп мвсппобщ,

де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Зобщ - загальні витрати.

Витрати на оплату праці розробника програми (Ззпспп) визначаються шляхом множення трудомісткості створення програмного продукту на середню годинну оплату програміста (з урахуванням коефіцієнта відрахувань на соціальні потреби):

Ззпспп=t*Tчас.

Розрахунок трудомісткості створення програмного продукту.

Трудомісткість розробки програмного продукту можна визначити таким чином:

t= to+ tа+ tб+ tп+ tд+ tот,

де

to - витрати праці на підготовку опису завдання;

tа - витрати праці на розробку алгоритму рішення задачі;

tб - витрати праці на розробку блок-схеми алгоритму рішення задачі;

tп - витрати праці на складання програми по готовій блок-схемі;

tд - витрати праці на підготовку документації завдання;

tот - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

Оцінити витрати праці на підготовку опису завдання не можливо, оскільки це пов'язано з творчим характером роботи, натомість оцінимо витрати праці на вивчення опису завдання з урахуванням уточнення опису і кваліфікації програміста:

to= Q*B/(75…85*K),

где

B - коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;

K - коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємо

to= 1050*2/(78*0,8) = 33,65 (люд-год).

Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:

tа = Q/(60…75*K)

tа = 1050/(70*0,8)=18,75 (люд-год).

Розрахунок витрат праці на розробку блок-схеми.

Витрати праці на розробку блок-схеми алгоритму рішення задачі обчислимо таким чином:

tб= Q/(60…75*K)

tб = 1050/(71*0,8)=18,48 (люд-год).

Розрахунок витрат праці на складання програми.

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:

tп= Q/(60…75*K)

tп = 1050/(72*0,8)=18,23 (люд-год).

Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

tот=1.5* tAот,

де tAот - витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;

tAот= Q/(40…50*K)

tAот = 1050/(48*0,8)=27,34 (люд-год)

Звідси tот=1.5*27,34=41,01 (люд-год).

Розрахунок витрат праці на підготовку документації.

Витрати праці на підготовку документації по завданню визначаються:

tд= tдр+ tдо,

де

tдр - витрати праці на підготовку матеріалів в рукопису;

tдо - витрати на редагування, друк і оформлення документації;

tдр= Q/(150…200*K)

tдр = 1050/(180*0.8) = 7,29 (люд-год)

tдо=0.75*tдр

tдо =0.75*7,29=5,47 (люд-год)

Звідси

tд=7,29+5,47=12,76 (люд-год).

Отже, загальну трудомісткість програмного продукту можна розрахувати:

t = 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).

Розрахунок середньої зарплати програміста.

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/міс при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

Витрати на оплату праці програміста складаються із зарплати програміста і нарахувань на соціальні потреби. Нарахування на соціальні потреби включають:

33,2% - пенсійний фонд;

1,4% - соціальне страхування;

1.6% - відрахування до державного фонду зайнятості на випадок безробіття;

1% - на соціальне страхування від нещасного випадку на виробництві і професійних захворювань, які спричинили втрату працездатності.

Разом нарахування на соціальні потреби складають 37,2%.

Тобто 1408грн*37,2%=520,96 грн

Звідси витрати на оплату праці програміста складають:

Ззпспп= 1408+520,96=1928,96 грн.

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

Змвспп час*tЕОМ,

де

Счас - ціна машино-години орендного часу, грн/год;

tЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:

tеом = tп + tдо + tот ;

tеом =18,23 +5,47 +41,01 = 64,71 години

Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:

Сгод = Зеомеом,

де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114(10 святкових і 52*2- вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:

Теом = 8*(365-114)-52*3=1852 год.

Розрахунок повних витрат на експлуатацію ЕОМ.

Повні витрати на експлуатацію можна визначити по формулі:

Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),

де,

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм - річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

Амортизаційні відрахування.

Річні амортизаційні відрахування визначаються по формулі:

Замбал*Нам,

де Сбал - балансова вартість комп'ютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:

Сбал = Срин +Зуст ;

де

Срин - ринкова вартість комп'ютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт;

Комп'ютер, на якому велася робота, був придбаний за ціною

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.

Зуст = 10%* Срин

Зуст =0.1*5000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;

а Зам=5500*0,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:

Зел = Реом * Теом * Сел * А,

де

Реом - сумарна потужність ЕОМ,

Теом - дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВт*год електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВт*год електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:

Зел = 0.22 * 1852* 0.2436* 0.30 = 29,78 грн.

Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:

Зтр = 0.05* Сбал

Зтр = 0.05* 5500 = 275 грн.

Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1 % від вартості ЕОМ:

Звм =0,01* 5500 =55 грн.

Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:

Зпр = 0,05* 5500 =275 грн.

Річні витрати на заробітну плату обслуговуючого персоналу.

Витрати на заробітну плату обслуговуючого персоналу складаються з основної заробітної плати, додаткової і відрахувань на заробітну плату:

Ззп = Зоснзп +Здопзп +Зотчзп.

Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:

Зоснзп =12 *іокл,

де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

12 - кількість місяців.

У штат обслуговуючого персоналу повинні входити інженер-електронщик з місячним окладом 1500 грн. і електрослюсар з окладом 1200 грн. Тоді, враховуючи, що даний персонал обслуговує 20 машин, маємо витрати на основну заробітну плату обслуговуючого персоналу, які складуть:

Зоснзп = 12*(1500+1200)/20=1620 грн.

Додаткова заробітна плата складає 60 % від основної заробітної плати:

Здопзп = 0.6 *1620 = 972 грн.

Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:

Зотчзп = 0,372*(1620 + 972) = 959,04 грн.

Тоді річні витрати на заробітну плату обслуговуючого персоналу складуть:

Ззп = 1620 +972 +959,04 = 3551,04 грн.

Повні витрати на експлуатацію ЕОМ в перебігу року складуть:

Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.

Тоді ціна машино-години часу, що орендується, складе

Сгод = 5560,82 /1852 = 3 грн.

А витрати на оплату машинного часу складуть:

Змвспп =Сгод*tеом

Змвспп = 3 * 64,71= 194,13 грн.

Розрахунок загальних витрат.

Загальні витрати - 643

Зспп=Ззпспп +Змвспп+Ззаг

Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:

Ц = Зспп + Р,

Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.

Ц = 2766,09 +414,91=3181 грн.

Ціна програмного продукту дорівнює 3181 грн.

В порівнянні з іншими програмними продуктами, які виконують аналогічні функції та мають вартість орієнтовно $1000, розроблена програма за умови тиражування обійдеться значно дешевше, ніж аналоги.

Економія від використання однієї розробленої програми представлятиме:

7,7 - курс долара Національного банку України

ЕК = $1000 * 7,7-3181= 4519 грн.

6. Охорона праці

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

Це має пряме відношення до фахівців, пов'язаних із проектуванням, розробкою, експлуатацією, супроводом і модернізацією автоматизованих систем керування різного призначення.

На робочому місці користувача повинні бути створені умови для високопродуктивної праці. У цьому розділі будуть розглянуті основні фактори, що на ці умови мають вплив та необхідні заходи, згідно законодавства, направлені на поліпшення умов праці. У цей час все більше застосування знаходять автоматизовані робочі місця, які оснащуються персональною ЕОМ і графічним дисплеєм, клавіатурою і принтером, тому охорона праці у цій галузі має свої особливості.

Законодавство України про охорону праці базується на:

- Конституція України, яка гарантує права громадян на працю, відпочинок, охорону здоров'я, медичну допомогу і страхування;

- Закон України „Про охорону праці”, де вказано, що державна політика в області охорони праці базується на пріоритеті життя і здоров'я людей в умовах їх трудової діяльності. Відповідальність за створення нормальних і безпечних умов труда несе роботодавець незалежно від форми власності підприємства чи установи які здійснюють розробку виробництва та застосування ПЕОМ і ПК;

- Норми штучного та природного освітлення визначені СНіП;

- Закон України „Про забезпечення санітарного та епідемічного благополуччя населення” де вказані основні вимоги гігієни та санітарії;

- Параметри мікроклімату на робочих місцях регламентовані Держстандартом і ДСН;

- Категорія робіт по величині загальних енерговитрат встановлена ДСН;

- Закон України „Про загальнообов'язкове державне соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності”, який гарантує право трудящих на соціальний захист і компенсацію постраждалим матеріальних втрат при травмуванні і професійного захворювання;

- Кодекс законів про працю (КЗпП) де викладені окремі вимоги охорони праці;

- Пожежна безпека викладена в законі України „Про пожежну безпеку” і „Правила про пожежну безпеку в Україні”

Крім того є ряд Державних стандартів, правил, норм, інструкцій та інших нормативних документів, регламентуючих питання охорони праці.

6.1 Аналіз шкідливих і небезпечних виробничих факторів при роботі на комп'ютері

Фактори виробничого середовища впливають на функціональний стан і працездатність оператора. Наразі загальноприйнятою є класифікація небезпечних і шкідливих чинників, які згідно ДОСТ 12.0.003-74 по характерним видам дій на організм людини, підрозділяються на фізичні, хімічні, біологічні і психофізіологічні.

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

Оператор ЕОМ може зіштовхнутися з наступними фізично небезпечними й шкідливими факторами: несприятнливий мікроклімат робочої зони, підвищений рівень шуму на робочому місці, підвищений рівень електромагнітних випромінювань, відсутність або недолік природного світла, недостатня освітленість робочої зони, підвищена яскравість світла, знижена контрастність, підвищена пульсація світлового потоку, підвищений рівень статичної електрики, підвищена напруженість магнітного поля.

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


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

  • Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.

    дипломная работа [891,7 K], добавлен 25.10.2012

  • Комплексна обробка просторово-розподілених ресурсів мережі Інтернет. Системи інформаційного моніторингу в мережі. Обґрунтування технологій, розробка системи інтеграції Інтернет-контенту для конкурентного середовища ринку праці. Оцінювання систем аналізу.

    дипломная работа [763,8 K], добавлен 14.07.2013

  • Теоретичні основи мови програмування C++ та середовища розробки Microsoft Visual C++, яка дозволяє створювати як маленькі программи і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних плтаформах.

    реферат [26,5 K], добавлен 01.04.2010

  • Аналіз технологій розробки систем моніторингу і управління та різноманітності мов програмування. Створення проекту структури Інтернет-магазину, розробка бази даних, UML-діаграми та алгоритму виконання функцій додатку. Результати тестування програми.

    дипломная работа [1,6 M], добавлен 08.06.2015

  • Розробка кросплатформового інструменту електронного тестування учнів молодших та середніх класів по іноземній мові. Вибір середовища розробки та системи контролю версій. Опис мови програмування Java та лістинг програми. Апаратні та програмні вимоги.

    дипломная работа [608,3 K], добавлен 26.10.2010

  • Стандарти технології Fast Ethernet. Перелік функцій користувачів та прав доступу. Розставлення робочих станцій та периферійної техніки у приміщенні клубу. Розрахунок трафіку мережі. Вибір й характеристики обладнання для серверів та комутуючих пристроїв.

    дипломная работа [997,0 K], добавлен 23.07.2014

  • Аналіз питання розвитку глобальної мережі Інтернет в Херсонській області. Підходи щодо оцінки регіональних диспропорцій у кількості користувачів мережі за обліковими аккаунтами соціальних мереж. Оцінка забезпеченості населення доступом до мережі Інтернет.

    статья [116,8 K], добавлен 05.10.2017

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

  • Історія виникнення та розвитку мережі Інтернет. Загальні принципи роботи та основні функції всесвітньої мережі. Законодавче та правове регулювання інформаційної діяльності. Дослідження досвіду України у формуванні інформаційно-комунікативного суспільства.

    дипломная работа [841,9 K], добавлен 15.03.2014

  • Бібліотека Pcap та її реалізація WinPcap під платформу Windows. Аспекти робот з бібліотекою WinPcap. Штучні нейронні мережі. Застосування бібліотеки Winpcap для захоплення мережевого трафіку. Реалізація нейронної мережі Кохонена для аналізу заголовків.

    дипломная работа [2,2 M], добавлен 09.06.2012

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