- •Министерство образования Российской Федерации
- •Содержание
- •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.2.2. Отладка шаблонов
Такой повсеместно используемый в языке Perlинструмент, как шаблоны, заслуживает отдельного рассмотрения. Наличие встроенной непосредственно в язык поддержки такого рода возможностей, как сопоставление с шаблоном, является признаком проблемной ориентированности языка, что неприемлемо для языков общего назначения. В этом наиболее сильно проявляется тот факт, что изначально область применения языкаPerlбыла вполне определенной и далеко не такой широкой, какой она является сейчас. Да, шаблоны полезны и позволяют решать достаточно широкий класс задач, связанных с анализом и обработкой строк, но включение их поддержки непосредственно в язык заметно усложняет его, для языка общего назначения логично было бы вынести поддержку шаблонов во внешние библиотеки.
Многочисленные выражения с шаблонами могут весьма затруднить понимание программы, что становится особенно критичным при отладке или доказательстве правильности программ.
Н
if
(!($FORM{'date1'} =~
m/^([1..9]|[0-2][1-9]|[1-3]0|3[0-1])\.([1-9]|0[1-9]|1[0-2])\.[1-3]\d\d\d$/))
{
$halt='неправильно
введена начальная дата временного
промежутка!'; }
Сразу понять, как работает данная конструкция, понять сложно. Для этого требуется непростой синтаксический разбор шаблона.
2.2.3. Использование ModPerl
ModPerl– это расширениеWeb-сервераApache, обеспечивающее интеграцию сPerlдля ускорения выполненияCGI-скриптов. Данное расширение даёт выигрыш по скорости выполненияPerl-скриптов более чем в 2 раза, также позволяет экономить время на создание/закрытие подключения к серверу БД. Система ОРОКС начиная с версии 2.1 включает поддержкуModPerl. Использование данного расширения вносит свои особые требования кPerl- скриптам: всем используемым в программе переменным (скалярным, списковым (массивам) и хэшам (ассоциативным массивам)) перед использованием должны быть присвоены начальные значения. В противном случае они будут содержать последние присвоенные значения, что может привести к большим сложностям при отладке ввиду того, что никаких сообщений об ошибках в программе при использовании таких переменных не возникнет.
2.2.4. Ошибки при настройке www-сервера
Большое число ошибок возникает в связи с разграничением доступа к файлам при настройке WWW-сервера. Как правило,WWW-сервера работают под управлением операционной системыUnix(например,Linux,FreeBSDилиSolaris). В этом случае достигается максимальная производительность ибезопасность, в отличие отWeb-серверов под управлением операционных систем семействаWindows.
В операционной системе Unix с файлом связано много характеристик. В системе нет «ничьих» файлов, все файлы имеют владельца-пользователя и владельца-группу.
Права доступа задаются обычно числом в восьмеричной записи и разбиты на 3 части по 3 бита: Каждая часть задает права доступа для конкретной группы:
1я - права доступа для пользователя, которому принадлежит файл;
2я - для группы, которой принадлежит файл;
3я - для всех остальных.
В каждой такой категории выделяются 3 права: право на чтение, право на запись и право на исполнение.
При открытии файла программой, операционная система сравнивает идентификатор пользователя с идентификатором пользователя владельца файла, если они равны, то действуют права пользователя, если не равны, то сравниваются идентификаторы группы, если и они не равны, то действуют права доступа для остальных. В том случае если у процесса нет достаточных прав, система возвращает ошибку. Для суперпользователя root права доступа не проверяются.
Скрипт можно выполнить только в том случае, если есть права на его исполнение.
Следует отметить, что неправильное распределения прав доступа может повлечь катастрофические последствия для Web-сервера, поэтому вопросу настройкиWWW-сервера следует уделятьбольшоевнимание.