
- •Министерство образования Российской Федерации
- •Содержание
- •1. Специальная часть 6
- •2. Технологическая часть. Особенности разработки программ на скриптовом языке Perl с использованием интерфейса cgi 60
- •3. Организационно-экономическая часть. Особенности сегментации рынка программного продукта 76
- •4. Производственная и экологическая безопасность. Организация рабочего места программиста и пользователя эвм 88
- •Введение
- •1. Специальная часть
- •2002 Г. Введение
- •1.1. Анализ системы орокс
- •1.1.1. Организация обучения на базе системы орокс
- •1.1.2. Состав индивидуального учебного плана пользователя
- •1.1.3. Процесс взаимодействия обучаемого с учебным заведением
- •1.1.4. Анализ существующих функций администрирования процесса обучения
- •1.1.5. Постановка задачи
- •1.1.5.1. Требования к информационной и программной совместимости
- •1.1.5.2. Основные элементы интерфейса, предоставляемые технологией www
- •1.2. Проектирование подсистемы статистического учёта успеваемости студентов
- •1.2.1. Язык моделирования, используемый при проектировании подсистемы
- •1.2.2. Разработка общей структурной схемы подсистемы.
- •1.2.3. Структура данных, используемых подсистемой
- •1.2.4. Проектирование и реализация компонентов подсистемы
- •1.2.4.1. Учебная карточка студента
- •1.2.4.2. Передача работ преподавателю
- •1.2.4.3. Текущая успеваемость
- •1.2.4.4. Статистика по студентам
- •1.3. Особенности реализации подсистемы
- •1.3.1. Взаимодействие с базой данных
- •1.3.2. Передача значений между формами
- •1.3.3. Особенности, связанные с подготовкой отчётов для печати
- •1.3.4. Сортировка массивов
- •1.4. Методика испытаний
- •2. Технологическая часть. Особенности разработки программ на скриптовом языкеPerlс использованием интерфейсаCgi
- •2.1.2. CommonGatewayInterfaceкак средство расширения возможностейWorldWideWebтехнологии
- •2.2. Особенности языка Perl
- •2.2.1. История создания языка
- •2.2.2. Синтаксис языка
- •2.3. Особенности отладки cgi-программ
- •2.2.1. Ошибки в Perl-программе
- •2.2.2. Отладка шаблонов
- •2.2.3. Использование ModPerl
- •2.2.4. Ошибки при настройке www-сервера
- •2.2.5. Ошибки при выполнении sql-выражений
- •2.4. Диаграммы uml, используемые при проектировании подсистемы
- •2.4.1. Введение
- •2.4.2. Диаграммы вариантов использования
- •2.4.3. Диаграммы деятельности
- •2.4.4. Диаграммы последовательностей
- •3. Организационно-экономическая часть. Особенности сегментации рынка программного продукта
- •2002 Г. Введение
- •3.1. Принципы сегментации с учётом специфики продукта
- •3.2. Методика расчёта сегментации рынка
- •3.3. Поиск сегментов рынка для подсистемы статистического учёта успеваемости студентов
- •3.5. Оценка затрат на создание программного продукта и определение точки безубыточности
- •3.6. Вывод
- •4. Производственная и экологическая безопасность. Организация рабочего места программиста и пользователя эвм
- •2002 Г. Введение
- •4.1. Вредные факторы на рабочем месте программиста и пользователя эвм
- •4.1.1. Излучения экрана монитора
- •4.1.2. Микроклимат помещения
- •4.1.3. Требования к уровням шума
- •4.1.4. Психофизиологические факторы
- •4.1.4.1. Физические перегрузки (статические)
- •4.1.4.2. Монотонность труда
- •4.1.4.3. Описание зрительной работы оператора
- •Заключение
- •Список литературы
- •Приложения Фрагмент текста программы
2. Технологическая часть. Особенности разработки программ на скриптовом языкеPerlс использованием интерфейсаCgi
Дипломант Кришан С.А. ( __________ )
Консультант по технологической
части Ашарина И.В. ( __________ )
2002 г.
Введение
Во второй главе описываются вопросы взаимодействия пользователя с информационным сервером типа HTTP, интерфейсаCGIи вопросы взаимодействия трехуровневой схемы: HTTP-сервер - приложение - база данных. Проведён анализ особенностей отладкиCGI-приложений.
Также рассмотрены диаграммы UML, использовавшиеся при проектировании подсистемы.
2.1. Интерфейс CGI. Вопросы взаимодействия внешних прикладных программ с информационным серверомHTTP
2.1.1. Введение в технологию WWW
WWW (World Wide Web) представляет собой клиент-серверную технологию, основанную на прикладном протоколе HTTP (HyperText Transfer Protocol). HTTP– это протокол высокого уровня (а именно, уровня приложений), обеспечивающий необходимую скорость передачи данных, требующуюся для распределенных информационных систем гипермедиа. HTTP используется проектом World Wide Web с 1990 года.
В HTTP имеются два типа сообщений: запросы от клиента (браузера) к серверу и ответы сервера клиенту. Для передачи сообщений используется протокол TCP (TransferControlProtocol) и стандартный порт HTTP-сервера – 80. Запрос содержит URL (Uniform ResourceLocator)– идентификатор ресурса (документа), который хотел бы получить клиент и несколько вспомогательных заголовков.
Предполагается, что в ответ на запрос, сервер, проанализировав требуемый URL, предоставит клиенту искомую информацию, называемую контентом. В простейшем случае это документ HTML (HyperText Markup Language) или файл в другом формате, однако контент может генерироваться сервером «на лету», например может быть вызвана сторонняя программа и ее вывод принят в качестве контента. Чтобы браузер правильно определил тип информации, содержащейся в контенте, и, соответственно, применил адекватный способ представления этой информации пользователю, контент сопровождается заголовком Content Туре, в котором указывается MIME-тип данных.
Динамическая генерация контента позволяет пользователю интерактивно взаимодействовать с WWW-сервером. Типичным примером этого процесса является работа с поисковым сервером, где пользователь указывает строку поиска, которая и является параметром запроса. Сервер производит поиск строки в базе данных и формирует HTML-страницу, содержащую результаты поиска.
Пользователь задает параметры запроса путем заполнения и отправки HTML-форм. Формы содержат поля ввода текстовой информации, радиокнопки, выпадающие списки и т.п.
Никакой HTTP-сервер не может предусмотреть всего разнообразия интерактивных WWWприложений. Вместо этого HTTP-сервер предлагает разработчику интерфейсCGI, используя который сторонняя программа может получить от HTTP-сервера все необходимые для обработки запроса данные, а в ответ сгенерировать контент, который будет возвращен сервером браузеру [5]. Таким образом, задача генерации контента возлагается на приложения, разрабатываемые для конкретной задачи.
2.1.2. CommonGatewayInterfaceкак средство расширения возможностейWorldWideWebтехнологии
Главное назначение Common Gateway Interface - обеспечение единообразного потока данных между сервером и прикладной программой, работающей на стороне сервера.
При использовании интерфейса CGIHTTP-сервер запускает приложение, называемоеCGI-программой или шлюзом. Это приложение должно обработать запрос. Для передачи данных об информационном запросе от сервера к шлюзу сервер использует командную строку и переменные окружения. Эти переменные окружения устанавливаются в тот момент, когда сервер выполняет программу шлюза. Существует два способа передачи данных шлюзу:GETиPOST. Выбор метода определяется при создании формы.
При отправке запроса методом GET данные, введенные в форму, присоединяются к URL после вопросительного знака. В этом случае URL может выглядеть например так: «http:/www.server.ru/cgi-bin/dir/stat2.pl?group=МП-55&fam=Krishan&age=20», т.е. информация передается в следующей форме: имя=значение&имя1=значение1&…, где имя – имя переменной (например, название выпадающего списка), и значение – реальное значение (выбранное значение в выпадающем списке).
При отправке методом POSTта же самая строка «group=МП-55&fam=Krishan&age=20» помещается после заголовков запроса, отделяясь от них пустой строкой. В этом случае к URL ничего не добавляется.
Отметим, что сами данные, их наличие или отсутствие, размещение в теле запроса или в URL или сразу в обоих местах HTTP-сервером никак не интерпретируются и не декодируются, а передаются приложению как есть. Все задачи по интерпретации и преобразованию данных возложены на CGI-приложение. Обработав запрос, приложение передает сгенерированный контент на свой стандартный вывод, где он перехватывается HTTP-сервером и пересылается клиенту. Единственный заголовок, который обязано выставить само CGI-приложение, - Content-Type.
На pис. 33 показаны взаимосвязи между Web-браузером, Web-сервером и CGI-программой.
Рис. 33. Заполнение формы с привлечением интерфейса CGI