Автор работы: Пользователь скрыл имя, 18 Января 2014 в 10:42, дипломная работа
В данном проекте разработано программное обеспечение электронного справочника по интегральным микросхемам для работы в глобальной сети Internet. Приводится анализ существующих справочников подобного рода. На основе проведенного анализа был сделан выбор оптимального варианта, разработано оригинальное программное обеспечение.
В дипломном проекте проведен расчет экономических показателей программного обеспечения, а также анализ вредных и опасных факторов, влияющих на человека при работе с компьютером и меры по снижению этих факторов.
Введение 6
1 Анализ поставленной задачи и выбор проектных решений 8
1.1 Обзор существующих аналогов 8
1.2 Административное устройство и структура глобальной сети Internet 9
1.2.1 Анализ способов доступа к Internet 10
1.2.2 Анализ доменной системы имен 11
1.2.3 Анализ сервисов Internet 11
1.2.4 Роль Интернета в обучении 13
2 Разработка программного обеспечения для создания
электронного справочника 17
2.1 Разработка структуры сайта 17
2.1.1 Разработка меню справочника 18
2.1.2 Использование языка Java script для создания меню 19
2.1.3 Защита JavaScript 21
2.2 Использование HTTP - протокола обмена WWW – серверов 21
2.2.1 Общая структура 21
2.2.3 Выбор сетевых протоколов 22
2.3 Выбор языка разметки гипертекстовых документов 23
2.4 Разработка интерфейса 23
2.4.1 Создание структуры HTML-документов 24
2.4.2 Выбор тегов HTML 25
2.4.3 Создание комментариев 27
2.4.4 Создание заголовков 28
2.4.5 Выбор шрифтов 28
2.4.6 Создание списков 28
2.4.7 Разработка гипертекстовых ссылок 29
2.4.8 Верстка таблиц 30
2.4.9 Создание фреймов 31
2.4.10 Вставка иллюстраций в HTML-документы 35
2.5 Разработка механизма поиска 36
2.5.1 Структура запроса и ответа HTTP 36
2.5.2 Использование языка HTML для построения форм 40
2.6 Использование CGI - стандартного интерфейса обмена данных 42
2.6.1 Выбор языка программирования 45
2.6.2 Отладка серверных Web-приложений 52
2.7 Оптимизация Web-страниц 54
2.7.1 Оптимизация текста 54
2.7.2 Оптимизация графических изображений 54
2.8 Программы для просмотра WWW страниц 56
3 Эксплуатационно - техническая часть 57
3.1 Технические требования для работы с программой 57
3.2 Руководство пользователя 57
3.3 Руководство программиста (WEB мастера) 66
3.3.1 Размещение страницы на сервере 66
3.3.2 Обслуживание 69
4 Экономическое обоснование разработки проекта 70
4.1 Определение трудоемкости разработки программного продукта 70
5 Безопасность труда 78
5.1 Анализ условий труда 78
5.2 Мероприятия по улучшению условий труда 80
5.3 Возможные чрезвычайные ситуации 81
5.4 Расчет времени эвакуации персонала при пожаре 82
Заключение 85
Список использованных источников 86
Приложение А Листинг программы реализующей меню справочника 88
Приложение Б Листинг процедуры обработки запроса 95
Упор в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует /23/.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов.
Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Единственное, что можно поставить в вину Delphi, это то, что готовых компонент, поставляемых Borland, могло бы быть и больше. Однако, разработки других фирм, а также свободно распространяемые программистами freeware-компоненты уже восполнили этот недостаток.
В мире уже многие разработчики твердо ориентируются на использование Delphi как на инструмент, позволяющий создавать высокоэффективные приложения. Диапазон разработанных при помощи Delphi программных продуктов - от игровых программ до мощнейших банковских систем.
Поскольку обмен информацией между клиентом и Web-приложением происходит в оперативной памяти сервера, то программы на базе ISAPI/NSAPI работают гораздо быстрее, чем приложения на основе CGI/WinCGI. На рисунке 7 показана структурная схема работы CGI.
CGI-приложения являются
Поэтому количество клиентов, подключающихся к Web-серверу с CGI-приложениями, ограничено объемом его оперативной памяти и быстродействием.
Подобные приложения обладают универсальностью, обусловленной совместимостью с различными платформами, поскольку стандарт CGI был разработан и широко использовался на Unix, а затем был реализован и для других ОС, в том числе для Windows/24/. Данные от клиента, поступающие в командной строке запроса, который организован в этом стандарте, передаются на сервер после обработки компонентом TCGIApplication.
Рисунок 7- Структурная схема работы CGI
WinCGI - модификация стандарта CGI, рассчитанная на работу под управлением ОС Windows. Программы, разработанные на базе этих двух стандартов, будут работать и на Web-серверах - MS IIS 4.0 или Netscape, поддерживающих стандарты ISAPI и NSAPI соответственно. Достоинство технологии WebBroker - возможность представления конечного программного продукта в любом из указанных стандартов простой перекомпиляцией исходных текстов, что существенно облегчает работу. В приложении Б приведен листинг процедуры обработки запроса.
Для разработки серверных Web - приложений в палитре компонентов Delphi программисту предлагается Internet-страница, на которой расположено пять невизуальных Web-компонентов: TWebDispatcher, TPageProducer, Tdata-SetPageProducer , TDataSetTableProducer и TQueryTableProducer. Шестой неви-зуальный компонент - TwebModule - автоматически включается в проект при создании Web-приложения с помощью мастера Web Server Application /25/. Он – основа любого серверного Web-приложения, а также служит репозитaрием (своеобразным <контейнером>) для остальных невизуальных компонентов, чем напоминает Data-модуль, применяемый для работы с БД при обычном проектировании клиентских приложений.
Чтобы выбрать Web Server Application, следует обратиться к меню File New New. На рисунке 8 показано окно выбора типа программы.
Рисунок 8 – Окно выбора типа программы
После подключения этого мастера открывается подменю, показанное на рисунке 9, где нужно указать стандарт (ISAPI/NSAPI, CGI или WinCGI), с которым будет работать создаваемое Web-приложение.
Рисунок 9 – Выбор стандарта для Web-приложения
Это позволит разработать новый проект на основе автоматически определенного Web-модуля. В его единственном окне и будут размещаться Internet-компоненты. Они, как и сам модуль, имеют статус невизуальных, т. е. доступных лишь в режиме проектирования (design-time) /26/. Все видимые элементы и компоненты серверного Web-приложения станут отображаться в окне браузера клиента, обращающегося к серверу, а во время разработки, отладки и тестирования Web-программы сам Web-сервер и браузер могут находиться на одном компьютере, выполняющем одновременно функции как клиента, так и сервера.
В качестве клиентских Web-приложений могут быть использованы современные браузеры, среди которых лидируют MS Internet Explorer и Netscape Navigator. Альтернативой является разработка собственной программы с помощью Delphi. Этот путь может показаться более трудоемким и затратным, но в результате получается продукт, который максимально соответствует решаемой задаче.
Если в качестве клиентского приложения используется универсальный Web-браузер, то при создании интересных динамических Web-страниц на профессиональном уровне не обойтись без программирования на элементарном уровне. Тогда придется разрабатывать продукты на уровне CGI- или API-приложений, и инструментарий Delphi окажется очень полезным.
TWebModule предоставляет серверному Web-приложению возможность сформировать ответы на клиентские HTTP-запросы. Обмен между серверным и клиентским приложениями происходит в объектной форме. Запросы представляются в виде объектов в соответствии с выбранными условиями в списке свойств action items. На рисунке 10 приведен пример определения списка свойств actions.
Рисунок 10 – Список свойств actions
Абстрактные базовые классы TWebRequest и TWebResponse инкапсулируют протокол HTTP, по которому происходит обмен информацией между Web-сервером и клиентскими браузерами.
Класс TWebRequest предоставляет доступ ко всей информации, поступающей от клиентов на Web-сервер через свои свойства и методы.
Класс же TWebResponse, наоборот, с помощью
своих свойств и методов позвол
Данные от Web-сервера можно переслать любым из возможных для протокола HTTP способов.
Взаимодействие между Web-сервером и клиентами обеспечивают классы TCGIResponse и TCGIRequest, объявляемые в модуле Unit1.pas и учитывающие специфику интерфейса CGI. Они являются прямыми потомками абстрактных классов TWebRequest и TWebResponse. Полиморфизм, свойственный Delphi, позволяет организовать их передачу в виде параметров TWebRequest и TWebResponse через обработчик события OnAction, представленный на рисунке 11, в компонент TwebModule.
Рисунок 11 – Обработчик события OnAction
Свойства класса TCGIRequest, содержащего информацию запроса от клиентского браузера, позволяют получить разнообразную и достаточно полную информацию о самом клиенте, хотя ряд параметров в передаваемом запросе может быть не определен. Этот класс имеет около 30 ненаследуемых свойств. Так, свойства RemoteHost и RemoteAddr включают Internet-адрес клиентского компьютера. Данные о браузере, установленном на клиентском месте, заключены в свойстве UserAgent. Из свойства Accept можно извлечь список типов графических файлов, с которыми может работать браузер клиента. Свойство Referer содержит URL Web-страницы, где можно получить ссылку на этот Web-сервер, а данные Cookie содержатся только в свойстве Cookie в виде строк /30/. С помощью свойства CookieFields через массивы полей можно сразу же получить доступ к значениям нескольких клиентских рабочих мест.
Подробные данные клиентского URL-запроса
можно извлечь из свойства Query. Например,
если в URL-запросе 'http://www.started.webservis.
плюсом (+), а последний наряду с некоторыми другими передается в кодированном виде: %хх, где хх - шестнадцатеричное представление символа. На рисунке 12 показана блок схема алгоритма поиска.
Рисунок 12- Блок схема алгоритма поиска
При запуске CGI программы происходит поиск заданных слов в хранилище данных. При этом идет проверка на прошлый запрос. Если пользователь поставил галочку «Искать в найденном», то происходит поиск по текущему и прошлому запросу. При этом сначала программа формирует начало HTML файла, в котором находится форма для следующего запроса. Затем происходит поиск данных по запросу – это является серединой HTML файла. При поиске данных из файла содержащего адрес и описание микросхем происходит поочередное считывание строк и поиск в них слов из запроса. Если слова из запроса были найдены, то происходит вывод этих строк на экран пользователя. После проверки всех строк происходит вывод конца HTML файла.
Данные пересылаются клиенту с Web-сервера в форме ответа через свойство Content класса TCGIResponse. Этот класс имеет 23 свойства, из них 19 - ненаследуемые/31/. В Content должен содержаться HTML-код, отображаемый клиентским браузером в виде Web-страницы. В другом важном свойстве - Version - указывается версия HTTP-протокола. Значение Version берется из ProtocolVersion свойства HTTPRequest. Большое влияние на работу с классом TCGIResponse оказывают методы. Например, вызвав после установки свойств объекта HTTP- ответа метод SendResponse , можно послать клиенту сообщение еще до окончания действия обработчика OnAction.
Метод SendRedirect поможет перенаправить клиента на другой Web-сервер с соответствующим URL.
Метод SendStream обеспечивает передачу данных любого типа. Перед его вызовом нужно затребовать SendResponse, который формирует заголовок сообщения HTTP-ответа, базирующийся на свойствах объекта TCGIResponse. Вместо метода SendResponse перед вызовом SendStream нужно установить свойство ContentStream в значении AStream.
Любое Web-приложение в стандарте CGI необходимо отладить. Этот процесс существенно отличается от общепринятой отладки обычных Windows-приложений в среде Delphi, так как созданное Web-приложение запускается лишь в ответ на запросы, получаемые от браузера клиента через Web-сервер. Запуск даже самого простого Web-приложения непосредственно из среды Delphi невозможен, поскольку теряется его связь с Web-сервером. Тогда и приложение не может получать запросы от клиента и, следовательно, реагировать на них. Методы отладки определяются также типом Web-сервера.
При отладке Web-приложений с Personal Web
Server под управлением Windows 95/98 в меню Run/Parameters
вводятся следующие параметры: Host Application:
C:\Program Files\websvc\system\inetsw95.
С помощью Delphi можно создавать CGI/WinCGI-приложения, которые в виде exe- файлов должны напрямую запускаться Web-сервером. Методика отладки довольно сложная, поскольку нужно моделировать сервер путем создания конфигурационного файла с параметрами, включающими информацию из запроса. Затем нужно запустить WinCGI-приложение, указав полные адреса файла, содержащего информацию от клиента, и файла, в котором должен быть записан ответ/29/. После этого можно, как обычно, отлаживать Web-приложение.
Механизм работы CGI/WinCGI-приложений проще, чем у ISAPI/NSAPI-приложений. При каждом обращении они запускаются в отдельном потоке, поэтому пересечения с многопотоковым механизмом не происходит. Кроме того, в CGI/WinCGI-приложениях не возникает проблем, имеющих место при кэшировании Web-модулей ISAPI/NSAPI-приложений.
Можно облегчить настройку при отладке Web-приложений, используя упрощенную версию MS IIS 2.0. Полученные программы, как правило, могут работать и под управлением MS IIS 4.0. При этом следует учитывать некоторые незначительные детали, которые могут существенно затруднить процесс отладки серверных приложений, как-то: проблемы с установкой состояния реестра, предварительная настройка доступа к определенным каталогам и файлам и последовательность выполнения операций.
Перед отладкой MS IIS должен быть остановлен, а начинать работу он будет запуском Web-приложения из среды Delphi. Сначала нужно проверить, работает ли уже отлаженное приложение. Для этого нужно поместить исходный файл в раздел cgi-bin. В окне Services следует проверить, подключен ли сервис Wide Web Publishing Service, если же нет - нужно нажать кнопку Start. Затем в окне браузера требуется набрать имя ПК или IP-адрес.
Иногда программа полностью не запускается, хотя выполнена правильно,
т. е. MS IIS работает и есть доступ к запуску CGI-приложения. В этом случае могут появиться сообщения о <внутренней> ошибке сервера, например о неудачной инициализации BDE, невозможности работать с закрытой таблицей и т. п. Подобная информация свидетельствует об отсутствии права пользователя на доступ к каталогу ...\BDE\ и/или ...\DATA\, который, если необходимо, открывается или закрывается нажатием правой кнопки мыши на свойствах (properties/ Security/permissions) соответствующего компонента (диска, каталога или файла).
Перед запуском MS IIS нужно установить протокол TCP /IP и выбрать IP-адрес, например 222.10.1.220, поскольку при разработке и отладке серверных приложений ПК следует отключить от Internet. Работу TCP/IP можно протестировать, набрав сначала консольную команду ping 127.0.0.1, а затем ping 222.10.1.220. В случае успешной установки протокола будет получен ответ: «Reply from 127.0.0.1: bytes=32 time<10ms TTL=32», а при неверной конфигурации - Pinging 222.10.1.220 with 32 bytes of data: «Request timed out».
При запустке Delphi и открытии указанного проект, расставив точки останова в тексте модуля main, а после установки параметров загрузив отлаживаемый модуль через меню Run/Add Breakpoint/Module Load Breakpoint. Открыв окно Modules, нажав комбинацию клавиш <Alt>+<Ctrl>+m, и убедившись, что там есть строка: iserver.dll not loaded. Потом, набрав комбинацию клавиш <Ctrl>+<F9> (или нажав кнопку Run), запустив Web-сервер. В окне Modules появится список модулей, запущенных под управлением MS IIS, но отлаживаемый модуль еще не будет загружен.
Функционирование модуля начнется
после запуска браузера и набора
строки http:// 222.10.1.220/scripts/iserver.