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

 

Міністерство освіти і науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій та управління. Кафедра технічної кібернетики











ДИПЛОМНА РОБОТА

зі спеціальності

.091402 Гнучкі компютеризовані системи та робототехніка

ПОЯСНЮВАЛЬНА ЗАПИСКА

«Розробка гнучкої інтегрованої системи автоматизації діяльності контрольно-пропускних пунктів»




Студента групи ГКС-05-д

Харчука Євгена Миколайовича

Керівник роботи доц., к.т.н.

Іванов Ігор Георгійович



Кривий Ріг 2010

Міністерство освіти і науки України

Криворізький інститут

Кременчуцького університету економіки, інформаційних технологій та управління

Кафедра технічної кібернетики

Спеціальність 7.091402 Гнучкі компютеризовані системи та робототехніка

ЗАТВЕРДЖУЮ

Зав. кафедрою доц., к.т.н. Старіков О.М.

" 01 " листопада 2009 р.

ЗАВДАННЯ

на дипломну роботу студента

Харчука Євгена Миколайовича

(прізвище, ім'я, по-батькові)

. Тема роботи: Розробка гнучкої інтегрованої системи автоматизації діяльності контрольно-пропускних пунктів

затверджена наказом по інституту від " 29 " жовтня 2009 р. № 73С-01

. Термін здачі студентом закінченої роботи 25.05.10. _

. Вхідні дані до роботи: Вимоги до кінцевого програмного продукту, вихідні масиви даних, програмна документація.

. Зміст розрахунково-пояснювальної записки (перелік питань, що підлягають розробці): Постановка завдання; Теоретичні аспекти проектування ГІС із використанням Web технологій і баз даних; Порівняльний аналіз переваг мови програмування PHP і СУБД MySql; Опис функціональних можливостей та програмної реалізації проектованої системи; Економічне обґрунтування доцільності розробки програмного продукту; Охорона праці.

. Перелік графічного матеріалу (з точними вказівками обов'язкових креслень)

1. Схема структури частини зі сторони користувача

. Головна сторінка користувача

. Поля для введення при в'їзді на легковому автомобілі

. Спливаючі підказки

. Заповнення списку товарів

. Панель управління адміністратора

. Список робітників

. Архів КПП

6. Консультанти з роботи, з вказівками розділів роботи, що належать до них


РозділКонсультантПідпис, датаЗавдання видавЗавдання прийнявСпеціальна частинаВдовиченко І.Н. Програмна частинаЛукашенко Й.М.Економічна частинаТимко Є.В.Охорона праціКлимович Г.Б.

. Дата видачі завдання 01.11.09 р.

Керівник

Завдання прийняв до виконання

Консультанти:

зі спеціальної частини доц., к.т.н. Лукашенко Й.М.

з програмної частини доц., к.т.н. Вдовиченко І.Н. підпис

з економічної частини доц., к.е.н. Тимко Є.В. підпис

з охорони праці доц., к.т.н. Климович Г.Б. підпис

нормоконтроль ст. викл. Захарова Г.Б. підпис

Завідувач кафедри ТК доц., к.т.н. Старіков О.М. підпис


Календаоный план

№ п/пНайменування етапів дипломної роботиТермін виконання етапів роботиПримітки1. Отримання завдання на дипломну роботу01.11.092. Огляд існуючих рішень20.02.103. Теоретичне дослідження інструментальних засобів реалізації проекту13.03.104. Програмна частина (постановка задачі, створення програмного забезпечення, опис алгоритму рішення задачі, проектування та опис інтерфейсу користувача, опис програми)28.04.105. Оформлення пояснювальної записки13.05.106. Оформлення графічної документації18.05.107. Оформлення електронних додатків до диплому25.05.108. Представлення дипломної роботи до захисту01.06.10

Студент-дипломник

(підпис)

Керівник роботи

(підпис)


Анотація


Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. Система була реалізована з використанням мов програмування PHP, JavaScript і MySql.

У дослідницькій частині дипломної роботи був здійснений порівняльний аналіз різних переваг мови програмування PHP і СУБД MySql.

Розділів 6, схем та рисунків 36, таблиць 4, бібліографічних посилань 30, загальний обсяг - 108.


Аннотация


Целью дипломной работы является разработка системы, выполняющей функцию автоматизации процесса пропускного пункта предприятия. Система была реализована с использованием языков программирования PHP, Javascript и СУБД MySql.

В исследовательской части дипломной работы был осуществлен сравнительный анализ различных преимуществ языка программирования PHP и СУБД MySql.

Разделов 6, схем и рисунков 36, таблиц 4, библиографических ссылок 30, общий объем - 108.


The summary

aim of thesis is to develop a system that performs the function of automating the process checkpoint enterprise. The system was implemented using the programming languages PHP, Javascript and database MySql. the research part of the thesis was carried out comparatively complete analysis of various advantages of the PHP programming language and SCDB MySql.6, circuits and figures 36, tables 4, bibliographic references 30, total amount - 108.


Зміст


Вступ

. Постановка завдання

.1 Найменування й галузь застосування

.2 Підстава для створення

.3 Характеристика розробленого програмного забезпечення

.4 Мета й призначення

.5 Загальні вимоги до розробки

.6 Джерела розробки

. Теоретичні аспекти проектування ГІС із використанняс WEB-технологій і баз данних

.1 Мова гіпертекстової розмітки HTML

.1.1 Історія розвитку HTML

.1.2 Узгодження протоколів канального рівня

.1.3 Принципи гіпертекстової розмітки

.1.4 Групи тегів НТМ

.2 Мова Web-програмування PHP

.2.1 Основні відомості про РНР

.2.2 Історія PHP

.2.3 Можливості PHP

.2.4 PHP-програма

.3 Система управління базами даних MySql

.3.1 Комп'ютерні системи зберігання

.3.2 СУБД

.3.3 Системи управління файлами

.3.4 Ієрархічні бази даних

.3.5 Мережні бази даних

.3.6 Реляційнні бази даних

.3.7 Обєктно-орієнтовані бази даних

.3.8 Обєктно-реляційні бази даних

.3.9 Основні характеристики MySql

.4. JavaScript

.4.1 Можливості мови

.4.2 Семантика і синтаксис

.4.3 Безпека

. Порівняльний аналіз переваг мови програування PHP І СУБД MYSQL

3.1 Порівняльний аналіз PHP і ASP. Переваги PHP

.2 Порівняння MySql і PostgreSql з погляду розроблювача

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

4.1 Функціональне призначення та технологічні особливості розробки

.2 Структура частини зі сторонни користувача

.3 Установка локального серверу XAMPP

.4 Опис інтерфейсу програми зі сторони користувача

.5 Опис інтерфейсу панелі адміністратора

.6 Програмна реалізація проектованої системи

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

5.1 Організаційно-економічна частина

.2 Розрахунок економічного ефекту по упровадженню програмного продукту

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

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

.2 Заходи щодо нормалізації шкідливих і небезпечних виробничих факторів

.3 Пожежна безпека

Висновки

Список літератури


Вступ


Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. В якості мови програмування для реалізації поставленого завдання була обрана мова програмування PHP та JavaScript. Серверною системою було обрано Apache, яка э безкоштовною.розвивається досить стрімко. Швидко росте кількість видань, присвячених Мережі, що передвіщає широке її поширення навіть у далекі від техніки областях. Internet перетворюється з великої іграшки для інтелектуалів у повноцінне джерело всілякої корисної інформації для всіх. Процеси розвитку глобальних інформаційно-комунікаційних технологій дуже динамічні в цей час, а їхньої можливості для суспільства й економіки ще тільки починають масштабно використатися. Ще два-три роки тому Internet розглядалася переважно як гігантська бібліотека й головне його завдання вважалося допомога в пошуку потрібної інформації й організація доступу до неї. У дійсний "комунікаційний" етап свого розвитку головним завданням мережі Internet є допомога в пошуку бажаних партнерів і надання засобів для організації з ними потрібного виду комунікацій з необхідною інтенсивністю. Результати останніх досліджень показали, що використання Internet-технологій може принести реальну економію й прибуток. Очікується істотний ріст збільшення обсягів Internet-комерції, особливо в таких областях, як подорожі, роздрібна торгівля, фінанси, тематична реклама, а також у комп'ютерному секторі.

У світі накопичена величезна кількість інформації з різних питань. Найчастіше ця інформація зберігається в базах даних (БД). Щоб опублікувати її в Мережі доводилося експортувати БД в HTML-документи, що вимагало більших витрат й ускладнювало пошук інформації. Сьогодні є великий досвід подібних робіт. Практично будь-який користувач Мережі не

раз зіштовхувався з подібними БД. Саме сьогодні проблема Web-інтерфейсу до БД як ніколи актуальна. Для цих цілей сьогодні широко використають мову програмування PHP, створений для генерування HTML-сторінок на Web-сервері й роботи з базами даних. У цей час підтримується переважною більшістю хостінг-провайдерів. Входить в LAMP - розповсюджений набір для створення Web-сайтів (Linux, Apache, MySql, PHP (Python або Perl)).

Головна мета цієї дипломної роботи реалізувати створення ГІС «Автоматизація діяльності контрольно-пропускних пунктів» з використанням Web-технологій. Інформаційна мережа Інтернет дуже швидко набирає темпи, і на сьогоднішній день перебуває буквально у всіх сферах життя людини. А Web технології такі як HTML - є його основою. Але на жаль мова гіпертекстової розмітки HTML дуже вузький по своїй функціональності, і не є мовою програмування. Але в сукупності з мовою програмування PHP та JavaScript (які створені для генерування HTML сторінок на Web-сервері (та зі сторони клієнту) й роботи з базами даних), технологія опису зовнішнього вигляду документа CSS, написаного мовою розмітки, призначена для розширення графічних і функціональних можливостей HTML, і вільною системою управління базами даних MySql, можливості настільки розширюються що дають можливість реалізувати будь-яку програму з будь-якими функціями, що функціонує в глобальній мережі Інтернет.


1. Постановка завдання


1.1 Найменування й галузь застосування


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


.2 Підстава для створення


Підставою для розробки є наказ № 73С-01 від 29 жовтня 2009 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 01.11.09. Закінчення робіт: 25.05.10.


.3 Характеристика розробленого програмного забезпечення


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

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

·index.PHP - головний файл, розробленої системи;

·processing.PHP - файл, який містить код обробки вхідних даних;

·style.css - файл таблиці стилів.


1.4 Мета й призначення


Метою дипломної роботи є розробка системи, що виконує функцію автоматизації процесу пропускного пункту підприємства. Розроблена система призначена для автоматизації та контролю пропуску співробітників підприємства, та надання можливості контролювати цей процес видалено через Internet.


.5 Загальні вимоги до розробки


Вимоги до програмного забезпечення:

·Робота в середовищі операційних систем Windows 2000/XP/Vista/7, а також операційних системах сімейства Unix;

·Відсутність додаткових вимог до розміщення здійсненних файлів;

·Додаткове програмне забезпечення: будь який Інтернет браузер;

·Мінімальні вимоги до апаратного забезпечення:

IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-256Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску - біля 5 Мб.

1.6 Джерела розробки

Джерелами розробки дипломної роботи є:

·довідкова література;

·наукова література;

·технічна література;

·програмна документація.


2. Теоретичні аспекти проектування ГІС із використанням WEB-технологій і баз даних


.1 Мова гіпертекстової розмітки HTML


.1.1 Історія розвитку HTML

В 1989 році Тім Бернерс-Ли запропонував керівництву Європейського Центра ядерних досліджень (CERN) проект розподіленої гіпертекстової системи, що він назвав World Wide Web (WWW), Всесвітня павутина. Спочатку ідея системи полягала в тому, щоб за допомогою гіпертекстової навігаційної системи об'єднати вся безліч інформаційних ресурсів CERN у єдину інформаційну систему. Технологія виявилася настільки вдалої, що дала поштовх до розвитку однієї із самих популярних у світі глобальних інформаційних систем. Практично у свідомості більшості користувачів глобальної комп'ютерної мережі Internet сама ця мережа асоціюється із трьома основними інформаційними технологіями:

·електронна пошта (e-mail);

·файлові архіви FTP;

·World Wide Web.

Причому остання технологія поступово переміщається на перше місце.

Успіх технології World Wide Web визначений двома основними факторами: простотою й використанням протоколів міжсітьового обміну сімейства TCP/IP, (Transmission Control Protocol, протокол управління передачею/Internet Protocol, протокол Internet), які є основою Internet.

Практично всі користувачі Мережі одночасно одержали можливість спробувати себе як творців і читачів інформаційних матеріалів, опублікованих у Всесвітній павутині. Але й популярність самого Internet багато в чому викликана появою World Wide Web, тому що це першамережна технологія, що надала користувачеві простий сучасний інтерфейс для доступу до різноманітних мережних ресурсів. Простота й зручність застосування привели до росту числа користувачів WWW і привернули увагу комерційних структур. Далі процес росту числа користувачів став лавиноподібним, і так триває дотепер.

При цьому сама технологія на початковому етапі була надзвичайно проста. Справа в тому, що при розробці різних компонентів технології (мови гіпертекстової розмітки HTML (HyperText Markup Language, мова розмітки гіпертексту), протоколу обміну гіпертекстовою інформацією HTTP, специфікації розробки прикладного програмного забезпечення CGI й ін.) передбачалося, що кваліфікація авторів інформаційних ресурсів й їхня оснащеність засобами обчислювальної техніки будуть мінімальними.

Одним з компонентів технології створення розподіленої гіпертекстової системи World Wide Web стала мова гіпертекстової розмітки HTML, розроблений Тімом Бернерсом-Ли на основі стандарту мови розмітки друкованих документів - SGML (Standard Generalised Markup Language, стандартний узагальнена мова розмітки). Деніел В. Коннолі написав для нього Document Type Definition - формальний опис синтаксису HTML у термінах SGML.

Розроблювачі HTML змогли вирішити два завдання:

·надати дизайнерам гіпертекстових баз даних простої засіб створення документів;

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

Перше завдання було вирішено за рахунок вибору тегової моделі опису документа. Така модель широко застосовується в системах підготовки документів для печатки. Прикладом такої системи може служити добре відома мова розмітки наукових документів Te, що був створений Дональдом Батогом і запропонована Американським математичним суспільством, і програми його інтерпретації.

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

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

Такий файл можна створити в будь-якому текстовому редакторі на будь-якій апаратній платформі в середовищі якої завгодно операційної системи;

До моменту розробки HTML існував американський стандарт для розробки мережних інформаційних систем - Z39.50, у якому як одиниця зберігання вказувався простий текстовий файл у кодуванні LATIN1, що відповідає US ASCII.

Таким чином, гіпертекстова база даних у концепції WWW - це набір текстових файлів, розмічених мовою HTML, що визначає форму подання інформації (розмітка) і структуру зв'язків між цими файлами й іншими інформаційними ресурсами (гіпертекстові посилання). Гіпертекстові посилання, що встановлюють зв'язки між текстовими документами, поступово стали поєднувати всілякі інформаційні ресурси, у тому числі звук і відео; у результаті виникло нове поняття - гіпермедіа.

Такий підхід припускає наявність ще одного компонента технології - інтерпретатора мови. В World Wide Web функції інтерпретатора розділені

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

Перша версія мови (HTML 1.0) була спрямована на подання мови як такого, де опис його можливостей носило скоріше рекомендаційний характер. Друга версія мови (HTML 2.0) фіксувала практику використання його конструкцій. Версія ++ (HTML++) представляла нові можливості, розширюючи набір тегів HTML убік відображення наукової інформації й таблиць, а також поліпшення стилю компонування зображень і тексту. Версія 3.2 змогла впорядкувати всі нововведення й погодити їх з існуючою практикою. HTML 3.2 дозволяє реалізувати використання таблиць, виконання кодів мови Java, обтікання графіки текстом, а також відображення верхніх і нижніх індексів.

Зараз World Wide Web Consortium (W3C) - міжнародна організація, що займається підготовкою й поширенням документації на опис нових версій HTML - уже опублікувала матеріали специфікації HTML 4.01. Крім можливостей розмітки тексту, включення мультимедіа й формування гіпертекстових зв'язків, що вже існували в попередніх версіях HTML, у версію 4.01 включені додаткові засоби роботи з мультимедіа, мови програмування, таблиці стилів, спрощені засоби печатки зображень і документів. Для управління сценаріями перегляду сторінок Website (гіпертекстової бази даних, виконаної в технології World Wide Web) можна використати мови програмування цих сценаріїв, наприклад, JavaScript, Java й VBScript.

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


2.1.2 Узгодження протоколів канального рівня


Сучасні обчислювальні мережі часто будуються з використанням декількох різних базових технологій - Ethernet, Token Ring або FDDI. Така неоднорідність виникає або при об'єднанні мереж, що вже існували раніше, використовують в своїх транспортних підсистемах різні протоколи канального рівня, або при переході до нових технологій, таких, як Fast Ethernet або 100VG-AnyLAN.

Саме для утворення єдиної транспортної системи, об'єднуючої декілька мереж з різними принципами передачі інформації між кінцевими вузлами, і служить мережевий рівень. Коли дві або більше мережі організовують спільну транспортну службу, то такий режим взаємодії зазвичай називають міжмережевою взаємодією (internetworking). Для позначення складеної мережі в англомовній літературі часто також використовується термін інтермережа (internetwork або internet).

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


.1.3 Принципи гіпертекстової розмітки

HTML є описовою мовою розмітки документів, у ньому використаються покажчики розмітки (теги). Тегова модель описує документ як сукупність контейнерів, кожний з яких починається й закінчується тегами, тобто документ НТМ являє собою не що інше, як звичайний АSсII-файл, з доданими в нього керуючими НтмL-кодами (тегами). Оскільки HTML відбувся від SGML, у ньому дозволено використати тільки три керуючі символу: горизонтальну табуляцію, переклад каретки й переклад рядка. Це полегшує взаємодію з різними операційними системами.

Теги НтмL-документів здебільшого прості й зрозумілі, тому що вони утворені за допомогою загальновживаних слів англійської мови, зрозумілих скорочень і позначень. НтмL-тег складається з імені, за яким може випливати необов'язковий список атрибутів тегу. Текст тегу полягає в кутові дужки ("<" й ">"). Найпростіший варіант тегу - ім'я, укладене в кутові дужки, наприклад, <HEAD> або <I>. Для ряду тегів характерна наявність атрибутів, які можуть мати конкретні значення, установлювані автором для зміни функції тегу.

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

<TABLE ALIGN=center CELLPADDING=10

CELLSPACING=2 BORDER=16>

Цей запис означає наступне: таблиця шириною 570 пикселів, вирівняна по центрі, поле між рамкою й умістом осередків 10 пикселів, поле рамки 2 пиксела, ширина бордюру 16 пикселів.

Атрибути тегу випливають за ім'ям і відокремлюються друг від друга одним або декількома знаками табуляції, пробілами або символами повернення до початку рядка. Порядок запису атрибутів у тегу значення не має. Значення атрибута, якщо таке є, треба за знаком рівності, що коштує після імені атрибута. Якщо значення атрибута - одне слово або число, то його можна просто вказати після знака рівності, не виділяючи додатково. Всі інші значення необхідно містити в одинарні або подвійні лапки, особливо якщо вони містять трохи розділених пробілами слів. Довжина значення атрибута обмежена 1024 символами. Регістр символів в іменах тегів й атрибутів не враховується, чого не можна сказати про значення атрибутів. Наприклад, особливо важливо використати потрібний регістр при уведенні URL (Uniform Resource Locator, уніфікований покажчик ресурсу) інших документів як значення атрибута HREF.

Найчастіше елементи розмітки HTML або HTML-контейнери складаються з початкового й кінцевого компонентів, між якими розміщаються текст й інші елементи документа. Ім'я кінцевого тегу ідентично імені початкового, але перед ім'ям кінцевого тегу ставиться коса риса (/) (наприклад, для тегу стилю шрифту - курсив <I> закриваюча пара являє собою </I>, для тегу заголовка <ТIТLЕ> закриваючою парою буде </ТIТLЕ>). Кінцеві теги ніколи не містять атрибутів. За своїм значенням теги близькі до поняття дужок "begin/end" в універсальних мовах програмування, які задають області дії імен локальних змінних і т.п. Теги визначають область дії правил інтерпретації текстових документів.

При використанні вкладених елементів розмітки в документі слід дотримуватися особливої акуратності. Вкладені теги потрібно закривати, починаючи з останнього. Деякі елементи розмітки не мають кінцевого компонента, оскільки є автономними елементами. Наприклад, тег зображення <IMG>, що служить для вставки в документ графічного зображення, кінцевого компонента не вимагає. До автономних елементів розмітки також ставляться розрив рядка (<BR>), горизонтальна лінійка (<HR>) і теги, що містять таку інформацію про документ, що не впливає на його відображуваний уміст, наприклад, теги <META> й <BASE>.

У деяких випадках кінцеві теги в документі можна опускати. Більшість браузерів улаштована так, що при обробці тексту документа початковий тег сприймається як кінцевий тег попередні. Найпоширеніший тег такого типу - тег абзацу <Р>. Оскільки він використається в документі дуже часто, його звичайно ставлять тільки на початку кожного абзацу. Коли один абзац закінчується, що випливає тег <Р> сигналізує браузеру про те, що потрібно завершити даний абзац і почати наступний. Більшість авторів тегом кінця абзацу не користуються.

Є й інші кінцеві теги, без яких браузери відмінно працюють, наприклад, кінцевий тег </HTML>. Проте, рекомендується включати по можливості більше кінцевих тегів, щоб уникнути плутанини й помилок при відтворенні документа.

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

Загальна схема побудови контейнера у форматі HTML може бути записана в наступному виді:

"контейнер"=<"ім'я тегу" "список атрибутів">зміст контейнера</"ім'я тегу">

Слід зазначити, що в літературі крім терміна "контейнер" ще використається й термін "елемент". Варто бути уважним, щоб не плутати контейнер (наприклад, BODY) і тег (BODY), використовуваний при формуванні контейнера.

Крім тегів, елементами HTML є CER (Character Entity Reference), вони призначені для подання спеціальних символів у документі HTML, які можуть бути невірно оброблені браузером. Припустимо, створюється документ HTML, мова в якому йде про елементи даної мови. Якщо вказати ім'я тегу <BODY> просто в документі, браузер може сприйняти його як безпосередньо старт-тег. Для виводу таких символів і використається CER.

Наприклад, щоб представити символ "<" у документі HTML, потрібно замінити його на &lt;, а символ ">" - на &gt;. Тобто, якщо вказати в тексті HTML рядок &lt;BODY&gt;, вона буде виглядати на екрані як текст <BODY>.

Може виникнути питання: як бути із символами "</>", "&" і зі спеціальними символами, типу знака наголосу? Можна виводити їх, використовуючи відповідні CER, наприклад для "&" це буде &amp;, і т.д. легко виявити, якщо подивитися на структуру будь-якого документа HTML, оскільки кожний з них починається з амперсанду "&". На відміну від найменувань тегів HTML, найменування CER чутливі до регістра символів. Також найменування CER можуть задаватися не у вигляді імені, а за допомогою тризначних кодів символів у вигляді &#nnn;.


.1.4 Групи тегів НТМ

Всі теги НТМ по їхньому призначенню й області дії можна розділити на наступні основні групи:

·визначальну структуру документа;

·оформлення блоків гіпертексту (параграфи, списки, таблиці, картинки);

·гіпертекстові посилання й закладки;

·форми для організації діалогу;

·виклик програм.

Структура гіпертекстової мережі задається гіпертекстовими посиланнями. Гіпертекстове посилання - це адреса іншого HTML-документа або інформаційного ресурсу Internet, що тематично, логічно або яким-небудь іншим способом пов'язаний з документом, у якому посилання визначене.

Природно, за таких умов дуже важлива схема адресації всіх наявних інформаційних ресурсів.

Реальний механізм інтерпретації ідентифікатора ресурсу, що опирається на URI (Uniform Resource Identifier, універсальний ідентифікатор ресурсу), називається URL, і користувачі WWW мають справу саме з ним.

Типовим прикладом використання такого запису можна вважати

наступний приклад:

Цей текст містить:

<A HREF="#"justify">У наведеному вище прикладі тег "A", що в HTML називають якорем (anchor), використає атрибут HREF, що позначає гіпертекстове посилання (Hypertext Reference), для запису цього посилання у формі URL. Дане посилання вказує на документ із ім'ям "index.html" у каталозі "help" на сервері "www.intuit.ru", доступ до якого здійснюється по протоколі HTTP.

Гіпертекстові посилання в HTML діляться на два класи: контекстні гіпертекстові посилання й загальні. Контекстні посилання вмонтовані в тіло документа, як це було продемонстровано в попередньому прикладі, у те час як загальні посилання зв'язані з усім документом у цілому й можуть використатися при перегляді будь-якого фрагмента документа. Обидва класи посилань споконвічно присутні в стандарті мови, однак перший час найбільшою популярністю користувалися контекстні посилання. Ця популярність привела до того, що механізм використання загальних посилань практично повністю "атрофувався". У даному прикладі ми уклали URL у подвійні лапки. Насправді, це необов'язково. Лапки (подвійні або одинарні) застосовуються тільки тоді, коли усередині значення URL з'являються символи-роздільники (пробіл, табуляція, не відображувані символи). Але такого сорту URL варто всіляко уникати.

Структура HTML-документа дозволяє задіяти вкладені друг у друга контейнери. Властиво, сам документ - це один великий контейнер, що починається з тегу <HTML> і закінчується тегом </HTML>.

На закінчення відзначимо, що при підготовці документів HTML використається ідентифікатор тексту DTD (Document Type Definition, визначення типу документа) як перший рядок. Це дозволяє браузеру ідентифікувати документ як відповідному стандарту HTML.


.2 Мова Web-програмування PHP


.2.1 Основні відомості про РНР

Споконвічно абревіатура РПР означала Preprocessor of Home Pages - препроцесор домашніх сторінок. Це мова впроваджуваних в HTML-сторінки

сценаріїв, що виконують на сервері. По більшій частині його синтаксис запозичений з таких мов, як С, Perl, Java, і при цьому додана маса можливостей, яких цим мовам бракує. Простіше говорячи, синтаксис РНР - це розумна альтернатива й строгості С, і «безмежності» Perl.

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

Основними конкурентами РНР є технології JSP (Java Server Pages й Java Scriptlets), ASP (Active Server Pages), Perl, SSI (Server Side Includes), Cold Fusion Server Pages. Розглянемо ті недоліки, які властиві зазначеним технологіям. JSP - досить складний для вивчення й використання мова. ASP, заснований на синтаксисі VBScript (Visual Basic), має всього кілька десятків власних функцій і тому змушено використати Сомів-об'єкти; крім того, він орієнтований винятково на роботу під Windows. Perl - мова головоломний, і його вільності утрудняють його розуміння. SSI дозволяє всього лише компонувати HTML-сторінку з декількох файлів. CF - комерційний продукт, що є його основним недоліком.

Основні достоїнства РНР: безкоштовне; постійно вдосконалюється; працює на UNIX й Windows платформах; допускає роботу з більшістю СУБД; має широкий набір функцій (більше 3 тис.); допускає обєктно-орієнтоване програмування; здатне використати протоколи HTTP, FTP, SNMP, NNTP, POPS, net sockets 11 інших; дозволяє виконувати всі операції, що й перераховані його конкуренти, і навіть працювати з файлами графіки. Можна також запускати PHP-скрипти як інтерпретовані файли й компілювати, виконуючи програми, що (у тому числі з підтримкою графічного інтерфейсу GTK).

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

2.2.2 Історія PHP

Мова PHP був розроблений як інструмент для рішення чисто практичних завдань. Його творець, Расмус Лердорф, хотів знати, скільки чоловік читають його online-резюме, і написав для цього простеньку CGI-оболонку мовою Perl, тобто це був набір Perl-скриптів, призначених винятково для певної мети - збору статистики відвідувань.

Для довідки. CGI (Common Gateway Interface - загальний інтерфейс шлюзів) є стандартом, що призначений для створення серверних додатків, що працюють по протоколі HTTP. Такі додатки (їх називають шлюзами або CGI-програмами) запускаються сервером у режимі реального часу. Сервер передає запити користувача CGI-програмі, що їх обробляє й повертає результат своєї роботи на екран користувача. Таким чином, відвідувач одержує динамічну інформацію, що може змінюватися в результаті впливу різних факторів. Сам шлюз (скрипт CGI) може бути написаний на різних мовах програмування - C/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python й ін.

Незабаром з'ясувалося, що оболонка має невелику продуктивність, і довелося переписати її заново, але вже мовою С. Після цього вихідні коди були виложені на загальні огляди для виправлення помилок і доповнення. Користувачі сервера, де розташовувався сайт із першою версією PHP, зацікавилися інструментом, з'явилися бажаючі його використати. Так що незабаром PHP перетворився в самостійний проект, і на початку 1995 року вийшла перша відома версія продукту, що називалася Personal Home Page (засобу для персональної домашньої сторінки). Засоби ці були більш ніж скромними: аналізатор коду, що розуміє всього лише кілька спеціальних команд, і набір утиліт, корисних для створення гостьової книги, лічильника відвідувань, чату й т.п.

До середини 1995 року після ґрунтовної переробки з'явилася друга версія продукту, названа PHP/FI (Personal Home Page / Forms Interpreter - персональна домашня сторінка/ інтерпретатор форм). Вона включала набір базових можливостей сьогоднішнього PHP, можливість автоматично обробляти html-форми й вбудовуватися в HTML-коди. Синтаксис PHP/FI сильно нагадував синтаксис Perl, але був більше простим.

В 1997 вийшла друга версія C-реалізації PHP - PHP/FI 2.0. До того моменту PHP використали вже кілька тисяч чоловік по усім світі, приблизно з 50 тис. доменів, що становило близько 1% усього числа доменів Internet. Число розроблювачів PHP збільшилося до кількох людей, але, незважаючи на це, PHP/FI 2.0 усе ще залишався великим проектом однієї людини. Офіційно PHP/FI 2.0 вийшов тільки в листопаді 1997 року, проіснувавши до цього в основному в бета-версіях. Незабаром після виходу його замінили альфа-версії PHP 3.0.3.0 була першою версією, що нагадує PHP, яким ми знаємо його сьогодні. Він дуже сильно відрізнявся від PHP/FI 2.0 і з'явився знову ж як інструмент для рішення конкретного прикладного завдання. Його творці, Энди Гутманс (Andi Gutmans) і Зів Сураскі (Zeev Suraski), в 1997 році переписали заново код PHP/FI, оскільки він здався їм непридатним для розробки додатка електронної комерції, над яким вони працювали. Для того щоб одержати допомогу в реалізації проекту від розроблювачів PHP/FI, Гутманс і Сураскі вирішили об'єднатися з ними й оголосити PHP3 офіційним спадкоємцем PHP/FI. Після об'єднання розробка PHP/FI була повністю припинена.

Однієї із сильних сторін PHP 3.0 була можливість розширення ядра. Саме властивість розширюваності PHP 3.0 привернуло увагу безлічі розроблювачів, що бажають додати свій модуль розширення. Крім того, PHP 3.0 надавала широкі можливості для взаємодії з базами даних, різними протоколами й API. Немаловажним кроком до успіхів виявилася розробка нового, набагато могутнішого й повного синтаксису з підтримкою ООП. З моменту появи PHP 3.0 змінилася не тільки функціональність і внутрішній пристрій мови, але і його назва. В абревіатурі PHP більше не було згадування про персональне використання, PHP стало скороченням (рекурсивним акронімом) від PHP: Hypertext Preprocessor, що значить «PHP: препроцесор гіпертексту».

До кінця 1998 року число користувачів PHP зросло до десятків тисяч. Сотні тисяч Web-сайтів повідомляли про те, що вони працюють із використанням цієї мови. Майже на 10% серверів Internet був установлений PHP 3.0.

Офіційно PHP 3.0 вийшов у червні 1998 року, після 9 місяців публічного тестування. А вже до зими Энди Гутманс і Зів Сураскі почали переробку ядра PHP. У їхні завдання входило збільшення продуктивності роботи складних додатків і поліпшення модульованості коду, що лежить в основі PHP.

Нове ядро було названо «Zend Engine» (від імен творців: Zeev й Andi) і вперше представлено в середині 1999 року. PHP 4.0, заснований на цьому ядрі й набір, що приніс із собою, додаткових функцій, офіційно вийшов у травні 2000 року, майже через два роки після свого попередника, PHP 3.0. Крім поліпшення продуктивності, PHP 4.0 мав ще кілька ключових нововведень, таких як підтримка сесій, буферизація виводу, більше безпечні способи обробки інформації, що вводить користувачем, і кілька нових язикових конструкцій.

У цей час ведуться роботи з поліпшення Zend Engine і впровадженню нововведень в PHP 5.0, перші бета-версії якого вже вийшли у світло. Одне з істотних змін відбуло в об'єктній моделі мови, її ґрунтовно підлатали й додали багато нових можливостей.

Сьогодні PHP використається сотнями тисяч розроблювачів. Кілька мільйонів сайтів написані на PHP, що становить більше 20% доменів Internet.


.2.3 Можливості PHP

«PHP може всі», - заявляють його творці. У першу чергу PHP використається для створення скриптів, що працюють на стороні сервера, для цього його, властиво, і придумали. PHP здатний вирішувати ті ж завдання, що й будь-які інші CGI-скрипти, у тому числі обробляти дані html-форм, динамічно генерувати html сторінки й т.п. Але є й інші області, де може використатися PHP. Усього виділяють три основні області застосування PHP.

Перша область, як уже говорилося, - це створення додатків (скриптів), які виконуються на стороні сервера. PHP найбільше широко використається саме для створення такого роду скриптів. Для того щоб працювати таким чином, знадобиться PHP-парсер (тобто оброблювач PHP-скриптів) і Web-сервер для обробки скрипта, браузер для перегляду результатів роботи скрипту, ну, і, звичайно, який-небудь текстовий редактор для написання самого PHP-коду. Парсер PHP поширюється у вигляді CGI-програми або серверного модуля. Як установити його й Web-сервер на свій комп'ютер, ми розглянемо небагато пізніше. У цьому курсі ми будемо обговорювати, як правило, створення саме серверних додатків, як приклад використання мови PHP.

Друга область - це створення скриптів, що виконуються в командному рядку. Тобто за допомогою PHP можна створювати такі скрипти, які будуть виконуватися, поза залежністю від Web-сервера й браузера, на конкретній машині. Для такої роботи буде потрібно лише парсер PHP (у цьому випадку його називають інтерпретатором командного рядка (cli, command line interpreter)). Цей спосіб роботи підходить, наприклад, для скриптів, які повинні виконуватися регулярно за допомогою різних планувальників завдань або для рішення завдань простої обробки тексту.

І остання область - це створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. У принципі це не найкращий спосіб використати PHP, особливо для початківців, але якщо ви вже досконально вивчили PHP, те такі можливості мови можуть виявитися досить корисні. Для застосування PHP у цій області буде потрібно спеціальний інструмент - PHP-GTK, що є розширенням PHP.

Отже, область застосування PHP досить велика й різноманітна. Проте існує безліч інших мов програмування, здатних вирішувати схожі завдання. Чому варто вивчати PHP? Що це нам дає? По-перше, PHP дуже простий у вивченні. Досить ознайомитися лише з основними правилами синтаксису й принципами його роботи, і можна починати писати власні програми, причому братися за такі завдання, рішення яких на іншій мові вимагало б серйозної підготовки.

По-друге, PHP підтримується майже на всіх відомих платформах, майже у всіх операційних системах і на самих різних серверах. Це теж дуже важливо. Навряд чи комусь захочеться переходити, наприклад, від роботи під Windows до роботи під Linux або від сервера IIS до сервера Apache тільки для того, щоб вивчити ще одна мова програмування.

В PHP сполучаються дві самі популярні парадигми програмування - об'єктна й процедурна. В PHP4 більш повно підтримується процедурне програмування, але їсти можливість писати програми й в об'єктному стилі. Уже в перших пробних версіях PHP5 більшість недоліків у реалізації обєктно-орієнтованої моделі мови, що існують в PHP4, усунуті. Таким чином, можна вибрати найбільш звичний стиль роботи.

Якщо говорити про можливості сьогоднішнього PHP, то вони виходять далеко за рамки тих, що були реалізовані в його перших версіях. За допомогою PHP можна створювати зображення, PDF-файли, флеш-ролики, у нього включена підтримка великої кількості сучасних баз даних, убудовані функції для роботи з текстовими даними будь-яких форматів, включаючи XML, і функції для роботи з файловою системою. PHP підтримує взаємодія з різними сервісами за допомогою відповідних протоколів, таких як протокол управління доступом до директорій LDAP, протокол роботи з мережним устаткуванням SNMP, протоколи передачі повідомлень IMAP, NNTP й POP3, протокол передачі гіпертексту HTTP і т.д.

Звертаючи увагу на взаємодію між різними мовами, варто згадати про підтримці об'єктів Java і можливості їхнього використання як об'єкти PHP. Для доступу до вилучених об'єктів можна використати розширення CORBA.

Для роботи з текстовою інформацією PHP успадкував (з невеликими змінами) механізми роботи з регулярними вираженнями з мови Perl й UNIX-систем. Для обробки XML-документів можна використати як стандарти DOM й SAX, так й API для XSLT-трансформацій.

Для створення додатків електронної комерції існує ряд корисних функцій, таких як функції здійснення платежів Cybercash, CyberMUT, VeriSign Payflow Pro й CCVS.


.2.4 PHP-програма

Зараз ми хочемо більш докладно розглянути про те, що являє собою PHP-програма й чим вона відрізняється від програм на мовах C, Perl й JavaScript. Розглянемо приклад:


<html>

<head>

<title>Приклад</title>

</head>

<body>

<?PHP "<p>Привіт, я - скрипт PHP!</p>";

?>

</body>

</html>


Це простий HTML-файл, у який убудований за допомогою спеціальних тегів код, написаний мовою PHP.

Як ми вже відзначали вище, PHP схожі на C й Perl. Однак наведена тут програма сильно відрізняється від аналогічних за змістом програм на мовах C й Perl. Тут не потрібно писати купу спеціальних команд для виводу HTML. Пишеться безпосередньо HTML-скрипт, у який можна вбудовувати PHP-код, що здійснює які-небудь дії (наприклад, що виводить текст на екран, як у нашому прикладі). Недоліком PHP у порівнянні з C й Perl, незважаючи на всі зусилля розроблювачів, усе ще є недостатня швидкість виконання складних скриптів. скрипти - це програми, які виконуються й обробляються сервером. Так що порівнювати його зі скриптовими мовами типу JavaScript неможливо, тому що написані на них скрипти виконуються на машині клієнта. У чому відмінність скриптів, виконуваних на сервері й на клієнті? Якщо скрипт обробляється сервером, клієнтові посилають тільки результати роботи скрипту. Наприклад, якщо на сервері виконувався скрипт, подібний наведеному вище, клієнт одержить згенеровану HTML-сторінку виду:


<html>

<head>

<title>Приклад</title>

</head>

<body>

<p>Привіт, я - скрипт PHP!</p>

</body>

</html>


У цьому випадку клієнт не знає, який код виконується. Можна навіть зконфігурувати свій сервер таким чином, щоб HTML-файли оброблялися процесором PHP, так що клієнти навіть не зможуть довідатися, чи одержують вони звичайний HTML-файл або результат виконання скрипту. Якщо ж скрипт обробляється клієнтом (наприклад, це програма мовою JavaScript), то клієнт одержує сторінку, що містить код скрипту.

Ми відзначали вище, що PHP-скрипти вбудовуються в HTML-код. Виникає питання, яким образом? Є кілька способів. Один з них наведений у найпершому прикладі - за допомогою відкриваючого тегу <?PHP і закриваючого тегу ?>. Такого виду спеціальні теги дозволяють перемикатися між режимами HTML й PHP. Цей синтаксис найбільш кращий, оскільки дозволяє задіяти PHP в XML-сумісних програмах (наприклад, написаних мовою XHTML), але проте можна використати наступні альтернативні варіанти (команда echo "Some text"; виводить на екран текст «Some text».):


<? echo "Це найпростіша інструкція для обробки PHP"; ?>

<script language="PHP"> "Деякі редактори (FrontPage) предпочитають робити так";

</script>

< % echo "Можна використати теги у стилі ASP "; %>


Перший із цих способів не завжди доступний. Щоб ним користуватися, потрібно включити короткі теги або за допомогою функції short_tags() для PHP 3, або включивши установку short_open_tag у конфігураційному файлі PHP, або скомпілювавши PHP з параметром -іenable-short-tags. Навіть якщо це включено за замовчуванням в PHP.ini-dist, використання коротких тегів не рекомендується. Другий спосіб аналогічний вставці, наприклад, JavaScript-коду й використає для цього відповідний html тег. Тому використати його можна завжди, але це робиться рідко через його громіздкість. Третій спосіб можна застосувати, тільки якщо теги в стилі ASP були включені, використовуючи конфігураційну установку asp_tags.

Коли PHP обробляє файл, він просто передає його текст, поки не зустріне один з перерахованих спеціальних тегів, що повідомляє йому про необхідність почати інтерпретацію тексту як коду PHP. Потім він виконує весь знайдений код до закриваючого тегу, що говорить інтерпретаторові, що далі знову йде просто текст. Цей механізм дозволяє впроваджувати PHP-код в HTML - усе за межами тегів PHP залишається незмінним, тоді як усередині інтерпретується як код. Помітимо також, що PHP-файл не схожий на CGI-скрипт. PHP файл не повинен бути здійсненним або ще яким-небудь образом позначеним.

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


2.3. Система управління базами даних MySql


.3.1 Комп'ютерні системи зберігання

У наші дні люди часто говорять про бази даних. Комп'ютери становлять невід'ємну частину сучасного суспільства, тому нерідко можна почути фрази начебто "Я пошукаю твій запис у базі даних". І мова йде не про більші ящики, де зберігаються купи папок, а про комп'ютерні системи, призначених для прискореного пошуку інформації.

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

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

Не всі бази даних створюються на основі тих самих принципів, але традиційно в них застосовується ідея організації даних у вигляді записів. Кожен запис має фіксований набір полів. Записи містяться в таблиці, а сукупність таблиць формує базу даних.

Для роботи з базою даних необхідна СУБД (система управління базами даних), тобто програма, що бере на себе всі турботи, пов'язані з доступом до даних. Вона містить команди, що дозволяють створювати таблиці, вставляти в них запису, шукати й навіть видаляти записи.- це швидка, надійна, відкрито розповсюджувана СУБД. MySql, як і багато інші СУБД, функціонує по моделі "клієнт/сервер". Під цим мається на увазі мережна архітектура, у якій комп'ютери грають ролі клієнтів або серверів. На малюнку зображена схема передачі інформації між комп'ютером клієнта й жорстким диском сервера.


Рис. 2.1 Головне вікно середовища розробки


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

Така логічна модель даних. На жорсткому диску вся база даних може перебувати в одному файлі. В MySql для кожної бази даних створюється окремий каталог, а кожній таблиці відповідають три файли. В інших СУБД можуть використатися інші принципи фізичного зберігання даних.

Рядка таблиць можуть бути зв'язані один з одним із трьох способів. Найпростіше відношення - "один до одному". У цьому випадку рядок першої таблиці відповідає одному єдиному рядку другої таблиці. На діаграмах таке відношення виражається записом 1:1.

Відношення "один до багатьох" означає ситуацію, коли рядок однієї таблиці відповідає декільком рядкам іншої таблиці. Це найпоширеніший тип відносин. На діаграмах він виражається записом 1:N.

Нарешті, при відношенні "багато до багатьох" рядка першої таблиці можуть бути пов'язані з довільним числом рядків у другій таблиці. Таке відношення записується як N:M.


.3.2 СУБД

Програміст, що працює з базою даних, не піклується про те, як ці дані зберігаються, і додатка, взаємодіючі із СУБД, не знають про спосіб запису даних на диск. "Зовні" видний лише логічний образ даних, і це дозволяє міняти код СУБД, не торкаючись коду самих додатків.

Подібна обробка даних здійснюється за допомогою мови четвертого покоління (4GL), що підтримує запити, записувані й виконувані негайно. Дані швидко втрачають свою актуальність, тому швидкість доступу до них важлива. Крім того, програміст повинен мати можливість формулювати нові запити. Вони називаються нерегламентованими (ad hoc), оскільки не зберігаються в самій базі даних і служать вузькоспеціалізованим цілям.

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

Схема призначена для контролю цілісності даних. Якщо, приміром, оголошено, що поле містить цілочислені значення, то СУБД відмовиться записувати в нього числа із плаваючої коми або рядка. Відносини між записами теж чітко контролюються, і неузгоджені дані не допускаються. Операції можна групувати в транзакції, виконувані за принципом "всі або нічого".

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

СУБД підтримує паралельний доступ до бази даних. Додатки можуть звертатися до бази даних одночасно, що підвищує загальну продуктивність системи. Крім того, окремі операції можуть "розпаралелюватися" для ще більшого поліпшення продуктивності.

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


2.3.3 Системи управління файлами

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

Системи управління файлами не можна класифікувати як СУБД, тому що звичайно вони є частиною операційною систем і нічого не знають про внутрішній уміст файлів. Це знання закладене в прикладних програмах, що працюють із файлами. Як приклад можна привести таблицю користувачів UNIX, що зберігається у файлі /etc/passwd. Програми, що звертаються до цього файлу, знають, що в його першому полі перебуває ім'я користувача, що кінчається двокрапкою. Якщо додатку потрібно відредагувати цю інформацію, воно повинне безпосередньо відкрити файл і подбати про правильне форматування полів.

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

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

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

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


.3.4 Ієрархічні бази даних

Ієрархічні бази даних підтримують деревоподібну організацію інформації. Зв'язку між записами виражаються у вигляді відносин предок/нащадок, а в кожного запису є рівно один батьківський запис. Це допомагає підтримувати посилальну цілісність. Коли запис віддаляється з дерева, всі її нащадки також повинні бути вилучені.

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


Рис. 2.2 Головне вікно середовища розробки


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

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


2.3.5 Мережні бази даних

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

Випливаючи специфікації CODASYL, мережна модель підтримує DDL (Data Definition Language - мову визначення даних) і DML (Data Manipulation Language - мова обробки даних). Це спеціальні мови, призначені для визначення структури бази даних і складання запитів. Незважаючи на їхню наявність, програміст як і раніше повинен знати структуру бази даних.

У мережній моделі допускаються відносини "багато до багатьох ", а запису не залежать друг від друга. При видаленні запису віддаляються й всі її зв'язки, але не самі зв'язані записи.

У мережній моделі потрібно, щоб зв'язки встановлювалися між існуючими записами щоб уникнути дублювання й перекручування цілісності. Дані можна ізолювати у відповідних таблицях і зв'язати із записами в інших таблицях.

Програмістові не потрібно піклуватися про те, як організується фізичне зберігання даних на диску. Це послабляє залежність додатків і даних. Але в мережній моделі потрібно, щоб програміст пам'ятав структуру даних при формуванні запитів.

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


2.3.6 Реляційні бази даних

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

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

Кожен запис таблиці має однакову структуру. Наприклад, у таблиці, що містить опису автомобілів, у всіх записів буде той самий набір полів: виробник, модель, рік випуску, пробіг і т.д. Такі таблиці легко зображувати в графічному виді.

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

У реляційних СУБД застосовується мова SQL, що дозволяє формулювати довільні, нерегламентовані запити. Це мова четвертого покоління, тому будь-який користувач може швидко навчитися становити запити. До того ж, існує безліч додатків, що дозволяють будувати логічні схеми запитів у графічному виді. Все це відбувається за рахунок жорсткості вимог до продуктивності комп'ютерів. На щастя, сучасні обчислювальні потужності більш ніж адекватні.

Реляційні бази даних страждають від розходжень у реалізації мови SQL, хоча це й не проблема реляційної моделі. Кожна реляційна СУБД реалізує якась підмножина стандарту SQL плюс набір унікальних команд, що ускладнює завдання програмістам, що намагаються перейти від однієї СУБД до іншої. Доводиться робити нелегкий вибір між максимальної переносимістю й максимальною продуктивністю. У першому випадку потрібно дотримуватися мінімального загального набору команд, підтримуваних у кожної СУБД. У другому випадку програміст просто зосереджує на роботі в даної конкретної СУБД, використовуючи переваги її унікальних команд і функцій.


.3.7 Обєктно-орієнтовані бази даних

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

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

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

За допомогою ООБД вирішуються дві проблеми. По-перше, складні

інформаційні структури виражаються в них краще, ніж у реляційних базах даних, а по-друге, усувається необхідність транслювати дані з того формату, що підтримується в СУБД. Наприклад, у реляційної СУБД розмірність цілих чисел може становити 11 цифр, а у використовуваній мові програмування - 16. Програмістові прийде враховувати цю ситуацію.

Обєктно-орієнтовані СУБД виконують багато додаткових функцій. Це окупається сповна, якщо відносини між даними дуже складні. У такому випадку продуктивність ООБД виявляється вище, ніж у реляційних СУБД. Якщо ж дані менш складні, додаткові функції виявляються надлишковими. В об'єктній моделі даних підтримуються нерегламентовані запити, але мовою їхнього складання не обов'язково є SQL. Логічне подання даних може не відповідати реляційної моделі, тому застосування мови SQL стане безглуздим. Найчастіше зручніше обробляти об'єкти в пам'яті, виконуючи відповідні види пошуку.

Більшим недоліком обєктно-орієнтованих баз даних є їхній тісний зв'язок із застосовуваною мовою програмування. До даних, що зберігається в реляційної СУБД, можуть звертатися будь-які додатки, тоді як, приміром, Java-об'єкт, поміщений в ООБД, буде становити інтерес лише для додатків, написаних на Java.


.3.8 Обєктно-реляційні бази даних

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

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

Перебудова СУБД із метою включення в неї підтримки нового типу даних - не кращий вихід з положення. Замість цього обєктно-реляційна СУБД дозволяє завантажувати код, призначений для обробки "нетипових" даних. Таким чином, база даних зберігає свою табличну структуру, але спосіб обробки деяких полів таблиць визначається ззовні, тобто програмістом.

2.3.9 Основні характеристики MySql

Основними характеристиками MySql є:

·Клієнтська програма MySql являє собою утиліту командного рядка. Ця програма підключається до сервера по мережі. Команди, виконувані сервером, звичайно пов'язані із читанням і записом даних на жорсткому диску.

·Клієнтські програми можуть працювати не тільки в режимі командного рядка. Є й графічні клієнти, наприклад MySql GUI, PhpMyAdmin й ін. Але вони - тема окремого курсу.

·MySql взаємодіє з базою даних мовою, називаному SQL (Structured Query Language - мова структурованих запитів).

·SQL призначений для маніпуляції даними, які зберігаються в Системах управління реляційними базами даних (RDBMS). SQL має команди, за допомогою яких дані можна витягати, сортувати, обновляти, видаляти й додавати. Стандарти мови SQL визначає ANSI (American National Standards Institute). У цей час діє стандарт, прийнятий в 2003 році (SQL-3).

·SQL можна використати з такими RDBMS як MySql, mSQL, PostgreSQL, Oracle, Microsoft SQL Server, Access, Sybase, Ingres. Ці системи RDBMS підтримують всі важливі й загальноприйняті оператори SQL, однак кожна з них має безліч своїх власних патентованих операторів і розширень.

·SQL є загальною мовою запитів для декількох баз даних різних типів. Даний курс розглядає систему MySql, що є RDBMS c відкритим вихідним кодом, доступної для завантаження на сайті MySql.com.

·MySql - це система управління реляційними базами даних.

У реляційній базі, дані зберігаються в окремих таблицях, завдяки чому досягається виграш у швидкості й гнучкості. Таблиці зв'язуються між собою за допомогою відносин, завдяки чому забезпечується можливість поєднувати при виконанні запиту дані з декількох таблиць. SQL як частина системи MySql можна охарактеризувати як мова структурованих запитів плюс найпоширеніша стандартна мова, використовувана для доступу до баз даних.

Програмне забезпечення MySql - це ПЗ з відкритим кодом.

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

Технічні можливості СУБД MySql:

ПЗ MySql є системою клієнт-сервер, що містить багагопоточний SQL-сервер, що забезпечує підтримку різних обчислювальних машин баз даних, а також кілька різних клієнтських програм і бібліотек, засобу адміністрування й широкий спектр програмних інтерфейсів (API).

Безпека:

Система безпеки заснована на привілеях і паролях з можливістю верифікації з вилученого комп'ютера, за рахунок чого забезпечується гнучкість і безпека. Паролі при передачі по мережі при з'єднанні із сервером шифруються. Клієнти можуть з'єднуватися з MySql, використовуючи сокети TCP/IP, сокети Unix або іменовані канали (named pipes, під NT)

Місткість даних:

Як можна бачити, розмір таблиці в базі даних MySql звичайно лімітується операційною системою. За замовчуванням MySql-таблиці мають максимальний розмір близько 4 Гб. Для будь-якої таблиці можна перевірити/визначити її максимальний розмір за допомогою команд SHOW TABLE STATUS або myisamchk -dv table_name. Якщо більша таблиця призначена тільки для читання, можна скористатися myisampack, щоб злити кілька таблиць в одну й стиснути неї. Звичайно myisampack зжимає таблицю принаймні на 50%, тому в результаті можна одержати дуже більші таблиці.


.4 JavaScript

є мовою сценаріїв (скриптів), який застосовують в основному для створення на Web-Сторінках інтерактивних елементів. Його можна використовувати для побудови меню, перевірки правильності заповнення форм, зміни зображень або для чогось ще, що можна зробити на Web-Сторінці. Якщо глянути на Google Maps або службу Gmail компанії Google, то можна зрозуміти, на що здатний сьогодні мова Javascript.

Тому що Javascript є в цей час єдиною мовою сценаріїв, яку підтримують усі основні браузери Web (Internet Explorer, Firefox, Netscape, Safari, Opera, Camino і т.д.), те він використовується дуже широко.

Код Javascript звичайно виконується Web-браузером клієнта, і в цьому випадку він називається сценарієм на стороні клієнта. Але код Javascript можна виконувати також на Web-сервері для формування документів HTML,

втілюючи тим самим сценарій на стороні сервера. Хоча використання Javascript звичайно обмежується сценаріями на стороні клієнта, він є також дуже потужною серверною мовою.

При створенні коду Javascript потрібно фактично тільки текстовий редактор і Web-браузер. Знання HTML і CSS буде відіграти виразно позитивну роль, і якщо ви захочете використовувати навички Javascript на Web-сайті, то знадобиться також Web-сайт. Якщо у вас уже є Web-сайт, то відмінно! Якщо ні, то існує безліч безкоштовних серверів, які можна використовувати для розміщення своїх сторінок.

Що стосується текстового редактора, то в Windows є редактор Notepad. Хоча цього буде досить для редагування Javascript, HTML і CSS, могутніший редактор, такий, наприклад, як Editplus або іншої, може виявитися більш зручним.


.4.1 Можливості мови

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

Незважаючи на схожий із С синтаксис, Javascript у порівнянні з мовою С має корінні відмінності:

·об'єкти, з можливістю інтроспекції;

·функції як об'єкти першого класу;

·автоматичне приведення типів;

·автоматичне складання сміття;

·анонімні функції.

У мові відсутні такі корисні речі, як:

·модульна система: Javascript не надає можливості управляти залежностями й ізоляцією областей видимості;

·стандартна бібліотека: зокрема, відсутній інтерфейс програмування додатків по роботі з файловою системою, керуванню потоками введення/виводу, базових типів для бінарних даних;

·стандартні інтерфейси до Web-серверів і базам даних;

·система управління пакетами, яка б відслідковувала залежності й автоматично встановлювала їх.


2.4.2 Семантика і синтаксис

Синтаксис мови Javascript багато в чому нагадує синтаксис С й Java, семантично ж мова набагато ближче до Self, Smalltalk або навіть Ліспу.

В Javascript:

·усі ідентифікатори регістрозалежні,

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

·назви змінних не можуть починатися із цифри,

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

Структура мови

·Структурно Javascript можна представити у вигляді об'єднання трьох чітко помітних друг від друга частин:

·ядро (Ecmascript),

·об'єктна модель браузера (Browser Object Model або BOM (de)),

·об'єктна модель документа (Document Object Model або DOM).

Якщо розглядати Javascript у відмінні від браузера оточеннях, то об'єктна модель браузера й об'єктна модель документа можуть не підтримуватися.

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

Ядроне є браузерним мовою й насправді в ньому не визначаються методи введення й виводу інформації[25]. Це скоріше основа для побудови скриптових мов. Специфікація Ecmascript описує типи даних, інструкції, ключові й зарезервовані слова, оператори, об'єкти, регулярні вираження, не обмежуючи авторів похідних мов у розширенні їх новими складовими.

Об'єктна модель браузера

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

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

·управління фреймами,

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

·системні діалоги,

·управління адресою відкритої сторінки,

·управління інформацією про браузер,

·управління інформацією про параметри монітора,

·обмежене управління історією перегляду сторінок,

·підтримка роботи з HTTP cookie.

Об'єктна модель документу

Об'єктна модель документа - інтерфейс програмування додатків для HTML і Xml-Документів. Згідно DOM документу можна поставити у відповідність дерево об'єктів, що володіють рядом властивостей, які дозволяють робити з ним різні маніпуляції:

·одержання вузлів,

·зміна вузлів,

·зміна зв'язків між вузлами,

·видалення вузлів.


.4.3 Безпека

Javascript дозволяє потенційним авторам шкідливого коду запускати його на будь-якому комп'ютері мережі: для цього досить відкрити на ньому Web-сторінку. Це обумовлює наявність двох принципових обмежень:

·Javascript-Програми виконуються в пісочниці, у якій вони можуть виконувати тільки обмежене коло дій, а не завдання програмування загального призначення (наприклад, створення файлів, робота із сонетами),

·для Javascript-Коду застосовується політика загального походження, відповідно до якої скрипт, вбудований у сторінку, не може одержати доступ до ряду властивостей об'єктів іншої сторінки ( зокрема, до більшості властивостей об'єкта document) при відмінності в протоколі, хості й номері порту цих сторінок.

Крім цього, розроблювачі браузерів вносять додаткові обмеження у відповідь на, що мають місце зловживання. Так з'явився, зокрема, заборону на відкриття вікна, розмір однієї сторони якого менше ста пікселів.

Міжсайтові уразливості

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

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

Іншим типом міжсайтові уразливості є підробка міжсайтових запитів або CSRF. Вона полягає в можливості сайту зловмисника змусити браузер користувача здійснити небажана дія на цільовому сайті (наприклад, банківське переведення грошей). Така можливість є, якщо цільовий сайт покладається тільки на HTTP cookie або запити авторизації. У цьому випадку запити, ініціалізовані кодом сайту зловмисника виконуються так само як запити користувача, якщо він авторизований на цільовому сайті. Одним із засобів захисту від CSRF є здійснення аутентифікації при будь-якому запиті, який приводить до необоротних наслідків. Також може допомогти аналіз HTTP referer.

Недоречна довіра на стороні клієнта

Розроблювачі клієнтських додатків, незалежно від того, використовують вони Javascript чи ні, повинні усвідомлювати, що останні можуть перебувати під контролем зловмисників. Тому будь-яка перевірка на стороні клієнта може бути обійдена, Javascript може бути як запущений, так і немає. Код, що піддався обфускації може стати об'єктом зворотної розробки; дані форми можуть бути послані на сервер, минаючи валідацію, здійснювану за допомогою Javascript; скрипти можуть бути відключені частково, тому, наприклад, надійний захист від збереження зображень за допомогою Javascript здійснити не можна; надзвичайно необачно впроваджувати пароль в Javascript, що виконується на клієнтові, де він може бути знайдений зловмисником.

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

Подібні помилки виявлялися в часто використовуваних браузерів, включаючи Mozilla Firefox, Internet Explorer, Safari. При виявленні потенційно небезпечних помилок у браузері й наявності відомостей про реалізовані експлойтів фірма-виробник і експерти по безпеці рекомендують відключати Javascript до виходу патчу.

Плагіни, такі як плеєри, Macromedia Flash і ряд Activex компонент, доступних за замовчуванням в Internet Explorer, можуть також містити помилки, експлуатовані за допомогою Javascript, що вже траплялося раніше.

Розширення Mozilla Firefox не ізольовані друг від друга: одне розширення може виправляти інше, що може використовуватися зловмисниками. На конференції Securitybyte & Owasp Appsec Asia 2009 Роберто Саггі Ліверані (Roberto Suggi Liverani) and Ник Фрімен (Nick Freeman) продемонстрували три эксплойти у популярних розширеннях Firefox, завантажені із сайту більш 30 мільйонів раз.

Помилки реалізації пісочниці

Браузери можуть запускати Javascript поза пісочницею із привілеями, необхідними для створення й видалення файлів, наприклад. Однак такі привілеї не повинні даватися коду з Web.

Неправильне наділення привілеями Javascript з Web служило причиною уразливостей як Internet Explorer, так і Mozilla Firefox.Windows дозволяє файлам з кодом Javascript запускатися як звичайним програмам без того, щоб бути поміщеними в пісочницю. Це уможливлює створення троянських програм.


3. Порівняльний аналіз переваг мови програмування PHP І СУБД MYSQL


3.1 Порівняльний аналіз PHP і ASP. Переваги PHP

Server Pages (ASP) - технологія Microsoft для відображення динамічних Web сторінок. ASP підтримують багато мов; найпоширеніший - Vbscript. PHP є альтернативою з відкритою архітектурою для багатьох операційних систем, включаючи Linux і Windows.

Наведу вісім причин, чому для розробки ГІС була обрана мова програмування PHP:

. Швидкість

Після першого запуску РНР скрипту, очевидна величезна швидкість виконання. Був використовував повільний комп'ютер із процесором 166 Mhz, тому при роботі з PHP є можливість працювати й на самих старих комп'ютерах. можливо ніколи не буде так само швидкий, як PHP. ASP побудований на базі COM архітектури. Коли програміст на ASP використовує Vbscript, він запускає COM об'єкт. Коли він пише додатку-клієнтові, він викликає метод Write Com-об'єкта Response. При доступі в базу даних, він використовує інший Com-об'єкт. Для доступу у файлову систему, викликається інший Com-об'єкт. Уся ця Com-Навантаження додається й сповільнює роботу.

У модулях PHP, усе запускається в області пам'яті PHP. Це означає, що код PHP буде виконуватися швидше, тому що немає витрат на зв'язок з різними Com-об'єктами в різних процесах.

Наступний тест продуктивності, де 40 раз виконується оператор Select на Microsoft SQL Server 7, з використанням розширення MSSQL7, Odbc-Розширення для РНР і COM, покаже те, що є через: PHP звертається до MSSQL7 ( чим менше значення, тем краще) - розширення РНР 01.88 сек. - розширення РНР09.54 сек.через COM (ADO)17.28 сек.через COM06.19 сек.

При звертанні до бази Odbc-Розширення РНР, час запиту склав 9.54 секунд. Використовуючи COM інтерфейс для з'єднання з ODBC з'являються витрати в 80% (17.28 сек). - сама високошвидкісна Сом-Технологія Microsoft для доступу в бази даних. Вона швидше ODBC, однак при використанні розширення PHP для MSSQL ми маємо 200% приріст продуктивності.

Звичайно є якийсь ризик того, що катастрофа модуля PHP може подіяти на багато сторінок Web-сайту. Однак треба пам'ятати, що високошвидкісний движок Zend тільки почав розвиватися.

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

. Чудова робота з пам'яттю

У моделі ASP(в IIS 4), якщо Asp-Файл header.asp включений в 20 сторінок, тоді в пам'яті втримуються 20 скомпільованих копій header.asp . IIS 5 застосовує поліпшену модель для роботи з пам'яттю, але тільки користувачі Windows 2000 перейти на цю версію через несумісність із IIS 4, і Windows NT 4.0 не може працювати з IIS 5.Це означає, що багато Web сервера як і раніше будуть використовувати гіршу модель для роботи з пам'яттю. PHP завантажує тільки необхідні include файли.

. Відсутність схованих витрат

Коли виникає нестаток шифрування в ASP - доводиться купувати Aspencrypt. Потрібна робота з поштою - купуйте Serverobject Qmail. Потрібна накачування файлів на сервер - купуйте Software Artisans Sa-fileup. В PHP усе це вбудоване й до того ж безкоштовно.

. Інтеграція з MySql

Інтеграція PHP з MySql просто чудова. Існує безліч утиліт на PHP для роботи з базами даних MySql. Набір властивостей найбільш повний у порівнянні з іншими базами даних. і PHP є дуже гарними розв'язками для Web-сайтів середнього рівня. Що виділяє PHP так це тісна інтеграція з MySql, яка також настроєна для Web-сайтів подібного рівня, де навантаження при вибірці й накачуванню даних важливіше підтримки транзакцій. Підтримка транзакцій дозволяє програмістові синхронізувати зміна декількох таблиць, те, що зовсім не потрібно для більшості Web-сайтів.

Для порівняння Microsoft Access набагато повільніше чому MySql. SQL Server 7 і Oracle також швидкі, але коштують набагато дорожче.

Багато експертів по базах даних говорять наскільки нерозумно порівнювати MySql з Oracle і іншими високопродуктивними базами. Це йде від базового нерозуміння принципів функціонування більшості Web-сайтів. Багато Web-сайтів обслуговують тисячі сторінок у день, але здійснюють мало змін даних. І типовою транзакцією є разова зміна таблиці користувачів або повідомлень форуму. У такий спосіб база даних зі швидкими SELECT і гарними INSERT і UPDATE як в MySql, є оптимальним розв'язком для це середовища.

. Близькість до Java/C++ стилю програмування

Переваги даного твердження є всього лише моєю думкою. Я згодний, що ви не переконаєте програміста Visual Basic перейти на PHP тільки через подібність зі стилем мов C або Java. Але можна переконати аматора C++ або Java, що PHP краще й легше для вивчення, чому Vbscript. також має непогану підтримку для модульного програмування в класах. Використання класів як і раніше рідко в Vbscript внаслідок його важкої спадщини. Споріднення PHP з Java і C++ забезпечує більша кількість програмістів, що постійно використовують класи.

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

Тому що ASP має закритий вихідний код, то при виявленні якоїсь помилки прийде писати в Microsoft із проханням виправити помилку.

В PHP, навіть якщо у вас немає рівня знань для виправлення помилки, те виразно можна знайти експертів. Серйозних помилок PHP немає.

. Стратегія міжплатформеної міграціїпортований практично під усі розповсюджені операційні системи, у той час як ASP.NET орієнтований на Windows, і те не всяку, а тільки 2000/XP/Vista/Seven. Тобто не потрібно турбуватися, яка операційна система стоїть на сервері використовуваного клієнта.

Немає надмірної прив'язки до операційної системи. Навіть під Windows PHP може встановлюватися простим копіюванням, не записуючи нічого до багатостраждального реєстру, не вимагаючи створення спеціальних груп користувачів і т.п. Після переустановки операційної системи Вам не буде потрібно довго «піднімати» PHP і проекти, по них написані. Скажемо, в Windows розумно встановити Apache, PHP і MySql на не-системному диску. Навіть після форматування системного розділу (C:) і установки Windows заново нам знадобиться не більш трьох хвилин для відновлення: знову інсталювати Apache як службу (командою apache -k install) і відновити список віртуальних хостів (файл %System32%/drivers/etc/hosts). І все, інцидент вичерпаний...

Прозора прив'язка проекту до файлової системи. І як наслідок - немає необхідності в спеціальних засобах розробки (начебто Visual Studio). Іншими словами, в PHP-проекті немає конструкцій, для візуалізації й редагування яких був потрібний би особливий редактор.

. Простота переходу на інші версії

Перехід PHP проекту на нову версію PHP можливий або взагалі без змін (саме цим мені запам'ятався перехід з PHP 4.x на PHP 5.x), або з мінімальними доробками, зв'язаними, як правило, зі змінами настроювань за замовчуванням (не буду довго зупинятися на тому, що покладатися на настроювання за замовчуванням - дурний тон у програмуванні). А випадку з ASP.NET (див. статтю англійською мовою про перехід з ASP.NET 1.0 на ASP.NET 2.0) ми бачимо, що проект треба повністю переробити.

Інші середовища розробки від Microsoft також створюють багато незручностей при переході проекту на нову версію. Наприклад, недавно MS Access перестав підтримувати Odbcdirect, що створило безліч незручностей для тих, хто програмував на ньому. З MySql таких незручностей ніколи не було, і сподіваюся не буде.

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

3.2 Порівняння MySql і PostgreSql з погляду розроблювача

У дослідженні представлений порівняльний аналіз двох безкоштовні вільні систем управління базами даних (СУБД): MySql і PostgreSql. Аналіз ведеться з погляду використання цих СУБД у мало й середньонавантажених проектах. Не розглядаються питання масштабування й оптимізації під проекти з багатомільйонними аудиторіями. Не приводяться дані порівняння продуктивності. Розглядаються MySql 5.1 і PostgreSql 8.3.

Типи даних

Перше із чим доводиться зустрічатися розроблювачеві - це доступні типи даних. Проведемо порівняння доступних типів даних.

Цілі числа й числа із плаваючою крапкою

Я не буду вказувати діапазони можливих значень, однак укажу інформаційну ємність у байтах.

Рис. 3.1 Інформаційна ємність у байтах


Примітка:

) В MySql є підтримка UNSIGNED типів, однак це не входить у стандарт SQL.

) Для типів із плаваючою крапкою PostgreSql використовує формат стандарту IEEE 754, тому можна зберігати значення +Inf, -Inf і Nan, однак використовувати ці значення в математичних операціях не вийде.

Як видне з таблиці, типи даних практично ідентичні для двох СУБД. Відмінності полягають у тому, що MySql дозволяє більш детально використовувати доступну пам'ять, але при цьому робота із числами в символьній виставі обмежено 65 цифрами. Я не бачу жодного практичного застосування числам з такою кількістю знаків, тому можна вважати що можливості MySql і PostgreSql у даному розділі ідентичні.

Рядки й дані

Розміри вказуються в байтах. Не забувайте, що для одного символу UTF-8 може використовуватися від 1 до 4 байт.


Рис. 3.1 Ємність рядків у байтах

* обмеження викликане максимальною довжиною рядка, рівної 65535 байтам, але в реальності максимальна довга набагато менше.

З таблиці видне, що по ємності строкові типи даних у дві СУБД практично не різняться, і знову MySql дозволяє більш детально контролювати формат зберігання даних на жорсткому диску. Однак ця гнучкість MySql уводить дві невеликі проблеми на етапі проектування: сум'яття в типах і розмірах даних.

Щоб не бути голослівним приведу приклад - зберігання даних користувача. Припустимо, що нам треба було зберігати про користувача не тільки його ім'я, прізвище й по батькові, але адреса й телефони, так чи мало що ми можемо запропонувати зберігати користувачеві у своєму профілі. З погляду SQL для цього повинні використовуватися типи CHAR і VARCHAR. І от отут в MySql доводиться вирішувати яка максимальна довга в прізвища, яке максимальне довге в імені, яка максимальна довга в адреси, тому що на все про все дано 65535 байт. У той же час в PostgreSql ми просто вказуємо в якості типу для всіх стовпців таблиці VARCHAR, куди ми якщо буде потреба можемо укласти набагато більше даних, чому нам дозволяє MySql. (Попрошу не пропонувати використовувати TEXT в MySql для цих цілей.)

Дата й час

Типи дати й часу для двох баз практично ідентичні й проблем як правило не викликають.

Нестандартні типи

Для бажаючих PostgreSql пропонує цілу групу типів даних для роботи, які геть-чисто відсутні в MySql: масиви, структури, типи для зберігання IP і MAC адрес, і навіть типи для зберігання параметрів геометричних фігур. Бажаючі можуть самостійно ознайомитися з типами даних PostgreSql.

Виводи по типах даних

) Типи даних, пропоновані двома СУБД, з функціональної точки зору ідентичні.

) За допомогою цих типів можна зберігати дані в кожній із СУБД, однак в MySql розроблювач змушений на самому початковому етапі проектування штучно обмежувати довжину строкових даних, що не позначається позитивно на зручності користування системою.

) Використання нестандартних типів в PostgreSql дозволяє досить сильно спростити розробку, однак ускладнить перехід на іншу СУБД.

) MySql дозволяє точно контролювати структуру збережених даних, однак при цьому жертвується зручністю розроблювача.

Можливості управління даними

Тут я прагну зрівняти дві СУБД із погляду додаткового функціонала пропонованого розроблювачеві. Частина цього функціонала включена в стандарт SQL.

Збережені процедури

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

Індекси й ключі

На цьому фронті MySql теж не блищить своїми можливостями. Обмеження в 1000 байт на розмір ключа - куди це годиться? Допустимо, я дозволяю своїм користувачам створювати облікові записи на будь-якій мові (UTF-8). У якості максимальної довгі логіна я вибираю 512 символів. Тому що логіни повинні бути унікальними, доходжу висновку, що потрібно накласти унікальний ключ на стовпець, і, як з'ясовується, не можу, тому що ключ не вписується в 1000 байт. Доводиться йти на поступки й робити унікальність тільки по перших 333 символах. Хто не вірить, може самостійно подивитися на результат create table t( t varchar(512), key(t)) character set = utf8.такими комплексами не страждає, а просто робить унікальний ключ необхідного розміру.

Перевірка даних на етапі додавання

У стандарті SQL була передбачена інструкція CHECK, яка задає вираження, якому повинні задовольняти дані, що додаються в таблицю. У керівництві MySql про цю інструкцію сказане гранично просто «The CHECK clause is parsed but ignored by all storage engines.»

Транзакції й зовнішні ключі

За замовчуванням в MySql для таблиць використовується движок Myisam, який не підтримує ні транзакцій ні зовнішніх ключів. Це зложилося історично й у такого підходу є виправдання, якщо розглядати роботу із БД із крапки продуктивності. Можна просто помітити, що, якщо вам потрібні транзакції й зовнішні ключі, то використання storage engine Innodb обов'язково. Природно в PostgreSql транзакції й весняні ключі повністю функціональні.


Виводи

і PostgreSql - це системи управління базами даних, перед якими коштують різні завдання й варто чітко розуміти, у чому їх різниця. У якості практичних рекомендацій можу сказати, що MySql показує своя перевага в області Highload, однак вимагає більш уважного підходу з боку розроблювача. Взагалі, для проектів не орієнтованих на багатомільйонну відвідуваність, а також в академічних цілях я рекомендується використовувати PostgreSql. Це дозволить сильно спростити розробку й налагодження додатків. У випадку ж нашої розробки MySql показує своя перевага на базах даних з більшою кількістю простих однотабличних запитів і більшим розміром бази.


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


4.1 Функціональне призначення та технологічні особливості розробки


Розроблена система призначена для автоматизації процесу пропускного пункту підприємства. Співробітники підприємства при проходженні через пропускний пункт, для одержання доступу повинні будуть увести свій ідентифікаційний номер і пароль вручну із клавіатури або ж за допомогою магнітної карти. Співробітники, що використовують транспорт, повинні будуть крім номера й пароля ввести номер авто й, при наявності вантажу, усі різновиди перевезених товарів і їх кількість. Дані про співробітників, що пройшли через КПП автоматично будуть заноситься в БД, а так само буде заноситься час. І потім користувач, що має права адміністратора зможе за допомогою Інтернет скористатися з можливості переглянути ці дані з будь-якої крапки планети, або ж зробити якісь зміни в системі.

Основні можливості проектованої нами системи наступні:

·Система пропускає співробітників лише при введенні правильного ідентифікаційного номера й пароля.

·Автоматичний облік співробітників минулих через КПП.

·Надання списку спізнілих співробітників, або тих, хто пішов завчасно.

·Вилучений контроль ГІС при наявності прав адміністратора.

·Вилучений перегляд звітів.


2 Структура частини зі сторонни користувача:

Рис. 4.1 Схема структури частини зі сторони користувача


Співробітник уводить унікальний ідентифікаційний номер і пароль.

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

Якщо співробітник з таким номером існує, то з таблиці зі списком працівників виноситься цілий рядок, що містить номер, пароль, ім'я, посаду, компанію, і повертає цей рядок у назад у код. Якщо ж співробітник з таким номером не знайде, то видається помилка й відбувається повернення назад до полів уведення.

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

Співробітники, що в'їжджають на підприємство в транспорті, на додаток до номера й паролю вводять ще й номер машини, або номер машини й дані про перевезений вантаж.


4.3 Установка локального серверу XAMPP


Для перевірки працездатності нашої ГІС, написаної мовою Web-програмування необхідно встановити локальний HTTP сервер. Я вибрав XAMPP, це дуже потужний сервер з усіма необхідними функціями й простою установкою.

Ідемо на сайт XAMPP і завантажуємо останню версію для Windows на цій сторінці - <#"justify">

Рис. 4.2 Вибір мови


Бажане встановлювати сервер у каталог за замовчуванням, тобто в "C:\xampp", але можна вибрати й будь-який іншої, я використовую для цього "C:\server".


Рис. 4.3 Вибір шляху


Знімаємо всі галочки на екрані вибору настроювань установки. Нема рації встановлювати Apache і MySql у якості сервісів, тому що ми не плануємо постійно тримати відкритим сайт у локальній мережі, сервер нам потрібно лише для перевірки працездатності коду під час написання програми.


Рис. 4.4 Вибір сервісів


Дочекалися кінця установки, тиснемо на кнопку "Finish". Тепер відкриваємо Провідник і йдемо в папку "C:\server", бачимо там файл xampp-control.exe, запускаємо його.


Рис. 4.5 Контрольна панель XAMPP


За допомогою кнопок Start запускаємо Http-Сервер Apache і СУБД MySql.


Рис. 4.6 Запуск сервісів


Сервер запущений. Створимо за адресою C:\server\htdocs\ необхідну нам папку, у якій буде втримуються проектована ГІС, наприклад propusk. Тепер ми можемо перевіряти наші результати через будь-який браузер, просто набравши в адресному рядку <#"justify">4.4 Опис інтерфейсу програми зі сторони користувача.


Рис. 4.7 Головна сторінка користувача


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


Рис. 4.8 Поля для введення при в'їзді на легковому автомобілі


Рис. 4.9 Поля для введення при в'їзді на вантажному автомобілі


Рис. 4.10 Спливаючі підказки


При натисканні на поле введення, спливе підказка з необхідною інформацією для правильного введення.


Рис. 4.11 Доступ отриманий


При правильному введенні номеру і паролю, робітник одержує доступ і сповіщається системою.


Рис. 4.12 Уводимо кількість різновидів товарів


Ввівши у поле «Количество товаров» значення чотири, у наступній сторінці згенеруються чотири поля, які співробітник повинен заповнити.


Рис. 4.13 Заповнення списку товарів

4.5 Опис інтерфейсу панелі адміністратора


Для того, щоб потрапити в адміністраторську панель, необхідно дописати в адресному рядку слово admin та нажати клавішу Enter.

Рис. 4.14 Перехід в адміністраторську частину


Після того, як ми перейшли по даній адресі (рис. 4.14), отримуємо вікно з полями введення імені та паролю адміністратора, і при правильнім введенні одержуємо доступ в панель управління адміністратора (рис. 4.16).


Рис. 4.15 Введення імені та паролю


Рис. 4.16 Панель управління адміністратора

Рис. 4.17 Додавання новини


Дана новина відображається на сторінці користувача.

Рис. 4.18 Видалення новин


Рис. 4.19 Список робітників

Праворуч кожного запису є дві кнопки, одна для редагування запису, інша для її видалення.

автоматизація пропуск web програма

Рис. 4.20 Редагування даних про працівника


Рис. 4.21 Додавання даних нового працівника


Рис. 4.22 Список товарів (додавання / видалення)


Рис. 4.23 Список мір товарів (додавання / видалення)


Рис. 4.24 Архів КПП


Тут відбувається вибір таблиці по якій буде відбуватися пошук. Усього існує 6 таблиць:

·Піші робітники (вхід)

·На машині без вантажу (вхід)

·На машині з вантажем (вхід)

·Піші робітники (вихід)

·На машині без вантажу (вихід)

·На машині з вантажем (вихід)

Так само можливе сортування за різними критеріями:

·Рік

·Місяць

·День

·

Рис. 4.25 Число рядків на сторінку, виведених у списку архіву КПП


Рис. 4.26 Список IP-Адресів, що мають доступ до адміністраторської панелі


Є аналогічне меню для створення списку адрес, що мають доступ до користувацької частини системи.


Рис. 4.27 Редагування напису на «шапці» користувацької частини програми


Рис. 4.28 Редагування напису на нижній панелі інтерфейсу користувача

Рис. 4.29 Зміна логіна й пароля адміністратора


Рис. 4.30 Кінець сесії адміністратора


4.6 Програмна реалізація проектованої системи


Розроблена система була реалізована за допомогою високорівневої мови програмування PHP, яка є абсолютно безкоштовною й доступна для вільного завантаження.

Нижче наведений програмний код користувацької частини системи:


<?PHP ("blocks/header.PHP

?>

<table border="0">

<tr>

<td width="230" valign="top">

<?PHP ($id==1)

{("blocks/left1.PHP

}($id==2)

{("blocks/left2.PHP

} ($id==3 or $id==false)

{("blocks/left3.PHP

}

?>

</td>


У головному файлі index.PHP ця частина коду формує інтерфейс головної сторінки. Імпортується «шапка» сайту з файлу header.PHP, а так само формується ліва панель із трьома кнопками, залежно від того, яка з них була натиснута. Якщо не було натиснуто ні однієї кнопки, то автоматично створюється панель із натиснутою кнопкою перевезення вантажу.


<?PHP ("db.PHP");

$result = mysql_query("SELECT * FROM caps",$db);(!$result)

{"<p>помилки:</strong></p>";

exit(mysql_error());

}(mysql_num_rows($result) == 0)

{"<p>

}

$myrow = mysql_fetch_array($result);

?>

<table width="1024" height="171" border="0" background="img/head.jpg">

<tr>

<td align="center" valign="middle"><?PHP echo "<div>

</tr>

</table>


Даний код утримується у файлі header.PHP, який імпортувався попереднім кодом при формуванні головної сторінки програми. Відбувається підключення до БД, і зі спеціальної таблиці виносяться написи на даній «шапці», а так само встановлюється розмір «шапки» і малюнок на задньому тлі.


<table width="230" border="0" align="left" background="img/img3.jpg">

<tr>

<td height="50" width="186px" align="left"><div>

<td>&nbsp;</td>

</tr>

<tr>

<td >

<a href="?id=1" target="_self"><img src="img/6.png"/></a>

</td>

<td><img src="img/arrow.png"/></td>

</tr>

<tr>

<td >

<a href="?id=2" target="_self"><img>

</td>

<td>&nbsp;</td>

</tr>

<div>

<tr>

<td>

<a href="?id=3" target="_self"><img src="img/1.png"/></a>

</td>

<td>&nbsp;</td></tr>

</table>


Даний код утримується у файлі left1.PHP, який імпортувався у файл index.PHP при формуванні головної сторінки програми. Цей файл імпортується якщо користувачем була натиснута кнопка «Піший співробітник», він міняє зображення кнопки, а так само через формується посилання, яке через адресний рядок передає значення про те, яка кнопка була натиснута. Це значення ухвалюється файлом index.PHP і формується центральна частина програми з полями для введення номера й пароля. Якщо був обраний перший варіант, то імпортується наступний файл:


<?PHP

<div>

<div>

<input type='password' onkeypress='event.returnvalue=(event.keycode > 47) && (event.keycode < 58)? true : event.keycode == 8 ? true : event.keycode == 116 ? true : event.keycode == 9' size='21' name='idnum' tooltiptext='Введите здесь ваш идентификационный номер' ></div>

<div>

<input type='password' size='21' name='pass' tooltiptext= 'Введите здесь ваш пароль'<br> (регістр ураховується)'></div>

<input name='form' type='hidden' value='1'/>

<input name='1' type='image' type='submit' src='img/b_normal.jpg' height='32'/></div>

</form>

<script type='text/javascript'> tooltipobj = new Dhtmlgoodies_formtooltip(); .settooltipposition('right'); .setpagebgcolor('#EEEEEE'); .settooltipcornersize(15); .initformfieldtooltip();

</script>

?>


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

(isset($_POST['idnum']))

{

$idnum = $_POST['idnum'];

}(isset($_POST['pass']))

{

$pass = $_POST['pass'];

}(isset($_POST['form']))

{

$form = $_POST['form'];

}($form==1)

{(empty($idnum) or empty($pass))

{"<p>

}

$result = mysql_query ("SELECT * FROM workers WHERE idnum='$idnum'",$db);

@ $myrow = mysql_fetch_array($result);(empty($myrow))

{"<p>

exit;

}($pass != $myrow['pass'])

{"<p>

exit;

}

$date = date("Y-m-d H:i:s");

$result2 = mysql_query ("INSERT INTO inworker (idnum, name, post, company, datetime) VALUES ('$myrow[idnum]', '$myrow[name]', '$myrow[post]', '$myrow[company]', '$date')");"<p>


Даний код виконується у файлі оброблювачі, який з'єднаний з базою даних і перевіряє, чи є в наявності запис про працівника з таким номером, і якщо є, то сходяться чи зазначений пароль і пароль у базі. Якщо так, то співробітник одержує допуск, і інформація передається в базу. Якщо дані не співпадають, то видаються різні помилки в залежності від помилкових дій користувача.


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


.1 Організаційно-економічна частина


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

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

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

Цей програмний продукт призначений для автоматизації пропускного пункту підприємства й одержання економічного ефекту за рахунок скорочення працівників на пропускному пункті.


5.2 Розрахунок економічного ефекту по упровадженню програмного продукту


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


Таблиця 5.1

Витрати на видаткові матеріали

№ п/пНайменування матеріалуВитрата, шт.Ціна, грн./шт.Сума, грн.1Доступ до мережі Інтернет160602Диск CD-R155Разом 65

У ході розробки програмного продукту було використано програмне забезпечення XAMPP, PHP, Opera, MySql, яке є безкоштовним.

Основні виробничі фонди:

Сенсорний монітор Elo Touch 15 - 2 шт за ціною 1500 грн;

Зчитувач магнітної смуги - 2 шт за ціною 190 грн;

Комп'ютер класу Pentium IV- 1 шт за ціною 2000 грн;

Загальна сума виробничих фондів складає - 3690 грн.

Амортизація розраховується лінійним способом, в розрахунку від терміну експлуатації, наприклад 3 роки.

Амортизація сенсорного монітору складає 15% у квартал від залишкової вартості, тобто А = Ф*На, де Ф - залишкова вартість на початок кварталу, На - норма амортизації.квартал 750*0,15=112,5 грн.квартал (750-112,5)*0,15=95,62 грн.квартал (750-112,5-95,62)*0,15=81,28 грн.квартал (750-112,5-95,62-81,28)*0,15=69,09 грн.

Разом амортизація = 358,49 грн.

А = 358,49 / 3 = 119,5 грн/год

Амортизація сенсорного монітору складає 15% у квартал від залишкової вартості, тобто А = Ф*На, де Ф - залишкова вартість на початок кварталу, На - норма амортизації.квартал 95*0,15=14,25 грн.квартал (95-14,25)*0,15=12,11 грн.квартал (95-14,25-12,11)*0,15=10,3 грн.квартал (95-14,25-12,11-10,3)*0,15=8,75 грн.

Разом амортизація = 45,41 грн.

А = 45,41 / 3 = 15,13 грн/год

Амортизація компютеру складає 15% у квартал від залишкової вартості, тобто А = Ф*На, де Ф - залишкова вартість на початок кварталу, На - норма амортизації.квартал 2000*0,15=300 грн.квартал (2000-300)*0,15=225 грн.квартал (2000-300-225)*0,15=216,75 грн.квартал 2000-300-225-216,75)*0,15=184,23 грн.

Разом амортизація = 955,98 грн.

А = 955,98/ 3 = 318,66 грн/год

Загальна сума амортизації основних засобів складає = 2 * 119,5 + 2 * 15,13 + 318,66 = 587,92


Таблиця 5.2

Основна заробітна плата програміста ПП

№ п/пВиконувачіТрудомісткість, люд.дн.Оклад, грн.Витрати по з/п, грн.1 Програміст101500714,28

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

,28*0,20=142,86 грн.

Фонд заробітної плати являє собою суму основної й додаткової заробітної плати:

,28 + 142,86 = 857,08 грн.

Нарахування на заробітну плату складає:

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

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

,4% - нарахування в державний фонд сприяння зайнятості;

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

Разом нарахування на соціальні нужди складають 37,3% від фонду оплати праці:

,08 * 0,373 = 319,69 грн.

Накладні витрати складають 150 % від величини основної заробітної плати:

,28 * 1,5 = 1071,42 грн.


Таблиця 5.3

Калькуляція

№ п/пНайменування статей витратВитрати, грн.1 Амортизація основних засобів587,922 Видаткові матеріали653 Основна заробітна плата програміста714,284 Додаткова заробітна плата програміста142,865 Відрахування на соціальне страхування319,696 Накладні витрати1071,42 Разом витрат Зк = 2901,17

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

Витрати на ручну обробку інформації

З = 1000/10/8 = 12,5 грн/год

Це зарплата за одну з трьох денних смін. Зарплата за добу складає:

Зоб = З * 3 = 12,5 * 3 = 37,5 грн/год

Номінальний фонд робочого часу розраховується по формулі :



к - кількість відпрацьованих годин за рік;

к1 - щоденні втрати 9-10% (відпустка, декретна відпустка та ін.)

к2 - внутрішні втрати робочого часу, 1- 2% (пільгові години, перерви та ін.).

К = д * р * м

д - середня кількість робочих днів у місяці = 30;

р - тривалість робочого дня = 24;

м - кількість робочих місяців за рік = 12;

К = 30 * 24 * 12 = 8640 годин за рік.

= 7776 год.

Час роботи працівників цілодобового підприємства складає 7776 годин у рік.

Вартість однієї години машинного часу дорівнює:


Цм = Цэ*Р


ЦЕ - вартість 1квт електроенергії (0,24 грн.)

Р - споживана потужність комп'ютера 160 Вт

Цм = 0,24 * 0,16 = 0,04 грн/год

Вартість однієї години машинної години дорівнює:

Цм = Цэ*Р


ЦЕ - вартість 1квт електроенергії (0,24 грн.)

Р - споживана потужність комп'ютера в рік 160 Вт

Цм=0,24*0,16=0,04грн/рік

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

За = 8640 * 0,3 = 2592 грн/рік

Витрати на оплату робочої сили:

Зр = 7776 * 37,5 = 291600 грн/рік

Ефективність розробки може бути оцінена по формулі:


.


Ер = 291600 * 0,4 / (2592 + 2901) = 21,23

Оскільки Ер > 0,20, то наша розробка є економічно доцільною.


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


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

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

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

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

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

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

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

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

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

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

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

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

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


.1 Аналіз небезпечних і шкідливих виробничих факторів


Небезпечні й шкідливі виробничі фактори класифікуються відповідно ДО ДЕРЖСТАНДАРТУ 12.0.003-74 по природі дії на наступні групи:

·фізичні;

·психофізичні.

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

Фізичні небезпечні й шкідливі виробничі фактори підрозділяються на наступні:

·підвищений рівень шуму на робочому місці;

·відсутність або недолік природного світла;

·недостатня освітленість робочої зони;

·підвищена або знижена рухливість повітря;

Психофізичні небезпечні й шкідливі виробничі фактори по характері дії підрозділяються:

·фізичні перевантаження (статичні й динамічні);

·нервово-психічні перевантаження (розумова напруга й перенапруга, монотонність праці, емоційні перевантаження, стомлення, емоційний стрес, емоційне перевантаження).

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

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

Показники, якими характеризується мікроклімат є: температура повітря, відносна вологість повітря, швидкість руху повітря, інтенсивність теплового випромінювання. Низька температура повітря впливає на оператора, як на організм людини так і на обладнання ПЕОМ. Великий вплив виявляє відносна вологість. При відносній вологості повітря більш 75-80% знижується опір ізоляції, змінюються робочі характеристики елементів, зростає інтенсивність відмов елементів ПЕОМ. Швидкість руху повітря і запиленість повітряного середовища виявляють вплив на функціональну діяльність людини і роботу приладів ПЕОМ. Висока температура на робочому місці оператора негативно впливає на психологічні функції: знижується увага, зменшується обсяг оперативної пам'яті, знижується здатність до асоціацій. Оптимальні норми температури, відносній вологості й швидкості руху повітря в робочій зоні виробничого приміщення відповідно до ДЕРЖСТАНДАРТ 12.1.005-88 приведені в таблиці 6.1.


Таблиця 6.1

Оптимальні норми температури, відносної вологості і швидкості руху повітря

Період рокуКатегорія роботиТемпература СВідносна влаж. повітря, %Швидкість руху повітря, не більше м/сХолодний і перехіднийлегка20-2360-400,2Теплийлегка22-2560-400,2

У приміщенні джерелами надлишкового тепла є:

·надходження тепла від людей;

·виділення тепла від обладнання й допоміжної апаратур;

·надходження тепла від сонячної радіації;

·виділення тепла від електричного освітлення.

Відповідно діючим нормативним документам (СН 512-78 и ДСанПіН 3.3.007-98) дана площа приміщення розрахована на одну людину 13,0 м2; обєм -35,1м3. Стіна, стеля, підлога приміщення виготовляються з матеріалів, дозволених для оформлення приміщень санітарно-епідеміологічним наглядом. Підлога приміщення вкрита діелектричним килимком, випробуваним на електричну міцність.

Електричний струм являє собою схований тип небезпеки, тому що його важко визначити в токо- і неструмоведучих частинах устаткування, які є гарними провідниками електрики. Смертельно небезпечним для життя людини вважають струм, величина якого перевищує 0,05А, струм менш 0,05А - безпечний (до 1000 В). З метою попередження поразок електричним струмом до роботи допускаються тільки особи, що добре вивчили основні правила по техніці безпеки. Систематичний вплив на працюючого ЕМП з рівнями, що перевищують допустимі, призводить до порушення стану його здоровя. При цьому можуть виникати зміни в нервовій, серцево-судинній та інших системах організму людини. При впливі ЕМП значної інтенсивності на організм можуть виникати поразки кришталиків ока, нервово-психічні захворювання і трофічні явища (випадення волосся, ломкість нігтів). Ступінь шкідливого впливу ЕМП на організм людини визначається напругою електромагнітного поля, довжиною хвилі і тривалістю перебування організму в зоні діяльності ЕМП. Електронно-променеві трубки, які працюють при напрузі понад 6 кВ є джерелами „мякого рентгенівського випромінювання. При напрузі понад 10 кВ рентгенівське випромінювання виходить за межі скляного балону і розсіюється в навколишньому просторі виробничого приміщення.

Комп'ютер живиться від однофазної мережі перемінного струму промислової частоти із заземленою нейтралю, напругою 220В. Системний блок комп'ютера має напруги сигналів ТТЛ рівнів (-1,+4 У), цифрові й аналогові мікросхеми живляться постійною напругою 5 й 12 В, які утворюються шляхом перетворення перемінної напруги 220В в блоці живлення. Блок живлення містить у собі схеми перетворення напруги, схеми стабілізації й схему захисного відключення при короткому замиканні. Тому що корпус комп'ютера виконаний з металу, то існує небезпека пробою фази на корпус. Монітори сучасних комп'ютерів практично завжди виготовляються із пластику, тому незважаючи на велику напругу, що є присутнім у моніторі, поразка струмом людини практично виключено.

Шум є одними з розповсюджених факторів зовнішнього середовища, що несприятливо впливають на організм людини. Люди, що працюють в умовах підвищеного шуму, скаржаться на швидку стомлюваність, головний біль, безсоння. У людини знижується гострота зору й слуху, підвищується кров'яний тиск, послабляється увага, погіршується пам'ять. Це приводить до значного зниження продуктивності праці, росту кількості помилок у роботі, зменшенню терміну служби встаткування. У робочих приміщеннях фахівців операторів ЕОМ рівень шуму не повинен перевищувати 65 дб. Стіни й стелі виробничих приміщень, де встановлені ЕОМ й ін. обладнання, що є джерелом шумоутворення, облицьовані звуковбирним матеріалом з максимальним коефіцієнтом звукопоглинання в області частот 63-8000 Гц, незалежно від кількості одиниць установленого обладнання.


.2 Заходи щодо нормалізації шкідливих і небезпечних виробничих факторів


Висота робочої поверхні стола повинна регулюватися в межах
680-810 мм; при відсутності такої можливості повинна становити 725 мм.
Дисплей задовольняє наступним вимогам:

·найважливіші елементи конструкції розташовані в центрі поля зору (клавіатура);

·елементи згруповані по функціональній ознаці;

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

Екран відеомонітора перебуває від очей користувача на оптимальній відстані 600-700 мм, але не ближче 500 мм із урахуванням розмірів знаків і символів.

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

·для екрана: білий на чорному;

·для клавіатури: чорний на білому.

Найбільш зручне сидіння, що має виїмку, що відповідає формі стегон і нахил назад. Спинка стільця повинна бути вигнутої форми, що обіймає поперек. Висота її - 300 мм, ширина - не менш 380 мм, радіус вигину - 300-350 мм. Робочий стілець (крісло) повинен бути постачений підйомно-поворотним механізмом, що забезпечує регуляцію висоти сидіння й спинки (рис. 6.1). Робоче крісло повинне мати підлокітники. Регулювання кожного параметра повинна легко здійснюватися, бути незалежної й мати надійну фіксацію. На робочому місці необхідно передбачати підставку для ніг.

Клавіатура повинна розташовуватися на поверхні стола таким чином, щоб відповідати ліктеві сидячого оператора. Його рука повинна бути зігнута на 90 градусів у ліктьовому суглобі, а передпліччя - лежати горизонтально. Клавіатуру варто розташовувати на відстані 100-300 мм від краю, зверненого до користувача.

Приміщення і їхні розміри повинні відповідати кількості працюючих і розташовуваному в них КТС. Відстань між робочими столами з відеомоніторами повинне бути не менш 2,0 м, а відстань між бічними поверхнями відеомоніторів - не менш 1,2 м. У приміщеннях з ПЕОМ щодня проводитися вологе прибирання, необхідне наявність аптечки першої допомоги.


Рис. 6.1 Схема робочого місця програміста:

-стіл; 2-стілець; 3-підставка для ніг; 4- клавіатура;

- системний блок; 6- лоток для паперу; 7- монітор; 8- принтер.

Як джерела загального освітлення використаємо лампи типу ЛБ і ДРЛ із індексом передачі кольору не менш 70 (R>70), як світильники - установки з переважно відбитим або розсіяним світлом. Світильники загального освітлення розташовуємо над робочим столом у рівномірно прямокутному порядку. Для запобігання відблисків екрана дисплея прямими світловими потоками застосовуємо світильники загального призначення, розташовані між рядами робочих місць. При цьому лінії світильників розташовуються паралельно світлоприйому. Освітлювальні установки забезпечують рівномірну освітленість за допомогою приглушеного або неуважного світлорозподілу. Для виключення відблисків застосовуємо спеціальні фільтри для екранів, захисні козирки або розташовувати джерела світла паралельно напрямку погляду на екран дисплею по обидва боки. Місцеве освітлення забезпечується світильниками, установленими безпосередньо на стільниці або на його вертикальній панелі, а також вмонтованими в козирок пульта. Джерела світла стосовно робочого місця маємо у своєму розпорядженні такий образ, щоб виключити влучення в очі прямого світла. При природному освітленні необхідно застосовувати сонцезахисні засоби, що знижують перепади яркостей між природним світлом і світінням екрана дисплея. При такому засобі, використаємо регульовані жалюзі.

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


,


а - ширина приміщення, м;- довжина приміщення, м;- висота підвісу світильників над робочою поверхнею, м.

Приймаючи, що а=5 м., b=5 м., h=2.3 м., обчислюємо =1.08. Тепер по таблиці відповідності визначаємо, що =0.55.

,


Е - нормована освітленість, Лк (для нашого випадку 300)

k3 - коефіцієнт запасу » 1.3;

А - площа підлоги, м2 (=20 м2);- коефіцієнт, що враховує нерівномірність освітленості

(Для ламп накалювання =1.5, для люмінесцентних =1.1.);

- кількість ламп в одному світильнику (=2);

- світловий потік лампи (Для ламп ЛБ-40 = 3000 лм.);

- коефіцієнт використання світильників. Визначається по індексу приміщення:

Підставляючи всі необхідні дані одержуємо:

= 300*1.3*20*1.1 / 2*3000*0.55 » 3

Таким чином, одержуємо, що для освітлення нашого приміщення необхідно 3 світильники, по 2 лампи марки ЛБ-40 у кожному.

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

В звязку з цим у нашому приміщенні, з легкою категорією роботи, у холодний та перехідний період року, за допомогою кондиціонеру підтримуємо температуру на рівні 20-23°С, відносну вологість повітря 60-40, та швидкість руху повітря не більше 0,2 м/с. У теплий період року, за допомогою кондиціонеру підтримуємо температуру на рівні 22-25°С, відносну вологість повітря 60-40, та швидкість руху повітря не більше 0,2 м/с.

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

Для забезпечення захисту від поразки електричним струмом при дотику до металевих неструмоведучих частин, які можуть виявитися під напругою в результаті пошкодження ізоляції, я рекомендую застосовувати захисне заземлення. Заземлення корпуса ЕОМ забезпечено підведенням заземлюючої жили до живильних розеток. Опір заземлення 4 Ом (Rн), згідно (ПУЕ) для електроустановок з напругою до 1000 В. З метою профілактики один раз у рік визначається опір ґрунту.

Зниження шуму, створюваного на робочих місцях лабораторії внутрішніми джерелами, а також шуму проникаючого ззовні, є дуже важливим завданням. Зниження шуму в джерелі випромінювання забезпечуємо застосуванням пружних прокладок між основою машини, приладу й опорною поверхнею. В прокладках використаються гума, повсть, пробка, амортизатори різної конструкції. Під настільні шумливі апарати можна підкладати м'які коврики із синтетичних матеріалів, а під ніжки столів, на яких вони встановлені, - прокладки з м'якої гуми, повсті, товщиною 6 - 8 мм. Кріплення прокладок можливо шляхом приклейки їх до опорних частин. Можливо також застосування звукоізолюючих кожухів, які не заважають технологічному процесу. Не менш важливим для зниження шуму в процесі експлуатації є питання правильного й своєчасного регулювання, змазування й заміни механічних вузлів шумливого встаткування.

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

·послабили шум самих джерел (за допомогою застосування екранів, звукоізолюючих кожухів);

·знизили ефект сумарного впливу відбитих звукових хвиль (за допомогою звуковбирних поверхонь конструкцій);

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


.3 Пожежна безпека


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

Пожежна безпека може бути забезпечена заходами пожежної

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

Небезпечними факторами пожеж є:

·полум'я, іскри характерне кількістю теплового потоку на одиницю поверхні;

·замикання електронних частин комп'ютера.

·підвищена концентрація СО + інші токсичні продукти горіння.

·знижена концентрація кисню в повітрі.

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

Пожежна безпека об'єкта повинна забезпечуватися системами запобігання пожежі й протипожежного захисту. Приміщення ВЦ ставиться до категорії В.

Пожежа може виникнути й від зовнішніх джерел. Тому необхідні наступні заходи забезпечення пожежної безпеки:

·ефективне видалення диму, тому що в приміщеннях, що мають оргтехніку, міститься велика кількість пластикових речовин, що виділяють при горінні летучі отруйні речовини й їдучий дим;

·правильний шлях евакуації;

·наявність вогнегасників і пожежної сигналізації;

·дотримання всіх протипожежних вимог до систем опалення й кондиціонування повітря.

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

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

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

У приміщенні будівлі ОЦ використаються вогнегасники в основному способом вуглекислотні вогнегасники ОУ-5; ОУ-10, гідністю яких є висока ефективність гасіння пожежі, схоронність електронного обладнання, діелектричні властивості вуглекислого газу, що дозволяє використовувати ці вогнегасники навіть у тому випадку, коли не вдається знеструмити електроустановку відразу. Згідно СНіП 2.04. 09-84 у приміщенні площею 72 м2 ми встановлюємо 8 вогнегасників. У будівлі вивішені плани евакуації на випадок пожежі в доступних для огляду місцях.

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

У будинку розроблені й на видних місцях вивішені плани (схеми) евакуації людей у випадку пожежі (ППБ 01-03). Призначення плану евакуації - чітко позначити шляхи евакуації, евакуаційні виходи, а також указати розташування пожежного обладнання, засобів оповіщення про пожежу, і нагадати про першочергові дії, які необхідно почати. План евакуації може бути виконаний на фотолюмінесцентному (світному в темряві) або звичайному пластику, на плівці, папері. Плани евакуації відповідно до ДЕРЖСТАНДАРТ 12.2.143-2002 являють собою схеми, на яких нанесені внутрішні контури приміщень, коридорів, сходових маршів у будинках і спорудах, де можуть перебувати й працювати люди. На цих схемах умовними позначками зазначені шляхи евакуації, евакуаційні й аварійні виходи, місця розташування протипожежного обладнання, телефони, засоби першої медичної допомоги, і додаткові засоби порятунку (протигазів, респіраторів та ін.), а також установлені в організації правила поведінки людей, порядок і послідовність їхніх дій в умовах надзвичайної (аварійної) ситуації.


Висновки


Внаслідок проведеної роботи було розроблено та виготовлено гнучку інтегровану систему «Автоматизації діяльності контрольно-пропускних пунктів». Дана система може використовуватись не тільки на великих підприємствах, котрим необхідно програмне забезпечення для автоматизованого контрольного пункту підприємства, але і також на більш малих підприємствах, котрі можуть використовувати цю систему тільки для контролю навідування працівниками підприємства своїх робочих місць. Система може контролюватися, налагоджуватися, а також видно за любої точки планети завдяки тому, що була розроблена з використанням Web-технологій, і представляє собою аналог Web-сторінки, які наповнюють сучасний Інтернет, але несе функціонал професійної програми. Завдяки системі управління базами даних MySql, дана система може зберігати та оброблювати величезні масиви даних, та получати швидкий доступ до них.

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

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

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


Список літератури


1.Аткинсон Леон, Зеев Сураски. PHP 5. Библиотека профессионала 2006

.Бабушкин Михаил, Сергей Иваненко, Виталий Коростелев. Web-сервер в действии - 1997

.Будилов В. А. JavaScript, XML и объектная модель документа - 2001

.Вайк Аллен, Джейсон Джиллиам. JavaScript. Полное руководство - 2004

.Вандшнайдер Марк. Основы разработки Web-приложений с помощью PHP и MySql - 2008

.Веллинг Люк, Лора Томсон. Разработка Web-приложений с помощью PHP и MySql - 2007

.Грин Джо. Профессиональное PHP программирование - 2006

.Гудман Дэнни, Майкл Моррисон. JavaScript. Библия пользователя - 2006

.Джамса К., Кинг К., Андерсон Э. Креативный Web-дизайн: HTML, XHTML, CSS, JavaScript, PHP, ASP, ActiveX: Текст, графика, звук и анимация - 2005

. Каба М. MySql и Perl: коммерческие приложения для Интернета. Учебный курс - 2001

. Конверс Тим, Джойс Парк и Кларк Морган. PHP 5 и MySql. Библия пользователя PHP 5 and MySql: Bible - 2009

. Котеров Дмитрий, Алексей Костарев. PHP 5 - 2006

. Кузнецов Максим, Игорь Симдянов, Сергей Голышев. PHP 5. Практика создания Web-сайтов - 2006

. Левин П., Ю.М. Алексеев. Самоучитель разработки Web-сайтов. HTML, CSS, графика, анимация, раскрутка - 2007

. Леки-Томпсон Эд, Хьяо Айде-Гудман, Алек Коув, Стивен Д. Новицки. PHP 5 для профессионалов - 2006

. Мак-Клар Стюарт. PHP 5 для начинающих - 2006

. Мейер Эрик А. CSS-каскадные таблицы стилей. Подробное руководство - 2006

. Нильсен Якоб. Web-дизайн. Книга Якоба Нильсена - 2006

. Пауэлл Томас, Фриц Шнайдер. Полный справочник по - 2006

. Прохоренок Николай. HTML, JavaScript, PHP и MySql. Джентльменский набор Web-мастера - 2009

. Пфаффенбергер Брайан, Стивен Шафер, Чак Уайт, Билл Кароу. HTML, XHTML и CSS. Библия пользователя - 2009

. Уилтон Пауль. JavaScript. Основы - 2003

. Флэнаган Дэвид. JavaScript. Подробное руководство - 2004

. Харрингтон Джек Д.. PHP. Трюки - 2008

. #"justify">. #"justify">. #"justify">. #"justify">. #"justify">. http://www.intuit.ru/department/internet/js/


Міністерство освіти і науки України Криворізький інститут Кременчуцького університету економіки, інформаційних технологій та управління. Кафедра технічної

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ