47274 (Исследование использования программ дистанционного обучения для подготовки учебно-методической документации), страница 10

2016-07-29СтудИзба

Описание файла

Документ из архива "Исследование использования программ дистанционного обучения для подготовки учебно-методической документации", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47274"

Текст 10 страницы из документа "47274"

Рисунок 2.2 - Окно установки web-сервера Apache

По окончании установки Apache необходимо настроить. По умолчанию корневым каталогом для HTML-документов будет C: \Program Files\Apache Group\Apache\htdocs. Такое расположение не очень удобно, поэтому создадим каталог С: \www, в котором будут находиться файлы. В этом же каталоге создадим два подкаталога - cgi и html. В первом будут находится CGI-приложения, а во втором - HTML-файлы.

Затем нужно открыть в любом текстовом редакторе файл C: \Program Files\Apache Group\Apache\conf \httpd. conf и отредактировать следующие директивы:

ServerName - установить имя сервера. При этом, директива ServerName по умолчанию закомментирована, то есть игнорируется сервером. Поэтому необходимо раскомментировать эту директиву, убрав перед ней значок #.

DocumentRoot - установим значение С:/www/html:

DocumentRoot с:/www/html

Таким образом, укажем каталог, в котором будут размещаться HTML-файлы.

Установим директивы ScriptAlias так:

ScriptAlias/cgi/"с:/www/cgi/"

ScriptAlias/cgi-bin/"c:/www/cgi/"

Благодаря этому создадим два псевдонима для каталога с:/www/cgi. Таким образом, если будет указан путь http: // localhost/cgi или http: // localhost/cgi-bin, то на самом деле обращение будет к каталогу с:/www/cgi.

Секцию заменим на следующую:

Options Indexes Includes AllowOverride All Allow from all

Таким образом, зададим ряд настроек по умолчанию для каталога с: \www и всех его подкаталогов. А именно: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, а также возможность использовать файлы. access для индивидуальной настройки каталогов.

Убедимся, что есть директива AddHandler:

AddHandler cgi-script. bat. exe. cgi

Эта директива указывает Apache на то, что файл с расширениями. bat. exe и. cgi следует воспринимать как CGI-модули.

Установим параметры SSI:

Addtype text/html. shtml

AddHandler server-parsed. shtml. html. htm Благодаря этому файлы с указанными расширениями будут обрабатываться SSI.

Необходимо сохранить отредактированный файл.

Теперь протестируем работу Apache. Запуск:

C: \Program Files\Apache Group\Apache\apache. exe

При успешном запуске появится надпись

Apache/2.0.35 (Win32) running...

Теперь можно проверить корректность работы сервера. Запустим Internet Explorer или любой другой браузер и введем: http: // localhost. Вы должны увидеть стартовую страницу Apache. Теперь проверим CGI и SSI. Для этого создадим файл test. bat и поместим его в каталог c: \www\cgi:

@echo off

echo Content-type: text/html

echo.

echo.

echo Hello!

В окне браузера введите http: // localhost/cgi/test. bat -увидите слово Hello! Для проверки SSI нужно создать файл test. html и поместить его в каталог c: \www\html:

SSI Test

SSI (Server Side Include) - включение со стороны сервера, позволяет включать в Web-страницу код HTML, находящийся в других файлах.

В окне браузера при вызове файла test. html вы увидите SSI Test, a затем - стартовую страницу Apache.

2.3.3 Установка РНР и настройка Apache для работы с РНР

После установки Apache установим РНР 4. Версию РНР 4 для Windows можно скачать по адресу http: // www. php. net (последняя версия РНР доступна по адресу http: // www. php. net/downloads. php) [13].

Запустим программу установки, которая по умолчанию установит РНР 4 в каталог C: \Program Files\PHP 4\. Однако в процессе установки можно выбрать другой каталог.

Окно установки PHP показано на рисунке 2.3

Рисунок 2.3 - Окно установки PHP 4

Сразу после установки необходимо открыть файл php. ini (он будет в каталоге, куда вы установили РНР) и отредактировать следующие параметры:

[mail function] ; For Win32 only. SMTP = localhost

sendmail_from = me@localhost. com

Параметр SMTP задает имя SMTP-сервера. По умолчанию в качестве SMTP-сервера используется локальный компьютер - это хорошо для Linux, но в Windows вам нужно указать SMTP-сервер провайдера, потому что вряд ли у вас будет установлен почтовик под Windows. Если вы не сделаете этого, функция mail(), отправляющая сообщения, работать не будет.

После этого откроем файл httpd. conf (файл конфигурации Apache) и найдем в нем строку:

AddType application/x-httpd-php php

Убедимся, что данная строка не закомментирована, то есть перед ней не стоит значок #. Если он стоит - уберем его. Таким образом, всем файлам с расширением. php будет поставлен в соответствие МIМЕ-тип application/x-httpd-php.

Типы MIME используются для идентификации типа содержимого. Благодаря этому приложения смогут определять, какого вида данные присланы и в каком соответствии сети проводить их обработку. Перечень всех типов MIME, поддерживаемых системой, находится в файле C: \Program Files\Apache Group\Apache\conf. Тип MIME указывается в формате: тип/подтип. Вот основные типы MIME:

application - приложение (программа или документ, связанный с программой).

audio - аудиофайл (audio/mpeg).

image - графический файл (audio/png).

text - текст (text/html - в формате HTML, text/plain - простой).

MIME-тип пересылаемых по сети данных указывается в заголовке Content-type.

Сразу же после этой строки добавим строки:

ScriptAlias/_php_/"с:/Program Files/PHP5/" Action application/x-httpdhp "/_php_/php. exe"

В этих двух строках мы сначала создаем псевдоним _php_ для каталога с:/Program Files/PHP 4/, а затем связываем все файлы типа application/x-httpd-php с обработчиком php. exe.

Теперь можно протестировать РНР. Для этого создадим файл test. php:

phpinfo ();? >

Данный файл нужно поместить в каталог c: \www\html. В браузере введите http: // localhost/test. php. В итоге вы должны увидеть результат работы функции phpinfo().

2.3.4 Установка MySQL

Сервер MySQL можно загрузить по адресу http: // www. mysql. com. Программа установки установит сервер в каталог С: \Progam Files\MySQL\. Для запуска MySQL создадим файл server. bat:

@echo off

"С: \Program Files\MySQL\bin\mysqld"

start/m "C: \Program Files\Apache Group\Apache\apache"

Если вы работаете в Windows NT или 2000, server. bat должен выглядеть так, как это показано в следующем листинге:

@echo off

start C: \Progra~l\MySQL\bin\mysqld-nt - standalone

C: \Progra~l\Apache~l\Apache\apache - k start

Теперь для запуска Apache и MySQL нужно ввести команду server. Создадим файл shutdown. bat, который будет останавливать оба сервера:

@echo off

C: \Progra~l\Apache~l\Apache\apache - k shutdown

C: \Progra~l\MySQL\bin\mysqladmin - u root shutdown

Также необходимо добавить в конец файла my. ini следующие строки (конкретно для данного проекта), задающие логин и пароль доступа к серверу:

user=root

password=geijr

Файл настройки сервера баз данных MySQL находится по умолчанию в корневом каталоге Windows.

Просмотреть все базы данных и таблицы, созданные на сервере MySQL можно утилитой WinMySQLadmin 1.4, окно которой показано на рисунке 2.4.

Рисунок 2.4 - Окно утилиты WinMySQLadmin 1.4

2.4 Работа в Macromedia Dreamweaver MX 2004

Интерфейс пакета Dreamweaver показан на рисунке 2.5 Помимо строки заголовка, строки меню, панели инструментов и стандартного рабочего окна программы отметим наличие нескольких палитр, которые, как и в графических редакторах, размещаются в рабочем окне программы.

Рисунок 2.5 - Интерфейс пакета Dreamweaver MX 2004 с командами меню Window.

Остановимся на палитре Object (Объекты), внешний вид которой представлен на рисунке 2.6 Внешний вид палитры изменяется в зависимости от типа объекта, выбранного в раскрывающимся списке, расположенного в ее верхней части; таким образом палитру можно назвать адаптивной. По умолчанию в списке устанавливается раздел Common (Основные). На рисунке 2.6 выбран именно этот вариант.

Рисунок 2.6 - Палитра Objects раздел Common

Эта палитра с помощью различных инструментов позволяет включать в состав страницы различные элементы, в частности, по порядку расположения кнопок в палитре в направлении слева направо и сверху вниз: Image (Изображение), Rollover Image (Анимированную кнопку), внешний вид которой изменяется при подведении к ней курсора мыши, Table (Таблицу), Tabular Data (таблицу с занесенными в нее данными, подготовленными заранее в другом программном пакете), Draw Layer (Новый изобразительный слой), Navigation Bar (Навигационную панель со специальными кнопками для перемещения по сайту), Horizontal Rule (Горизонтальную линейку), Е-mail Link (Ссылку на электронный адрес), Date (Текущую дату), Server-Side Include (Активизацию серверной стороны), Flash Button (Анимированную Flash-кнопку), Flash Text (Анимированный Flash-текст), Shockwave (Анимационный файл в Shockwave-формате), Generator (средства, делающие Web-страницы динамическими, в частности, апплеты и элементы ActiveX, объекты, воспроизводимые с помощью дополнительных модулей) и пр.

Палитра Objects раздел Forms (Формы), показанная на рисунке 2.7, служит для создания форм (см. разд.2.8) и содержит следующие кнопки: Form (Форма), Text field (текстовое поле), Button (Кнопка), Checkbox и Radio Batton (Переключатели), List/menu (Список/меню), File field (Поле для передачи файлов) и Image field (Поле для передачи изображений), Hidden field (Скрытое поле) и Jump menu (Указатель гиперссылки для перехода на другой сайт).

Рисунок 2.7 - Палитра Objects раздел Forms

Палитра Objects раздел Text (Формы), показанная на рисунке 2.8 позволяет включать в страницу различные элементы текстового форматирования - жирный текст, наклонный, создавать списки, переносы и т.п. (рисунок 2.8).

Рисунок 2.8 - Палитра Objects раздел Text

В нижней части всех палитр группы Object (Объект) предусмотрены поля Layout (Выравнивание) и View (Просмотр), которые позволяют наблюдать и управлять размещением объектов на Web-странице (рисунок 2.9).

Рисунок 2.9 - Палитра Objects раздел Layout

И наконец, важная палитра, облегчающая во многом работу со скриптами PHP - палитра Object - PHP. Предусмотрена вставка различных элементов языка PHP, например открывающего и закрывающего тэгов, операторов и т.п. (рисунок 2.10).

Рисунок 2.10 - Палитра Objects раздел PHP

Прежде всего, надо тщательно продумать общую структуру сайта, а также структуру каталогов (папок) и размещение в них файлов. В начале работы следует разместить в корневом каталоге сайта все PHP-файлы и несколько подкаталогов, в том числе: изображений, создания баз данных, файлов, данных, новостей.

Для непосредственного создания сайта следует предварительно сделать все необходимые установки. С этой целью выбирается команда Edit | Preferences (Редактирование | Настройки). В результате откроется диалоговое окно Preferences (Настройки), показанное на рисунке 2.11 Здесь задаются различные настройки для будущего сайта - название, цвета ссылок, размещение каскадных таблиц стилей CSS, параметры использования различных элементов.

Рисунок 2.11 - Диалоговое окно Preferences

Для изменения любой страницы в Dreamweaver используется редактор страниц. На рисунке 2.12 показана рабочая область с загруженным документом inde. php. Редактировать можно в трех режимах - кода, дизайнера, совмещенного (кода и дизайнера). Для работы с PHP больше всего подходит первый режим. Просматривать страницы и запускать скрипты удобно по клавише F12, которая автоматически открывает страницу в выбранном заранее браузере.

Рисунок 2.12 - Редактор кода страниц

Для синхронизации изменений внесенных при модификации страниц сайта или добавлении данных (файлов или рисунков) используется редактор файлов (рисунок 2.13). Добавлять или удалять файлы можно из контекстного меню редактора, выбирая соответствующие пункты. Удобнее всего редактировать данные и модифицировать страницы в локальном режиме Local View, а затем синхронизировать с сервером в режиме Testing Server через пункт меню Sinchronize.

Рисунок 2.13 - Редактор файлов сайта


2.5 Создание электронных учебных материалов для ДО

Электронное пособие (как впрочем и любое электронное издание) для достижения максимального эффекта должно быть составлено несколько иначе по сравнению с традиционным печатным пособием: главы, параграфы и другие разделы должны быть более короткие, что соответствует меньшему размеру компьютерных экранных страниц по сравнению с книжными, затем каждый раздел, соответствующий рубрикации нижнего уровня, должен быть разбит на дискретные фрагменты, каждый из которых содержит необходимый и достаточный материал по конкретному узкому вопросу. Как правило, такой фрагмент должен содержать 1-3 текстовых абзаца (абзацы также должны быть короче книжных) или рисунок и подпись к нему, включающую краткое пояснение смысла рисунка.

Таким образом, студент работает не с непрерывно излагаемым материалом, а отдельными экранными фрагментами, дискретно следующими друг за другом. Изучив материал, представленный на экране, студент нажимает кнопку Следующий, размещенную обычно ниже текста, и получает следующий фрагмент материала. Если он видит, что не все понял или не все запомнил из предыдущего экрана, то нажимает расположенную рядом с первой кнопку Предыдущий и возвращается на один шаг назад. Дискретная последовательность экранов находится внутри (и в пределах) наименьшей структурной единицы, позволяющей прямую адресацию, т.е. внутри параграфа или подпараграфа (того, что характеризуется заголовком третьего уровня), содержит один или несколько фрагментов, последовательно связанных друг с другом гипертекстовыми связями.

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

При проектировании электронных учебников и организации обучения студентов на их основе на начальной стадии внедрения электронных учебников целесообразна фреймовая структура. Именно при ней предусматриваются отдельные фреймы для решения многих задач. Пример структуры из 5 фреймов, используемый в данной работе, представлен на рисунке 2.14.

Рисунок 2.14 - Фреймовая структура электронного учебника

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

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

Выбранные из оглавления разделы появляются во фрейме, названном "Основной текст электронного издания". Этот фрейм имеет самые большие размеры, необходимые для помещения 2-3 абзацев текста или рисунка с пояснениями. Указанный фрейм представляет собой главное информационное поле, т.е. содержит тот материал, который должен быть за один прием воспринят учащимся, осознан им и сохранен в оперативной, а затем и в долговременной памяти.

В этом тексте также содержаться ссылки в виде адресов (URL) иллюстраций (если они выводятся в специальных окнах), некоторых других электронных документов, рассматриваемых как дополнительная литература, анимационных, аудио - и видеофайлов, содержащих динамическое описание процессов или явлений, авторские пояснения и иллюстрационный видеоматериал. В качестве иллюстрации этого положения, могу сослаться на большое впечатление, которое произвела на автора динамическая схема (модель) производства сахара на автоматизированном производстве, оформленная в виде анимационного изображения в GIF-формате на соответствующем сайте. Для удобства студента в отдельный фрейм выделен глоссарий или список определений, переход к которым организован с помощью указателей гиперссылок от терминов, встречающихся в основном тексте и требующих пояснения. Этот фрейм не является обязательным. Для увеличения площади экрана, занятой основным фреймом, можно список определений формировать в дополнительном всплывающем окне.

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

Помимо 4 перечисленных фреймов, каждый из которых снабжен возможностью прокрутки, предусмотрен дополнительный 5-й фрейм. В нем размещается постоянная (неизменная для данного издания), или, иначе, справочная информация. Используя эту информацию, студент может перейти на сайт института, послать электронное письмо с вопросами или просьбой о предоставлении консультации или дополнительных материалов автору учебника, просмотреть список других пособиям по данной и близкой тематике. Иногда можно предусмотреть возможность сетевого обсуждения студентами вопросов, рассматриваемых в данном электронном учебнике.

Рисунки, которые должны присутствовать в тексте во многих случаях следует показывать в отдельных окнах, изолировано от фрагментов текста. Следовательно, в таком случае во фрейме "Основной текст издания" выводятся действительно только абзацы текста учебника. Если в одном из них присутствует гиперссылка на рисунок, то при воздействии на нее всплывает окно с графикой. Размер окна с рисунком не должен быть чрезмерно большим, чтобы иметь возможность перемещать это окно в пределах экрана для того, чтобы попытаться оптимально разместить на экране рисунок относительно поясняющего его текста. Например, рисунок может перекрывать фреймы "Оглавление" и "Глоссарий", так как во время изучения и запоминания изображения обычно не требуется перемещаться по тексту издания. После детального изучения рисунка вместе с поясняющим его текстом окно с рисунком, как правило, можно закрыть.

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

2.6 Разработка web-приложения

Одним из значимых элементов любого приложения является пользовательский интерфейс. Удобство и простота его реализации во многом определяют успех любого проекта. Неудачная подборка цветовой гаммы, в том числе несочетающихся цветов, бывает причиной нежелания пользователей посещать даже насыщенный полезной информацией web-ресурс. Для облегчения вывода текста созданы каскадные таблицы стилей. А в качестве языка программирования используется PHP, эффективно взаимодействующий с базами данных и позволяющий реализовывать серьезные проекты.

2.6.1 Разработка пользовательского интерфейса

В качестве цветовой гаммы выбраны синие и оранжевые цвета. Подобраны оттенки, достаточно хорошо гармонирующие друг с другом. Текст отображен шрифтом семейства Verdana, Arial, Sans-serif черным или темно-серым цветом.

Основными элементами интерфейса являются: верхняя заголовочная часть, содержащая меню, левая информационная панель, рабочая область страницы и нижняя часть, содержащая электронный адрес web-дизайнера.

Верхняя часть для всех страниц одинаковая, выполнена в синих оттенках. Здесь изображены логотип приложения и название. Внешний вид этой части страницы показан на рисунке 2.15.

Рисунок 2.15 - Заголовочная часть пользовательского интерфейса

В нижней части расположено пользовательское меню с ниспадающими подменю. Элементы меню выполнены в светло-синем стиле, подсветка активного пункта осуществляется оранжевым цветом. Меню написано на языке java-скрипт и взято с сайта бесплатных шрифтов [11]. Оно реализовано в файле popup_me. js, к которому прикрепляются файлы содержимого меню (menu. php - для основного меню, menu_adm. php - для меню администрирования) и содержимого подменю (menu_rli. js - для подменю основного меню, menu_rli_adm. js - для подменю меню администрирования). Внешний вид меню представлен на рисунке 2.16.

Рисунок 2.16 - Пользовательское меню

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

Рисунок 2.17 - Информативная панель

В нижней части страницы отображается строка статуса, на которой представлена информация о web-дизайнере (рисунок 2.18).

Рисунок 2.18 - Строка статуса

Цвет рабочей области страницы - белый, для лучшего восприятия пользователем темного текста. Элементы рабочей области, содержащие информацию, обрамлены в оранжевые фреймы с заголовочным текстом белого цвета, выведенном на оранжевом фоне. Текст фрейма темно-серого цвета, а ссылки на другие страницы - синего. Внешний вид рабочей области страницы показан на рисунке 2. 19.

Рисунок 2. 19 - Рабочая область страницы

2.6.2 Использование каскадных таблиц стилей CSS

В программе для удобства вывода интерфейсных элементов используются каскадные таблицы стилей CSS. Все стили хранятся в файле rli_style. css. Присоединение таблицы стилей к странице осуществляется следующим образом:

Вывести стиль применительно к элементу страницы можно, задав свойству class элемента название стиля, например, class=\"buttonOrange\".

Для создания стиля необходимо добавить в файл rli_style. css строку стиля в следующем виде:

Название стиля {Свойство стиля: Значение; Свойство стиля: Значение; }

Основные свойства стилей приведены в таблице 2.11

Таблица 2.11 - Назначение свойств стилей

№п/п

Имя свойства

Назначение свойства

1

height

Высота элемента

2

width

Ширина элемента

3

border-top

Параметры верхней границы

4

border-bottom

Параметры нижней границы

5

border-left

Параметры левой границы

6

border-right

Параметры правой границы

7

font-family

Семейство шрифта

8

font-size

Размер шрифта

9

font-weight

Свойства шрифта

10

color

Цвет текста

11

background-color

Цвет фона

12

background-image

Фоновый рисунок

13

border

Тип границы

Как уже говорилось ранее, файл, где хранятся стили, называется rli_style. css. Основные стили, используемые в приложении, и их описание, приведено в таблице 2.12.

Таблица 2.12 - Используемые каскадные таблицы стилей

№п/п

Название стиля

Назначение стиля

1

center,a,div,tr,td,table, input,textarea,p,small,body

Стили для тэгов

2

popfirst, poplast

Стиль пунктов меню

3

a. m, a. ml

Cтили ссылок

4

brbt

Рамка для пунктов меню

5

bpics

Высота белых полосок в меню

6

bcoursespic, btrainingpic, bcontactspic, baboutpic, bstudentpic, badminpic

Ширина белых полосок в меню

7

bb, bn, bi, bd

Рамки таблиц

8

popuser, a. pmenu

Пункты в меню

9

textheader

Стиль текста заголовка

10

textonlightblue

Текст на светло-голубом фоне

11

textonlight

Текст на светлом фоне (основной)

12

textonblue

Текст на синем фоне

13

textonorange

Текст на оранжевом фоне

14

textrederror

Текст ошибки

15

a

Основная ссылка

16

a. light

Текст ссылки

17

a. notunder

Текст ссылки без подчеркивания

18

buttonBlue

Синяя кнопка

19

buttonOrange

Оранжевая кнопка

20

buttonFiolete

Фиолетовая кнопка

21

hr_onlightblue_orange

Оранжевая разделительная полоска

22

hr_onlightblue_blue

Синяя разделительная полоска

23

table_admin

Таблицы на странице администрирования

2.6.3 Файловая структура приложения

Все файлы приложения размещаются в корневом каталоге сайта. Проект содержит несколько подкаталогов:

config, каталог с файлами конфигурации Apache и MySQL, а также тестовую базу данных;

data, хранит файлы описания и картинки курсов;

dbedit, хранит скрипты для создания базы данных (db_create_rli. php);

files, хранит файлы для загрузки студентами, может содержать отдельные подкаталоги для каждого курса для закачки подразделов курсов;

images, хранит все файлы изображений, используемые в приложении;

news, в котором хранятся файлы новостей для таблицы news.

В корневом каталоге хранятся файлы, описанные в таблице 2.13.

Таблица 2.13 - Описание файловой структуры приложения

№п/п

Название файла

Назначение файла

1

2

3

1

about_contacts. php

Страница о контактах

2

about_contacts_right. php

Область для вывода данных страницы о контактах

3

about_faq. php

Страница вопросов ответов

4

about_faq_right. php

Область для вывода данных страницы вопросов и ответов

5

about_info. php

Страница о проекте

6

about_info_right. php

Область для вывода данных страницы о проекте

7

about_teachers. php

Страница о преподавателях

8

about_teachers_right. php

Область для вывода данных страницы о преподавателях

9

admin. php

Страница администрирования

10

admin_add. php

Модуль администрирования - добавление данных в таблицу

11

admin_add_check. php

Модуль администрирования - проверка добавления данных в таблицу

12

admin_del. php

Модуль администрирования - удаление данных из таблицы

13

admin_edit. php

Модуль администрирования - вывод таблицы для редактирования

14

admin_right. php

Область для вывода данных страницы администрирования

15

admin_update. php

Модуль администрирования - форма обновления

16

admin_update_check. php

Модуль администрирования - проверка обновления

17

body_left. php

Левая часть всех страниц

18

body_list_after_header. php

Средняя часть (вывода данных) оранжевого фрейма

19

body_list_footer. php

Нижняя часть оранжевого фрейма

20

body_list_header. php

Заголовочная часть оранжевого фрейма

21

body_right. php

Область для вывода данных главной страницы

Продолжение таблицы 2.13

1

2

3

22

buttom. php

Нижняя строка всех страниц

23

contacts. php

Страница общения

24

contacts_chat. php

Страница чата

25

contacts_chat_right. php

Область для вывода данных страницы чата

26

contacts_forum. php

Страница форума

27

contacts_forum_right. php

Область для вывода данных страницы форума

28

contacts_guestbook. php

Страница гостевой книги

29

contacts_guestbook_right. php

Область для вывода данных страницы гостевой книги

30

contacts_right. php

Область для вывода данных страницы общения

31

courses. php

Информация о курсах

32

courses_for_students. php

Страница курсов

33

courses_for_students_right. php

Область для вывода данных страницы курсов

34

courses_info. php

Информация о курсах

35

courses_info_right. php

Область для вывода данных информации о курсах

36

courses_literature. php

Страница рекомендуемой литературы

37

courses_literature_right. php

Область для вывода данных страницы рекомендуемой литературы

38

courses_organization. php

Страница организации обучения

39

courses_organization_right. php

Область для вывода данных страницы организации обучения

40

courses_registration. php

Проверка регистрации на курсы

41

courses_registration_right. php

Область для вывода данных страницы проверки регистрации на курсы

42

courses_right. php

Область для вывода данных страницы о курсах

43

courses_technology. php

Страница технологии обучения

44

courses_technology_right. php

Область для вывода данных страницы технологии обучения

45

download. php

Страница загрузок

46

download_right. php

Область для вывода данных страницы загрузок

47

error. php

Страница вывода ошибки

48

error_right. php

Область для вывода данных страницы ошибки

49

find. php

Страница организации поиска

50

find_right. php

Область для вывода данных страницы организации поиска

51

header. php

Заголовок всех страниц

52

index. php

Главная страница

53

login_form. php

Модуль отображения данных о пользователе вошедшем в систему

54

menu. php

Модуль основного меню

55

menu_adm. php

Меню администрирования

56

menu_adm_rli. js

Формирование пунктов меню администрирования

57

menu_rli. js

Формирование пунктов основного меню

58

news. php

Страница новостей

59

news_list_after_header. php

Основная часть фрейма новостей слева

60

news_list_footer. php

Нижняя часть фрейма новостей слева

61

news_list_header. php

Заголовок фрейма новостей слева

62

news_right. php

Область для вывода данных страницы новостей

Продолжение таблицы 2.13

1

2

3

63

option. php

Параметры подключения к серверу MySQL

64

popup_me. js

Модуль формирования и отображения меню

65

progress. php

Страница успеваемости

66

progress_right. php

Область для вывода данных страницы успеваемости

67

rli_style. css

Каскадная таблица стилей приложения

68

statistics. php

Страница статистики

69

statistics_right. php

Область для вывода данных страницы статистики

70

student. php

Страница информации для студента

71

student_right. php

Область для вывода данных страницы информации для студента

72

student_shedule_exams. php

Страница расписания экзаменов

73

student_shedule_exams_right. php

Область для вывода данных страницы расписания экзаменов

74

student_shedule_from_teacher. php

Страница информации преподавателей курсов

75

student_shedule_from_teacher_right. php

Область для вывода данных страницы информации преподавателей курсов

76

student_shedule_internal. php

Страница расписания очных занятий

77

student_shedule_internal_right. php

Область для вывода данных страницы расписания очных занятий

78

student_shedule_tutorial. php

Страница расписания консультаций

79

student_shedule_tutorial_right. php

Область для вывода данных страницы расписания консультаций

80

training. php

Личная страница обучения

81

training_check_registration. php

Страница проверки регистрации пользователей

82

training_check_registration_right. php

Область для вывода данных страницы проверки регистрации пользователей

83

training_registration. php

Страница регистрации курсов

84

training_registration_right. php

Область для вывода данных страницы регистрации курсов

85

training_right. php

Область для вывода данных страницы обучения

86

training_test. php

Страница тестирования

87

training_test_right. php

Область для вывода данных страницы тестирования

88

user_form. php

Часть левой страницы с полями ввода логина и пароля

2.6.4 Формирование страниц приложения

Все скрипты PHP заключаются в скобки . Язык позволяет формировать страницы из нескольких отдельных составляющих. Для этого используются функции include и require. Например, скрипт

Включает в страницу текст файла header. php.

Практически все страницы приложения сформированы следующим образом:

Создается пустой файл нужной страницы с тэгами , и ;

К нему подключается файл header. php, в котором хранится скрипт, отображающий заголовочную часть с логотипом и названием сайта;

Далее подключается файл body_left. php, с содержимым левой части страницы.

Выводится основная часть страницы в виде НазваниеСтраницы_right. php;

Формируется нижняя строка из файла buttom. php.

В свою очередь файл НазваниеСтраницы_right. php содержит фреймы для вывода данных. Каждый фрейм включает заголовочную часть из файла body_list_header. php, затем выводится текст заголовок, нижняя часть строки заголовка body_list_after_header. php, текст фрейма и нижняя часть фрейма body_list_footer. php. Внешний вид фрейма, который используется для вывода данных на страницах приложения, представлен на рисунке 2. 20.

Рисунок 2.20 - Фрейм для вывода данных

Для вывода данных используется функция echo - это функция, которая отправляет браузеру текст. Между словом и символом конца строки "; " помещается строка, которая заключается в кавычки. Текст и тэги HTML, находящиеся внутри кавычек, отправляются браузеру. Если в тексте используется символ кавычки или прямой слэш, то перед ними помещается еще один слэш, т.е./” или // Таким образом выводятся и другие служебные символы.

Листинг некоторых основных страниц приложения приведен в приложении Б.

2.6.5 Передача значений форм в другие страницы

Чаще всего серверные скрипты используются для обработки результатов заполнения форм. Например, в гостевой книге посетитель вводит данные в форму, которая затем обрабатывается на сервере. Отвечая на какой-либо вопрос пользователь, аналогично, устанавливает значение определенных полей формы.

Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением. Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:

http: // localhost/action. php? имя=значение&... имя=значение

Схема состоит в том, что для каждого элемента, имеющего имя (NAME), создается пара NAME=VALUE, где VALUE - конкретное значение соответствующего элемента формы. Для кнопок и переключателей передается только значение выбранного элемента. Указанные выше пары соединяются в виде символьных последовательностей, причем в качестве разделителей пар используется символ &. Сформированный таким образом набор символов пересылается как часть URL-запроса и носит название строка запроса.

Внутри символьной последовательности могут содержаться символы, недопустимые в составе URL-запроса. Известно, что ASCII-символы кодируются двумя шестнадцатиричными цифрами. Поэтому недопустимые в составе запроса символы заменяются триадами из знака % и 2-х цифр шестнадцатиричной системы счисления, соответствующих этому символу.

Пары "имя=значение" создаются для каждого элемента ввода, для которого указано имя атрибутом NAME. В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам не интересен, значения передаются "незаметно" для обычного пользователя.

При исполнении скрипта на языке PHP создаются переменные с именами, соответствующими именам полей и содержащие соответствующие значения.

Cуществует специальный тип поля HIDDEN. Это поле, которое не выводится на экран, но, если ему присвоено имя атрибутом NAME, значение его передается в форму. Это бывает полезно, например, когда один обработчик может производить не одно, а несколько действий. С помощью такого поля можно задать тип действия, которое мы хотим произвести с данными формы.

В таблице 2.14 перечислены все элементы ввода, которые используются в приложении.

Таблица 2.14 - Описание файловой структуры приложения

№п/п

Тип

Описание

1

TEXT

Поле ввода текста

2

CHECKBOX

Кнопка-флажок. Используется для выбора варианта

3

SUBMIT

Кнопка, которая инициирует вызов обработчика формы

4

HIDDEN

Скрытое поле ввода текста

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

Введенное значение в поле TEXT передается в виде: имя=значение. В обработчике значение можно получить из переменной $имя. Для поля HIDDEN передача параметров осуществляется аналогично.

CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вообще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.

SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.

PHP предоставляет еще одну интересную особенность. Мы можем каждому элементу присвоить имя переменной массива.

В этом случае мы сможем получить доступ к значениям, обращаясь к элементам ассоциативного массива:

$personal ["name"] и $personal ["email"].

Кроме того, если включена директива PHP , то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик.

2.6.6 Взаимодействие приложения с web-сервером

Этапы взаимодействия данного приложения с web-сервером следующие:

Пользователь с помощью браузера формирует запрос на получение документа и через сеть Интернет посылает его на Web-сервер.

Сервер извлекает документ (форму) из своей базы данных и через сеть Интернет посылает его пользователю (клиенту).

Клиент с помощью браузера заносит в документ необходимые данные и вновь направляет его через сеть web-серверу.

Сервер с помощью CGI-программы анализирует полученный документ и (при необходимости) направляет его для обработки в соответствующее приложение.

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

Сервер передает выходную информацию клиенту.

Клиент (web-браузер) получает выходную информацию, которая отображается у него и может быть оценена и использована.

Таким образом, пользователь (клиент) имеет возможность не только получать информацию (документы) от сервера, но и передавать свои данные на сервер, где с помощью соответствующего приложения, установленного на Web-узле, эти данные будут обработаны, а клиент получит результаты обработки данных. Такая система взаимодействия обеспечивает принципиально более высокий уровень интерактивности в системе клиент-сервер, и реализацию дистанционной обработки данных клиента.

CGI-программа создает динамический (виртуальный) гипертекстовый документ или же формирует ссылку на уже имеющийся документ и дополняет его передачей результатов. Чаще всего для передачи данных от удаленного пользователя Web-серверу используются HTML-формы. Именно с их помощью организуется диалог между браузером пользователя и Web-сервером удаленного узла сети. Такой диалог позволяет осуществить важнейшие операции в сети Интернет.

Web-сервер, получив URL-запрос от клиента, присваивает переменной среды QUERY_STRING значение строки запроса и вызывает CGI-программу, указанную в первой части запроса. Затем CGI-программа может обратиться к переменной среды QUERY_STRING, чтобы осуществить обработку закодированной в ней информации.

2.6.7 Создание таблиц базы данных

Для подключения к серверу баз данных необходимо задать ряд параметров:

$SERVER = "localhost"; // Имя сервера

$USER = "root"; // Имя пользователя

$PASSWD = "geijr"; // Пароль

$DB = "rli_test"; // Имя базы данных "RLI_test"

$REPLY = "andrewnik@list. ru";

mysql_createdb ($DB); // Создание базы данных

Для выбора и работы с созданной базой данных сначала пытаемся присоединиться к серверу:

mysql_connect($SERVER,$USER,$PASSWD))

При удачной попытке выбираем базу данных:

mysql_select_db($DB);

И создаем таблицы. Таблицы базы данных создаются в виде скрипта PHP, затем скрипт запускается и база данных RLI_test появляется в списке данных MySQL сервера. Проверить процесс создания таблиц можно утилитой WinMySQLadmin 1.4 на странице Databases.

Для выполнения различных запросов на создание, модификацию и удаление таблиц и записей в них в MySQL используется команда:

mysql_query(“Строка запроса”);

//Создаем таблицу пользователей - users

mysql_query("CREATE TABLE users

(login char(16) PRIMARY KEY,

passwd char(128) NOT NULL,

lastname char(40) NOT NULL,

firstname char(40) NOT NULL,

middlename char(40) NOT NULL,

n_group char(40) NOT NULL,

registration_date date,

sex enum('мужской', 'женский'),

email char(128) NOT NULL,

student_code char(10) NOT NULL UNIQUE,

u_admin enum('y', 'n') DEFAULT 'n',

FOREIGN KEY (login) REFERENCES user_courses (login),

FOREIGN KEY (student_code) REFERENCES correct_codes (student_code))");

//Создаем таблицу курсов - courses

mysql_query("CREATE TABLE courses

(id_course int PRIMARY KEY AUTO_INCREMENT,

course_name char(128) NOT NULL,

course_annotation text,

course_full_description char(128),

course_picture_link char(128),

course_period float,

n_teacher int NOT NULL,

FOREIGN KEY (id_course) REFERENCES user_courses (n_course),

FOREIGN KEY (id_course) REFERENCES course_parts (id_course_part))");

//Создаем таблицу ссылок загрузок курсов - course_parts

mysql_query("CREATE TABLE course_parts

(id_course_part int PRIMARY KEY AUTO_INCREMENT,

n_course int NOT NULL,

n_part int NOT NULL,

download_link char(128) NOT NULL,

download_description text,

test_name char(128),

test_question_count int NOT NULL DEFAULT 5,FOREIGN KEY (id_course_part) REFERENCES questions (n_course_part),

FOREIGN KEY (id_course_part) REFERENCES user_tests (n_course_part))");

//Создаем таблицу вопросов - questions

mysql_query("CREATE TABLE questions

(id_question int PRIMARY KEY AUTO_INCREMENT,

n_course_part int NOT NULL,

question_content char(255) NOT NULL,

FOREIGN KEY (id_ question) REFERENCES answers (n_ question))");

//Создаем таблицу ответов - answers

mysql_query("CREATE TABLE answers

(id_answer int PRIMARY KEY AUTO_INCREMENT,

n_question int NOT NULL,

answer_content char(255) NOT NULL,

right_answer enum('y', 'n') DEFAULT 'n' NOT NULL)");

//Создаем таблицу курсов пользователей - user_courses

mysql_query("CREATE TABLE user_courses

(id_user_course int PRIMARY KEY AUTO_INCREMENT,

login char(16) NOT NULL,

n_course int NOT NULL,

status enum('reg', 'end', 'not')),

registration_date date,

end_date date,

FOREIGN KEY (id_ user_course) REFERENCES user_tests (n_user_course))");

//Создаем таблицу тестов пользователей - user_tests

mysql_query("CREATE TABLE user_tests

(id_user_test int PRIMARY KEY AUTO_INCREMENT,

n_user_course int NOT NULL,

n_course_part int NOT NULL,

attemps int,

percent int,

last_test_date date)");

//Создаем таблицу преподавателей - teachers

mysql_query("CREATE TABLE teachers

(id_teacher int PRIMARY KEY AUTO_INCREMENT,

teacher_name char(128) NOT NULL,

teacher_degree char(128),

teacher_email char(128),

teacher_photo char(128),

teacher_about text,

FOREIGN KEY (id_teacher) REFERENCES courses (n_teacher))");

//Создаем таблицу корректных шифров студентов - correct_codes

mysql_query("CREATE TABLE correct_codes

(student_code char(10) PRIMARY KEY)");

//Создаем таблицу новостей - news

mysql_query("CREATE TABLE news

(id_news int PRIMARY KEY AUTO_INCREMENT,

title char(128) NOT NULL,

date_news date,

body_news char(128) NOT NULL,

autor_news char(100))");

Используемые типы данных и их описание приведено в таблице 2.15.

Таблица 2.15 - Используемые типы данных

№п/п

Тип данных

Описание

1

int

Целое число. В MySQL тип данных int может быть со знаком или без знака

2

float

Число с плавающей запятой. Этот тип допускает больший диапазон значений, чем int, но не обладает его точностью

3

char(длина)

Символьная величина фиксированной длины. Поля типа char не могут содержать строки длины большей, чем указанное значение. Поля меньшей длины дополняются пробелами

4

date

Стандартное значение даты. Формат хранения даты по умолчанию ‘yyyy-mm-dd’

5

text

Символьная величина переменной длины

6

enum(‘знач1’, …, ‘значN’)

Перечисляемый тип

Создание базы данных и таблиц базы данных осуществляется один раз на сервере при установке web-приложения. Созданная база данных по умолчанию хранится в папке установки MySQL в папке data/rli_test. Заранее созданную и наполненную содержимым базу данных можно перенести на сервер, скопировав указанную папку в аналогичную на сервере.

Закрытие выбранной базы данных осуществляется функцией mysql_close().


2.6.8 Функции для работы с базами данных

Извлечение данных из таблицы осуществляется в цикле while() с помощью функции mysql_fetch_row, в качестве параметра которой подается массив $result, хранящий результат выполнения строки запроса выборки данных из таблиц. Функция выбирает строку из массива, которая записывается в переменную $row и автоматически переходит на следующую строку. При следующем вызове mysql_fetch_row, выбирается следующая строка из массива, и так далее до тех пор, пока не будет достигнут конец массива. В этом случае mysql_fetch_row вернет значение false, которое послужит сигналом, что все записи выбраны, и можно завершить цикл.

К каждому столбцу в массиве $row можно обратиться по его порядковому номеру, который заключается в квадратные скобки, например, $row [1], в которой хранятся значения второго столбца таблицы данных. Элементы массивов нумеруются с 0, а не с 1.

Функция mysql_fetch_array() позволяет обращаться к каждому полю массива не по номеру, а по имени, например, $row ["user"] ("user" - название столбца в базе данных и в массиве).


2.6.9 Использование механизма Cookies

Cookie - это переменная, которая хранится на диске у пользователя. Cookies используются для хранения небольшой по объему информации у клиента, например, его логина и другой информации.

Для установки Cookies используется функция SetCookie. В общем случае для этой функции можно указать целых шесть параметров, но обязательный из них является только один - name:

name - задает имя (строка), закрепленное за Cookie;

value - определяет значение переменной (строка);

expire - время жизни переменной (целое число). Если этот параметр не указан, Cookie будет "жить" до конца сессии, то есть до закрытия браузера. Если время указано, то, когда оно наступит, Cookie самоуничтожится;

path - путь к Cookie (строка);

domain - домен (строка). В качестве значения устанавливается имя хоста с которого установили;

secure - передача через HTTPS-соединение.

Обычно используются только три первые параметра.

При использовании Cookies нужно иметь в виду, что Cookies должны быть установленными до первого вывода сценария (будь то оператор echo или вывод какой-нибудь функции). Поэтому желательно устанавливать Cookies в самом начале сценария. Дело в том, что Cookies устанавливаются с помощью определенного заголовка сервера, а если вы выводите что-нибудь, то это означает, что начинается тело документа. В результате Cookies не будут установлены.

Получить доступ к Cookies достаточно просто. Все они хранятся в переменной окружения НТТР_СООКIЕ. Если мы установили несколько Cookies, то в переменной НТТР_СООКIЕ они будут перечислены через "; " (через точку с запятой). Например:

mycookiel=valuel; mycookie2=value2

Для чтения значения Cookies можно обращаться к ним, как к обыкновенным переменным. Например: echo $user_name_. Только необходимо проверить существование переменной.

В работе Cookies используются для хранения данных логина пользователя, вошедшего в систему, значения параметра, вошел ли пользователь в систему (login_reg) и значения параметра, является ли пользователь администратором (login_admin). Значения переменных хранятся соответственно в Cookies user_name_, login_reg, login_admin. Это очень удобно, так как доступ к значению переменной, заданной Cookie, можно получить с любой страницы, при этом нет необходимости предавать их через поля. Cookie создаются на период сессии работы с системой, при выходе из системы они автоматически удаляются.


2.6.10 Описание алгоритма работы web-приложения

Опишем, как происходит работа системы. Алгоритм работы приложения представлен на рисунке 2.21.

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

Рисунок 2.21 - Алгоритм работы web-приложения

На странице обучения пользователь получает возможность зарегистрироваться на какой-либо из предложенных курсов. Одновременно можно регистрировать до трех курсов одному пользователю. Выбрав зарегистрированный курс пользователь попадает на страницу обучения по этому курсу. Здесь проверяется не истек ли период действия курса, так как любой курс регистрируется на определенный срок. Курс разбит на подразделы. Студент скачивает материалы по подразделу и проходит тестирование. При успешном прохождении теста пользователь получает доступ к материалам следующего подраздела курса. После успешного тестирования по всем подразделам, необходимо пройти итоговый тест. В итоговом тесте студент отвечает на случайным образом выбранные вопросы по всему курсу. Каждый тест можно сдавать до трех раз. При неуспешной третьей попытке курс считается не сданным. Результаты тестирования хранятся в базе данных.

2.7 Запуск и описание работы с web-приложением

Для запуска web-приложения необходимо запустить Интернет-браузер и набрать в строке адреса следующее:

в локальном режиме http: // localhost/rlearning. ru или http: // localhost/rlearning. ru/index. php;

при регистрации домена в сети Интернет http: // www. rlearning. domen. ru или http: // www. rlearning. domen. ru/index. php (где domen - название домена).

Откроется главная страница приложения (рисунок 2.22).

Рисунок 2.22 - Главная страница web-приложения

Пользователь получает возможность навигации по материалам сайта, регистрации (для незарегистрированных пользователей) или входа в систему (для зарегистрированных пользователей) и дистанционного обучения.

С левой стороны расположены поля для входа в систему и поле для поиска информации по сайту, а также показаны последние новости.

2.7.1 Навигация по сайту

Навигация по сайту организована средствами меню, расположенного в верхней части страницы. Меню состоит из 7 пунктов.

Первый пункт "Новости" содержит информацию о новостях сайта.

Пункт "Курсы" содержит информацию о курсах дистанционного обучения представленных на сайте. Пункт меню состоит из четырех подпунктов "Курсы обучения для студентов" - здесь представлены краткие аннотации курсов, а зарегистрированный в системе пользователь может зарегистрироваться на доступный курс. Более подробная информация по этой странице представлена в п.2.7.2. Подпункт меню "Организация обучения" переносит на страницу информации по организации обучения. При выборе подпункта "Технология обучения", разрешаться все вопросы, связанные с технологией обучения. Подпункт "Рекомендуемая литература" содержит информацию по литературе, которая рекомендуется при изучении курсов.

Пункт меню "Обучение" включает подпункты "Регистрация" и "прохождение обучения", связанные непосредственно с обучением через web-сайт. Более подробно эти подпункты рассмотрены в п.2.7 2.

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

Меню "О проекте" включает подпункты "О преподавателях" - информация о преподавателях с возможностью отправить электронное письмо преподавателю, "Контакты" - как связаться с разработчиком сайта и руководителем работы (рисунок 2.23), "Часто задаваемые вопросы" - вопросы задаваемые чаще всего посетителями сайта.

Рисунок 2.23 - Страница "Контакты"

Меню "Download" содержит ссылки загрузки учебных материалов и программ, загрузка которых не требует регистрации в системе.

Меню "Студенту" включает информацию подготовленную специально для студентов - это расписания очных занятий, расписания консультаций и экзаменов, а также информация по дистанционным консультациям преподавателей в чате или форуме.

2.7.2 Обучение

Для того чтобы получить доступ к обучению на сайте необходимо зарегистрироваться в системе. Переход на страницу регистрации осуществляется щелчком по ссылке "Регистрация" в левой части страницы или через меню "Обучение" - "Регистрация". Открывается форма регистрации (рисунок 2.24). Пользователь должен заполнить все поля формы и нажать на кнопку "Регистрация". Программа проверяет наличие введенного логина в базе данных и сверяет введенный шифр с базой разрешенных шифров. При успешной проверке происходит регистрация и данные из формы записываются в базу данных.

Рисунок 2.24 - Форма "Регистрация"

Теперь пользователь может войти в систему, просто осуществив ввод логина и пароля в левой части формы. При правильном вводе он попадает на личную страницу. С этой страницы он может продолжить ранее начатое обучение по курсу, либо перейти на страницу курсов для регистрации нового курса.

Перед тем как начать обучение необходимо зарегистрироваться на курс. Регистрация на курс происходит на странице "Курсы" выбором ссылки "Регистрация" для данного курса (рисунок 2.25). Одновременно может быть три активных курса. Зарегистрироваться на уже пройденный, непройденный или активный курс повторно нельзя. Подтвердив регистрацию курса, пользователь попадает на страницу обучения, на которой показаны активные курсы и уровень их прохождения (рисунок 2.26). По ссылке "Скачать" пользователь скачивает материалы для обучения, изучает их и проходит тестирование. Для прохождения тестирования необходимо щелкнуть по ссылке "Пройти тест". Далее откроется форма тестирования. Последовательно задаются N вопросов, выбранные случайным образом, и предлагаются перемешанные случайным образом варианты ответов. Можно выбрать один или более ответ на вопрос (рисунок 2.27). Ответ на вопрос считается верным, если пользователь выбрал все правильные варианты ответов. Можно предпринять три попытки сдачи теста. Если пользователь отвечает более чем на 70% заданных вопросов, тест считается пройденным (рисунок 2.28). Пользователь получает доступ к следующему подразделу курса или к итоговому тесту. В противном случае, если использованы все попытки, курс считается не сданным.

Рисунок 2.25 - Страница "Курсы"

Рисунок 2.26 - Страница "Обучение"

Рисунок 2.27 - Страница "Тестирование"

Рисунок 2.28 - Страница "Статистика тестирования"

Отличие итогового теста от теста по подразделу заключается в том, что задаются 2N вопросов, выбранных случайным образом из всех подразделов курса. Если дано более 70% правильных ответов курс считается пройденным. Листинги модуля обучения приведены в приложении В.

2.7.3 Администраторская часть

Если войти в систему под логином администратора (по умолчанию логин "admin" пароль "cneltyn"), то откроется скрытое подменю "Админ" (рисунок 2.29). Администратором может быть пользователь подсистемы, которому в таблице базы данных "users" задано значение “y” поля "u_admin".

Рисунок 2.29 - Меню "Админ"

Администратор имеет возможность просмотра статистики системы (рисунок 2.30). Здесь отображается информация о количестве зарегистрированных пользователей, доступных курсах обучения и количестве их подразделов, а также преподавателях курсов.

Рисунок 2.30 - Страница "Статистика"

Также администратор может посмотреть успеваемость студентов (рисунок 2.31), т.е. на какие курсы зарегистрированы студенты, и на каких этапах прохождения обучения они находятся.

Рисунок 2.31 - Страница "Успеваемость"

Самая главная особенность, характерная для администратора системы - это возможность редактирования курсов, тестов, а также редактирования данных всех таблиц базы данных. Для редактирования таблиц необходимо зайти в пункт меню "Админ", выбрать имя таблицы для редактирования и нажать кнопку "Выбрать" (рисунок 2.32).

Рисунок 2.32 - Страница "Выбор таблицы для редактирования"

На следующей страницы отображаются данные, которые хранятся в данной таблице. Имеется возможность добавления данных, изменения существующих данных и удаления данных (рисунок 2.33).

Рисунок 2.33 - Страница "Редактирование таблиц базы данных"

Листинги модуля администрирования приведены в приложении Г.

2.8 Предложения по размещению приложения в сети Интернет

При выборе хостинга необходимо учитывать поддержку языка PHP и сервера баз данных MySQL. Предлагается использовать web-хостинг Agava. ru. Из предлагаемых тарифных планов наиболее интересным является тарифный план Normal. Он включает в себя поддержку PHP версии 4, поддержку CGI скриптов (скрипты могут быть написаны на shell, C, Perl и других языках). В рамках этого тарифного плана предоставляется доступ к серверу баз данных MySQL и большое дисковое пространство для сайта (до 500 Мб).

Предлагается бесплатный домен. При покупке хостинга по тарифному плану "Normal" можно бесплатно получить домен в любой из предлагаемых зон при оплате хостинга от трех месяцев.

Трафик на данном тарифном плане "Normal" неограничен. Понятие "неограниченный трафик" означает то, что трафик никаким образом не ограничивается. Входящий и исходящий, российский и зарубежный трафик не дифференцируются между собой.

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

управлять (создавать, редактировать, удалять) почтовыми аккаунтами в вашем домене;

читать и отправлять почту через веб-интерфейс;

активировать фильтрацию СПАМа для вашего аккаунта;

управлять планировщиком заданий (cron) через веб-интерфейс;

создавать поддомены 3-го уровня в вашем домене (кол-во доменов 3-го уровня неограничено);

создавать, редактировать, удалять базы данных MySQL, а также работать с БД MySQL через PHPMyAdmin;

администрировать свой сайт с помощью файл-менеджера (загрузка, редактирование файлов по HTTP протоколу);

создавать дополнительных ftp-пользователей имеющих ограниченный или полный доступ к сайту, разрешать или запрещать анонимный ftp-доступ;

управлять веб-сервером Apache (mime-types, apache handlers, авторизация, индексы каталогов, страницы HTTP-ошибок, hotlink-защита, запрет доступа с определенных IP и. т.п.);

SSH через браузер - администрирование вашего сервера через командную строку с использованием Java-апплета для вашего броузера;

просматривать статистические отчеты о посещениях вашего сайта сгенерированные программами Analog или Webalizer;

работа с почтой через веб-интерфейс. Поддерживается возможность чтения, отсылки почты, создания папок, настройки правил сортировки, настройка сборщика внешней почты (сбор сообщений со сторонних почтовых ящиков в ваш почтовый ящик у нас).

Стоимость хостинга на тарифном плане “Normal” порядка 250 руб.


3. Экономическая часть

3.1 Определение трудоемкости разработки приложения

Для определения трудоемкости разработки АИС (автоматизированной информационной системы) прежде всего составляется перечень всех основных этапов работ, которые должны быть выполнены [18]. Форма разделения работ по этапам с указанием трудоемкости их выполнения приведена в таблице 3.1

Таблица 3.1 - Распределение работ по этапам и видам и оценка их трудоемкости

Этап проведения

Вид работы на данном этапе

Трудоемкость выполнения, чел. - ч.

Подготовительный

Сбор данных о предметной области

50

Определение задач

20

Анализ данных

40

Создание структуры баз данных

10

Этап реализации

Разработка алгоритма

20

Разработка web-интерфейса

40

Написание программы

90

Заключительный

Отладка программы

100

Оформление пояснительной записки

40

ИТОГО трудоемкость выполнения дипломной работы

410

3.2 Расчет затрат на разработку приложения

Определение затрат на разработку АИС производится путем составления соответствующей сметы, которая включает следующие статьи:

Материальные затраты.

Затраты на оплату труда.

Отчисления на социальные нужды.

Амортизация основных фондов.

Прочие затраты.

Если для разработки АИС используется электрооборудование, то необходимо рассчитать затраты на электроэнергию по форме, приведенной в таблице 3.2

Таблица 3.2 - Затраты на электроэнергию

Наимено-вание оборудо-вания

Паспортная мощность, кВт

Коэффициент использо-вания мощности

Время работы оборудования для разработки АИС, ч

Цена электроэнергии,

Сумма, руб.

ПК

0,300

0,8

410

1,15

113,16

Монитор

0,080

0,9

410

1,15

35,31

ИТОГО

148,47

Общая сумма затрат на электроэнергию (ЗЭ) рассчитывается по формуле (3.1):

,

(3.1)

где Mi - паспортная мощность i-го электрооборудования, кВт;

Ki - коэффициент использования мощности i-го электрооборудования (принимается Кi = 0.70.9);

Ц - цена электроэнергии, руб/кВтч;

- вид электрооборудования;

количество электрооборудования;

- количество электрооборудования.

руб.

Общая сумма затрат на оплату труда определяется по форме, приведенной в таблице 3.3

Таблица 3.3 - Затраты на оплату труда

Категория работника

Квалификация

Трудоемкость разработки АИС, чел. - ч.

Часовая ставка, руб/ч

Сумма, руб

Разработчик программы

Студент-программист

410

1.85

760.00

Руководитель диплома

Доцент

20

33

660.00

Консультант по БЖД

Доцент

2

33

66.00

Консультант по экономической части

Старший преподаватель

2

21

42.00

Итого

-

-

-

1528.00

Общая сумма затрат на оплату труда ( ) определяется по формуле (3.2):

,

(3.2)

где - часовая ставка i-го работника, руб.,

- время на разработку АИС, ч,

- категория работника,

- количество работников, занятых разработкой АИС.

Общее время работы программиста Т определяется из таблицы 3.1 и равно 410 часов. Министерством образования РФ установлены следующие нормы затрат рабочего времени на одну дипломную работу: руководитель работы 20 ч, консультант по БЖД - 2 ч, консультант по экономической части - 2 ч.

Среднечасовая заработная плата разработчика рассчитывается по формуле (3.3):

,

(3.3)

где - среднемесячная заработная плата разработчика АИС (в данном случае берется размер стипендии), руб.;

- среднемесячный фонд рабочего времени (приблизительно 100 часов в месяц).

Стоимость одного часа работы программиста равна:

руб.

Общая сумма затрат на оплату труда равна:

руб.

В статью "Отчисления на социальные нужды" включаются сумма единого социального налога и взносы на страхование от несчастных случаев и профессиональных заболеваний, которые составляют соответственно 26% и 0,2% (для НИ РХТУ) от затрат на оплату труда всех работников, занятых выполнением НИР. Студенческие стипендии данным налогом не облагаются.

Отчисления на социальные нужды составят:

руб.

Расчет амортизационных отчислений приведен в таблице 3.4

Таблица 3.4 - Расчет амортизационных отчислений

Наименование оборудования

Стоимость оборудования, руб

Годовая норма амортизации,%

Эффективный фонд времени работы оборудования, ч/год

Время работы оборудования во время разработки АИС, ч

Сумма, руб.

Компьютер разработчика

13098.00

20

2224

410

482.93

Итого

482.93

Общая сумма амортизационных отчислений определяется по формуле (3.4):

,

(3.4)

где - стоимость i-го оборудования, руб.;

- годовая норма амортизации i-го оборудования,%;

- время работы i-го оборудования за весь период разработки АИС, ч;

- эффективный фонд времени работы i-го оборудования за год, ч/год;

- вид оборудования;

- количество оборудования.

Сумма амортизационных отчислений составит:

руб.

В статью “Прочие затраты” включаются расходы на содержание административно-управленческого и учебно-вспомогательного персонала, на отопление, освещение и текущий ремонт помещений, канцелярские, командировочные и прочие хозяйственные расходы. Затраты по этой статье принимаются в размере 70-75% от затрат на оплату труда (по согласованию с консультантом по экономической части).

руб.

На основании полученных данных по отдельным статьям составляется смета затрат на разработку АИС по форме, приведенной в таблице 3.5

Таблица 3.5 - Смета затрат на разработку web-приложения "R@Learning Institute"

Статьи затрат

Сумма, руб.

1 Материальные затраты

148.47

2 Затраты на оплату труда

1528.00

3 Отчисления на социальные нужды

201.22

4 Амортизация основных фондов

482.93

5 Прочие затраты

1069.60

Итого по смете

3430.22

Затраты на разработку АИС составят руб.

3.3 Определение возможной цены разработанного приложения

Величина возможной (договорной) цены приложения должна устанавливаться с учетом эффективности, качества и сроков ее разработки на уровне, отвечающем экономическим интересам заказчика (потребителя) и исполнителя.

Договорная цена ( ) для прикладных АИС рассчитывается по формуле (3.5):

,

(3.5)

где - затраты на разработку АИС (из таблицы 3.5), руб.;

- средний уровень рентабельности АИС.% (принимается в размере 20-30% по согласованию с консультантом по экономической части);.

Исходя из этого, договорная цена данной АИС будет следующей:

руб.

3.4 Экономическое обоснование выбора комплекса технических и программных средств

Выбор средств программирования при проектировании во многом зависит от возможностей системы и в не меньшей степени от знакомства с ней разработчика. Web-приложение "R@Learning Institute" написано с использованием современных средств программирования, таких как язык PHP 4 и сервера баз данных MySQL. Для работы этих средств требуется установка web-сервера Apache.

Язык PHP представляет собой полноценный скриптовый язык. Он прост в использовании и функциональнее других современных языков. Практически ни один уважающий себя web-ресурс не обходится без использования на страницах скриптов, написанных на PHP. Язык в полной мере соответствует требованиям, предъявляемым к современным средствам проектирования. А поддержка основных форматов баз данных, таких как mSQL, MySQL, Oracle, InterBase, PostgreSQL, dBase, доступ к которым реализован через их собственные API, обусловило его широчайшее применение.

Перечисленные средства бесплатны, нетребовательны к аппаратной части системы, быстры в работе и поддерживают все те возможности, которые необходимы при разработке данного программного продукта. Они работают в операционных системах UNIX, Microsoft Windows 98/XP.

В качестве среды разработки используется популярное средство создания web-узлов Macromedia Dreamweaver MX 2004. Для работы с ним рекомендуется установка операционной системы Microsoft Windows XP.

Следует учитывать тот фактор, что конечный пользователь, для которого и разработано данное web-приложение, увидит лишь последовательность web-страниц с требуемой ему информацией. И на компьютере пользователя должен быть установлен лишь web-браузер, поддерживающий отображение страниц с PHP-скриптами, например Internet Explorer 5 и выше. Наиболее популярной современной операционной системой для домашнего использования является Microsoft Windows XP Home Edition или Microsoft Windows XP Professional Edition, в которые уже встроен браузер Internet Explorer 6. Операционные системы Windows 98/NT/2000, UNIX сейчас используется довольно редко. Поэтому будем учитывать требования, предъявляемые к Windows XP.

Таким образом, выбор технических средств зависит от нескольких факторов:

Минимальные требования для работы операционной системы (Windows XP);

Минимальные требования к среде разработки программного обеспечения (Macromedia Dreamweaver MX 2004);

Минимальные требования к средствам разработки программного обеспечения (Apache, PHP 4, MySQL);

Минимальные требования к разрабатываемой системе;

Минимальные требования к пользовательской системе.

Термин "минимальные" включает в себя тот минимум, при котором данный модуль работает. Этих требований часто не хватает для комфортной работы с программой (необходимый минимум для работы с системой без больших временных задержек, без сбоев).

Рекомендуемыми требованиями для операционной системы Windows XP Home Edition являются Pentium IV/Celeron, оперативная память 256 Мб, жесткий диск объемом 3 Гб.

Для установки пакета Macromedia Dreamweaver MX 2004 необходим компьютер, работающий под управлением Windows XP. Таким образом, эти требования такие же, как и требования к операционной среде.

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

Предлагается следующая конфигурация компьютера для разработки web-приложения:

Процессор Intel Celeron 2,8GHz (128k, 400MHz) Box: 2750 руб.;

Материнская плата - S478 GIGABYTE 8LD533-P i845GL (mATX, 2DDR, SB, SVGA, LAN, U2.0): 1612 руб.;

Оперативная память - DIMM 256Mb DDR SDRAM M. Tec (PC3200, 400MHz, CL2.5): 646 руб.;

Жесткий диск - 40Gb IDE MAXTOR “6E040L0” 7200rpm U-ATA 133: 1509 руб.;

Дисковод FDD 3,5” - MITSUMI: 182 руб.;

CD-ROM - ASUS “CD-S520 QuieTrack” 52x: 466 руб.;

Монитор - 17” SAMSUNG “793DF” 0,20 (1280x1024@65 Гц) MPRII TCO’03: 4206 руб.;

Корпус - Miditower BX-77S ATX2.03, 300w: 1081 руб.;

Клавиатура - MITSUMI Classic PS/2: 267 руб.;

Мышь - LOGITECH “M-SBF90” оптич. PS/2: 227 руб.;

Сетевой фильтр - SVEN “Optima” (3,1м) на 5 розеток: 152 руб.;

Операционная система - Windows XP Home Edition: 2122 руб.;

Средство разработки web-узлов - Macromedia Dreamweaver MX 2004 Studio: 4200 руб.

Предлагается следующая конфигурация клиентской рабочей станции:

Процессор Intel Celeron 1,8GHz (128k, 400MHz) Box: 1797 руб.;

Материнская плата - S478 GIGABYTE 8LD533-P i845GL (mATX, 2DDR, SB, SVGA, LAN, U2.0): 1612 руб.;

Оперативная память - DIMM 256Mb DDR SDRAM M. Tec (PC3200, 400MHz, CL2.5): 646 руб.;

Жесткий диск - 40Gb IDE MAXTOR “6E040L0” 7200rpm U-ATA 133: 1509 руб.;

Дисковод FDD 3,5” - MITSUMI: 182 руб.;

CD-ROM - ASUS “CD-S520 QuieTrack” 52x: 466 руб.;

Монитор - 17” SAMSUNG “793DF” 0,20 (1280x1024@65 Гц) MPRII TCO’03: 4206 руб.;

Корпус - Miditower BX-77S ATX2.03, 300w: 1081 руб.;

Клавиатура - MITSUMI Classic PS/2: 267 руб.;

Мышь - LOGITECH “M-SBF90” оптич. PS/2: 227 руб.;

Сетевой фильтр - SVEN “Optima” (3,1м) на 5 розеток: 152 руб.;

Операционная система - Windows XP Home Edition: 2122 руб.

Цены на комплектующие даны на 5 мая 2005 по данным ТТЦ "Realm" г. Новомосковск.

Предлагается разместить web-сайт на сервере хостинг-провайдера Agava. ru. Поэтому стоимость серверной части web-приложения, будет включать лишь стоимость хостинга при оплате трех месяцев, т.е.750 руб. При этом регистрация сайта осуществляется бесплатно.

Итого: 34437 руб.

Таким образом, общая сумма затрат на технические средства и программное обеспечение составит: 34437 руб.

3.5 Описание экономического и социального эффекта от разработки приложения

При разработке web-приложения “R@Learning Institute” предполагалось, что внедрение данной системы не окажет какой-нибудь существенной экономической выгоды. Наоборот, для ее внедрения понадобятся дополнительные вложения средств, так как регистрация домена, размещение, хостинг и поддержка web-приложения в сети Интернет требуют дополнительных затрат. Например, хостинг с поддержкой PHP и MySQL от Agava. ru стоит порядка 9$ в месяц, регистрация домена бесплатна.

Внедрение данной системы позволит решить ряд задач:

Усовершенствуется организации учебного процесса и научной деятельности за счет обеспечения коллективного контролируемого доступа к информационным ресурсам сети Интернет;

Создание базы данных позволит обеспечить безопасность информации на должном уровне;

Повысит престиж института.

Дистанционное обучение представленное в данном проекте состоит из нескольких этапов:

Регистрация пользователя в системе;

Регистрация курса обучения;

Получение доступа к электронным материалам курса;

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

Прохождение тестирования.

Прохождение всех этапов дистанционного обучения совокупно с требованиями предъявляемыми к студенту институтом, т.е. обязательный минимум посещения лекций и т.п., позволит студенту получить допуск к сдаче зачета или экзамена без выполнения каких-то заданий курса. Эти задания должны быть определенны преподавателем - разработчиком данного курса.

Электронные материалы полностью загружены на сервер в сети Интернет, поэтому зарегистрированный пользователь получает доступ к информации и может раньше приступать к выполнению поставленных задач. Регистрация пользователя обязательно подтверждается преподавателем.

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

Дистанционное обучение хорошо вписывается в рамки системы АИС ВУЗ. Такой способ обучения позволяет без отрыва от рабочего места, заниматься изучением обязательного материала курса.

Так как на данный момент все больше людей обращает свое внимание на Internet, не только в целях развлечений, но и в образовательных целях, то тема дистанционного обучения как нельзя лучше подходит для данной работы.

Существуют различные способы организации дистанционного обучения на базе новых информационных технологий: на основе интерактивного телевидения, телекоммуникаций, на основе технологий CD-ROM, учебного радио и телевидения, видеозаписи, пр.

При использовании видеокассет, радио и телевидения в обучении связь получается односторонней. Преподаватель, говоря об очередной теме не ориентируется на аудиторию (как это бывает при очном обучении). То есть, если кто-то что-то не понял, можно, конечно, перемотать кассету, но она не ответит на вопрос, и сомнения останутся. И педагог не сможет уделить внимание каждому ученику отдельно.

Интерактивное телевидение, радио пока не актуально для наших сетей в связи с низкой скоростью передачи данных и достаточно высокой стоимостью выделенных каналов. Метод дистанционного обучения посредством web-интерфейса с возможностью проверки уровня усвоения знаний наиболее удобен, так как не требует больших затрат и предоставляет актуальную информацию в удобной форме и в удобное время.

Социальный эффект от внедрения web-приложения “R@Learning Institute” по мнению автора следующий:

Дополнительная возможность пользователю пройти курс обучения, изучить материалы данного курса и осуществить контроль знаний в удобном для него месте и в удобное время;

Возможность обучения не зависит от фактического расстояния между преподавателем и студентом;

Возможность обучения без привязки к конкретному компьютеру;

Снижение нагрузки на преподавателя посредством автоматизированного контроля знаний с выставлением итоговых оценок. Просмотреть результаты тестирования преподаватель может в любой момент и имеет возможность прекратить обучение по курсу того или иного студента при неудовлетворительных промежуточных результатах. Для этого нужен лишь доступ в Интернет;

Получение своевременного доступа к электронным материалам курсов зарегистрированным пользователям в любой момент при наличии доступа в Интернет;

Удобство пользователя при работе с web-приложением. Нет необходимости в установке какого-либо дополнительного программного обеспечения;

Обучение ведется преимущественно самостоятельно, но пользователь может воспользоваться помощью преподавателя посредством электронной почты, дистанционной консультации в чате или, задав вопрос в форуме;

Изучение материала происходит в удобном для пользователя темпе, что позволяет более внимательно прорабатывать сложный материал и не затрачивать дополнительное время на более легкий;

Последовательность доступа к электронным материалам позволяет контролировать текущий уровень усвоения курса студентом;

Возможность совмещения обучения и работы;

Обеспечение надежности хранения информации о зарегистрированных пользователях. Просматривать данные системы могут только преподаватель и администратор web-приложения;

Актуальность предоставляемой информации;

Снижение стоимости подготовки и издания электронных материалов;

Повышение престижа подразделения.

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

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


4.Техника безопасности и охрана окружающей среды

4.1 Теоретическая часть


4.1.1 Пожароопасные и токсичные свойства веществ и материалов, применяемых при выполнении работы

В помещении аудитории № 209 в процессе выполнения работы не использовались никакие вещества, обладающие токсичными свойствами.

Пожароопасными свойствами обладают твердые вещества, расположенные в данном помещении, такие как столы, стулья, книжные стеллажи, компьютеры, принтеры, провода, сетевые кабели и др. Из наиболее пожароопасных объектов можно выделить мебель: это - столы, шкафы (ДСП), двери (дерево+ДВП). Также имеется некоторое количество бумажных материалов, в том числе обоев. Кроме того, при возгорании помещения различная аппаратура из пластмассы (принтеры, ЭВМ) может не только активно гореть, но и выделять ядовитые химические продукты сгорания. Дверные проемы и оконные рамы из дерева, а также предметы интерьера различного рода, в случае возгорания также будут способствовать распространению пламени. Еще один пожароопасный материал - линолеум. Он при пожаре выделяет вредные продукты горения.

ГОСТ 12.1 044-89 ССБТ “Пожаро-взрывоопасность веществ и материалов, номенклатура показателей и методы их определения” устанавливает номенклатуру показателей пожаро-взрывоопасности веществ и материалов, их применяемость, а также методы их определения.

4.1.2 Характеристика потенциальных опасностей и вредностей

В процессе выполнения экспериментальной части данной работы могут возникнуть некоторые опасности и вредности, характеристика которых приведена ниже:

Воздействие электромагнитного излучения.

Основную опасность при работе на компьютере представляют электромагнитные излучения, способные приводить к необратимым изменениям в организме человека. Наибольшую опасность представляет излучение от электронно-лучевой трубки монитора. Необходимо заметить, что подобным воздействием на окружающую среду обладают практически все электрические приборы;

Поражение электрическим током.

Все оборудование, установленное в рабочем помещении, работает от сети напряжением 220В. Следовательно, ЭВМ и периферийные устройства, которые использовались в процессе выполнения экспериментальной части работы, представляют опасность поражения человека-оператора электрическим током из-за:

Нарушения целостности кабельной системы;

Короткого замыкания;

Повреждения корпуса оборудования;

Несоблюдения правил техники безопасности;

Опасные факторы пожара, которые воздействуют на людей:

Первичные:

Пламя и искры;

Повышение температуры окружающей среды;

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

Дым;

Пониженная концентрация кислорода;

Вторичные:

Осколки в результате разрыва кинескопов дисплеев, части разрушающихся конструкций, зданий, сооружений;

Электрический ток в результате повреждения оборудования и кабельной системы и выноса напряжения на конструкции;

Воздействие на анализаторы человека:

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

Слуховой анализатор. В помещении аудитории № 209 есть источники повышенного уровня шума - это матричный принтер и вентиляторы, охлаждающие процессоры.

4.1.3 Категорирование помещения аудитории

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

Согласно НПБ 105-03 по взрывопожарной и пожарной опасности помещение относится к категории В-3, так как есть твердые горючие вещества [19].

Согласно СНиП-21.01-97 помещение относится ко II-ой степени огнестойкости.

Согласно ПУЭ по опасности поражения электрическим током помещение относится к категории без повышенной опасности (I категория) и не относится к классу взрывоопасных или пожароопасных зон, так как характеризуется отсутствием условий, создающих повышенную или особую опасность.

4.1.4 Санитарно-гигиеническая характеристика помещения

Допустимые нормы температуры, относительной влажности и скорости движения воздуха согласно СанПиН 2.2.4 548-96 "Гигиенические требования к микроклимату производственных помещений" [20] в рабочей зоне аудитории для холодного и теплого времени года для категории 1а, к которой относятся виды работ, для аудитории № 209, т.е. работы с интенсивностью энергозатрат до 120 ккал/ч (до 139 Вт), производимые сидя и сопровождающиеся незначительным физическим напряжением, можно отразить таблицей 4.1:

Таблица 4.1 - Допустимые нормы температуры, относительной влажности и скорости движения воздуха

Период года

Температура воздуха, С

Температура поверхностей, С

Относительная влажность,%

Скорость движения воздуха, м/с

Диапазон ниже оптимальных величин (tвозд tоптим)

Диапазон выше оптимальных величин (tвозд tоптим)

Для диапазона температур воздуха ниже оптимальных (tвозд tоптим)

Для диапазона температур воздуха выше оптимальных (tвозд tоптим)

Холодный

20-21,9

24,1-25

19,0-26,0

15-75

0,1

0,1

Теплый

21,0-22,9

25,1-28,0

20,0-29,0

15-75

0,1

0,2

Для соблюдения параметров микроклимата в теплый период года необходимо использование естественной вентиляции, а в холодный период года используется центральное водяное отопление.

Для поддержания температуры воздуха в заданных пределах помещение должно быть оборудовано отопительными установками (для холодного времени года), а также системой вентиляции и кондиционирования (для теплого времени года).



4.1.5 Условия безопасности при проведении экспериментальной части работы. Электробезопасность

Согласно СанПиН 2.2.2 - 2.4 1340-03 [21] устанавливаются гигиенические требования к персональным электронно-вычислительным машинам и организации работы.

Требования к ПЭВМ. При работе на ПЭВМ должный контроль уделяется следующим параметрам: уровням электромагнитных полей (ЭМП), акустического шума, концентрации вредных веществ в воздухе, визуальным показателям ВДТ, мягкому рентгеновскому излучению. Эти параметры соответствовуют нормам.

Конструкция ПЭВМ обеспечивает возможность поворота корпуса в горизонтальной и вертикальной плоскости с фиксацией в заданном положении для обеспечения фронтального наблюдения экрана ВДТ. Д.изайн ПЭВМ предусматривает окраску корпуса в спокойные мягкие тона с диффузным рассеиванием света. Корпус ПЭВМ, клавиатура и другие блоки и устройства ПЭВМ имеют матовую поверхность и не имеют блестящих деталей, способных создавать блики. Конструкция ВДТ предусматривает регулирование яркости и контрастности.

Требования к помещениям для работы с ПЭВМ. Помещения для эксплуатации ПЭВМ должны имеют естественное и искусственное освещение. Оконные проемы оборудованы регулируемыми устройствами типа жалюзи из занавесей.

Требования к уровням шума и вибрации. При выполнении основных или вспомогательных работ с использованием ПЭВМ уровни шума на рабочих местах не превышают предельно допустимых значений.

Шумящее оборудование (принтеры, серверы), уровни шума которых превышают нормативные, размещены вне аудитории.

Требования к освещению на рабочих местах, оборудованных ПЭВМ. Рациональное освещение помещений и рабочих мест - еще один из важнейших элементов благоприятных условий труда. При правильном освещении повышается производительность труда, улучшаются условия безопасности, снижается утомляемость.

Расчет освещенности должен выполняться с учетом двух основных правил:

1.Для обеспечения требуемой контрастности между экраном дисплея и окружающей обстановкой уровень освещенности должен составлять 300-500 лк при использовании общего освещения.

2.При установке экрана монитора следует учитывать направление потока естественного света и располагать экран таким образом, чтобы поток исходил сбоку с левой стороны.

Мониторы на рабочих местах ориентированы боковой стороной к световым проемам, чтобы естественный свет падал преимущественно слева. Искусственное освещение равномерное.

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

Работодатели несут ответственность за проведение оценки рабочего места с точки зрения проведения обучения. Необходимо проводить обучение по вышеизложенным требованиям.

При размещении рабочих мест с ПЭВМ расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора) должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.

Рабочие места с ПЭВМ при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, рекомендуется изолировать друг от друга перегородками высотой 1,5-2,0 м.

Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

Электробезопасность. Для защиты людей от поражения электрическим током принимаются следующие меры электробезопасности:

недопустимо оголение токоведущих частей, приборов;

электропроводка внутренняя (в стенах), напряжение сети 220В, частота тока 50Гц;

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

предусматривается аварийное отключение электросети в случае резкого увеличения тока (короткое замыкание и т.п.), для этих целей необходима установка защитного оборудования - плавких предохранителей, реле;

пол должен быть выполнен из нетоковедущих материалов (дерево, линолеум и т.п.);

все работы по монтажу производятся при отключенном напряжении с использованием инструмента с изолированными рукоятками;

к работе допускаются лица, прошедшие инструктаж по технике безопасности;

помещение поддерживается в чистоте и сухости, что является мерой для повышения сопротивления человека;

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

4.1.6 Пожарная безопасность и средства пожаротушения

Рекомендации НПБ 105-03 [19] определяют два основных принципа обеспечения пожаробезопасности:

предотвращение образования горючей среды;

пожаро- и взрывозащита помещений и зданий и трактуют пожарную безопасность как состояние объекта, при котором с установленной вероятностью исключается возможность возникновения и развития пожара, а также обеспечивается защита материальных ценностей.

В качестве пожаропредупреждения можно посоветовать применять соответствующее электрооборудование, соблюдать требования искробезопасности и т.д. К защите можно отнести следующее: применение пожарной сигнализации, средств пожаротушения, применение конструкций с заданными пределами огнестойкости, эвакуация людей, применение средств коллективной и индивидуальной защиты. Должны быть проведены в полном объеме и своевременно мероприятия по обучению правилам пожарной безопасности, разработаны нормы, регламенты, средства наглядной агитации, контроль. В помещении должно быть необходимое количество огнетушителей, объем которых должен позволять ликвидировать очаг пожара в помещении. Так как возникновение пожара в данном помещении возможно, скорее всего, из-за электрической неисправности, то можно порекомендовать углекислотные огнетушители, типа ОУ-5, которые применяются для тушения загорании различных веществ и материалов, а также электроустановок, находящихся под напряжением.

4.1.7 Защита окружающей среды

Никаких вредных выбросов и загрязненного воздуха в рабочем помещении не образуется. Поэтому защита окружающей среды сводится к соблюдению элементарных правил:

Поддержание санитарно-гигиенического состояния рабочего места, то есть уборка мусора в специально отведенные для этого урны. Категорически запрещается выбрасывать мусор в окна, загрязняя тем самым территорию, прилежащую к НИ РХТУ;

Регулярно должна проводиться влажная уборка помещения. Необходимо соблюдать чистоту и порядок в помещении.


4.1.8 Гражданская оборона

Системы оповещения о непосредственной угрозе нападения противника.

На основании постановления главы муниципального образования города Новомосковска и Новомосковского района 30.12.98 г. №2775.

"О системе оповещения и информировании населения об угрозе возникновения или возникновении ЧС-й" в г. Новомосковске и Новомосковском районе разработана система оповещения и информирования населения. Утверждены и введены в действие тексты информации об угрозе возникновения или возникновении ЧС-й в мирное и военное время, а также об отбое опасности, подлежащее передаче по сетям местного радиовещания, телеканалам ТВ-6, ТВ-7 и посредством использования громкоговорящих устройств УВД Новомосковского района.

Система оповещения в институте: решение на производство тех или иных мероприятий о непосредственной угрозе нападения противника принимает ректор НГО НИ РХТУ на основании информации полученной по СМИ или адресным распоряжениям (указанием органов управления муниципального образования города Новомосковска и Новомосковского района).

Защитных сооружений, отвечающих требованиям норм ИТМ ГО институт не имеет, следовательно, при угрозе заражения города СДЯВ защита сотрудников института и студентов будет состоять из мероприятий по экстренной эвакуации с использованием простейших средств защиты органов дыхания и других подручных средств.

Своих средств защиты органов дыхания институт не имеет, поэтому, если позволяет обстановка, по указанию Управления по делам ГО и ЧС города в институте развертывается пункт выдачи противогазов в спортивном зале нового учебного корпуса и организуется выдача противогазов всему личному составу института и членам их семей и только после этого организуется вывоз людей из предполагаемой зоны заражения. В случае экстренной эвакуации личный состав использует простейшие средства защиты органов дыхания (влажные ватно-марлевые повязки, респираторы, полотенце и т.п.).

На объектовом уровне (в т. ч. институте) координирующим органом является объектовая комиссия по ЧС (КЧС объекта), которая организует и проводит все мероприятия по защите личного состава института.

Для ликвидации последствий чрезвычайных ситуаций в военное время в НИ РХТУ созданы формирования ГО:

Санитарная дружина;

Пост РХН;

Группа охраны общественного порядка;

Сборный эвакопункт;

Пункт выдачи противогазов.

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

По месту работы;

Участие в учениях, тренировках и других плановых мероприятиях по ГО;

Индивидуальные изучения способов защиты от опасностей, возникающих при ведении военных действий или вследствие этих действий.

4.2 Расчетная часть

4.2.1 Определение пожарной нагрузки помещения (В1-В4)

Определение пожароопасной категории помещения осуществляется путем сравнения максимального значения удельной временной пожарной нагрузки на любом из участков с величиной удельной пожарной нагрузки, приведенной в таблице 4.2

Таблица 4.2 - Категории помещения, в зависимости от удельной пожарной нагрузки

Категории

Удельная пожарная нагрузка q на участке, МДж·м-2

Способ размещения

В1

Более 2200

Не нормируется

В2

1401 - 2200

Примечание 2

В3

181 - 1400

Примечание 2

В4

1 - 180

На любом участке пола помещения площадью 10 м2. Способ размещения пожарной нагрузки определяется согласно примечанию 1.

В помещениях категорий В1 - В4 допускается наличие нескольких участков с пожарной нагрузкой, не превышающей значений, приведенных в таблице 4.2

Если при определении категории В2 или В3 количество пожарной нагрузки Q превышает или равно Q ≥ 0,64∙qT∙H2, то помещение будет относиться к категориям В1 или В2 соответственно.

При пожарной нагрузке, включающей в себя различные сочетания (смесь) горючих, трудногорючих жидкостей, твердых горючих и трудногорючих веществ и материалов в пределах пожароопасного участка, пожарная нагрузка Q, МДж, определяется по формуле (4.1)

,

(4.1)

где Gi -количество i-го материала пожарной нагрузки, кг;

- низшая теплота сгорания i-го материала, МДж∙кг-1.

Удельная пожарная нагрузка q (МДж∙м-2) определяется из соотношения (4.2):

q = ,

(4.2)

где S - площадь размещения пожарной нагрузки, м2 (но не менее 10 м2).

Низшая теплота сгорания веществ и материалов, используемых в аудитории приведена в таблице 4.3

Таблица 4.3 - Низшая теплота сгорания веществ и материалов, используемых в аудитории

Вещества и материалы

Низшая теплота сгорания, МДж/кг

Древесина (мебель)

13,800

Линолеум на тканной основе

20,292

Бумага

13,400

Полистирол

39,000

Органическое стекло

27,670

Пожарная нагрузка мебели в количестве - 340 кг, линолеум - 100 кг, бумаги - 80 кг, пластика - 15 кг, органическое стекло - 3 кг.

Площадь аудитории № 209: 6,45 м x 7,77 м.

Q = 340*13,800+100*2,292+80*13,400+15*39,000+3*27,670 = 6661,21 МДж.

Удельная пожарная нагрузка:

МДж/м2.

Помещение относится к категории В4. При загорании помещения для тушения применяется огнетушитель ОУ-5.


4.2.2 Освещение производственных помещений

Искусственное освещение предусматривается в помещениях, в которых недостаточно естественного света, или для освещения помещения в часы суток, когда естественная освещенность отсутствует.

Основной метод расчета - по коэффициенту использования светового потока, которым определяется поток, необходимый для создания заданной освещенности горизонтальной поверхности при общем равномерном освещении с учетом света, отраженного стенами и потолком. Расчет ведется для люминесцентных ламп по следующим формуле (4.3):

,

(4.3)

Для искусственного освещения нормируемый параметр - освещенность рабочей поверхности, которую согласно СанПиН 2.2.2/2.4 1340-03 [21] принимаем Е = 300 лк.

Выбираем для освещения помещения люминесцентные лампы типа ЛБ - лампы белого света мощностью 65 Вт, номинальным световым потоком

F = 4600 лм [ГОСТ 6825-91].

Принимаем также:

Поправочный коэффициент светильника, при освещении линиями люминесцентных ламп z = 1,1;

Количество люминесцентных ламп в светильнике m =2

Коэффициент запаса, учитывающий снижение освещенности при эксплуатации k = 1,4;

Коэффициент использования светового потока, зависящий от типа светильника, показателя (индекса - i) помещения, площади помещения, расчетной высоты, коэффициентов отражения потолка, стен, пола помещения и т.д. - u.

,

(4.4)

где S = 6,45*7,77 = 50,12 м2 - площадь помещения;

h = 2,2 м - расчетная высота, т.е. расстояние между источником света и освещаемой им рабочей поверхностью;

A = 7,77 м, B = 6,45 м - длина и ширина помещения соответственно.

Тогда коэффициент использования светового потока принимаем равным u = 0,52.

При заданной освещенности и выбранном световом потоке конкретной лампы можно определить количество светильников п:

.

В результате произведенного расчета для оптимального освещения аудитории № 209 получаем 5 светильников, каждый из которых включает в себя: 2 люминесцентные лампы типа ЛБ мощностью 65 Вт и номинальным световым потоком 4600 лм каждая. Схема размещения рабочих мест и светильников в помещении представлена на рисунке 4.1

Рисунок 4.1 - Схема размещения светильников в аудитории № 209.


Заключение

В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning Institute". Для разработки использовался язык серверных скриптов PHP 4.

Разработана структура данных для организации дистанционного обучения студентов кафедры ВТИТ. Описан процесс создания структуры базы данных в формате сервера MySQL и созданы механизмы её администрирования через web-интерфейс. Рассмотрены проблемы, связанные с подготовкой электронных учебных материалов и созданием системы контроля знаний.

Описаны тонкости установки программных продуктов - web-сервера Apache, языка PHP 4 и сервера баз данных MySQL.

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

Определены технические требования к установке и эксплуатации, предъявляемые к программному продукту "R@Learning Institute".

В ходе работы осуществлен начальный этап создания приложения "R@Learning Institute", созданного для организации дистанционного обучения НИ РХТУ.

Достоинствами разработанной версии приложения является:

1. Простой, удобный в навигации, интуитивно понятный студенту web-интерфейс, основанный на системе подменю;

2. Разграничение пользовательской и административной части программного комплекса;

3. Обеспечение возможности однократной регистрации студентов-пользователей в системе и беспрепятственного входа в систему;

4. Возможность индивидуального обучения по каждой дисциплине;

5. Поэтапное изучение учебных материалов с возможностью промежуточного контроля студента;

6. Ограничение числа попыток пройти тестирование пользователем;

7. Хранение базы данных пользователей, курсов, данных для тестирования, результатов прохождения тестов на web-сервере;

8. Хранение учебных материалов на web-сервере, с возможностью загрузки зарегистрированным пользователем;

9. Обеспечение доступа администратора к базе данных через web-интерфейс;

10. Просмотр администратором статистики и текущей успеваемости студентов;

11. Организация возможности общения студентов и преподавателей посредством электронной почты и других средств общения;

12. Организация поиска по сайту;

13. Отсутствие необходимости установки дополнительных программ для функционирования созданного продукта;

14. Web-совместимость (совместимость с различными браузерами);

15. Незначительный объем (размер сайта без базы учебных материалов ~200 Кб).

Для тестирования системы в базу данных была занесена информация по дисциплине "Схемотехника". Курс представлен из 7 подразделов, включает соответственно 7 тестов и итоговый тест. На примере данной дисциплины был проведен полный цикл обучения (регистрация в системе, регистрация курса, изучение материалов и прохождение тестирования). В процессе тестирования были выявлены некоторые ошибки программного кода, которые были успешно устранены.

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

Создана основа подсистемы, позволяющая начать её постепенное внедрение. Необходимы этапы доработки, исправление ошибок и уточнений в процессе эксплуатации, проверки идей и алгоритмов на большем количестве зарегистрированных пользователей и учебных дисциплин.

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

В экономической части дипломного проекта было предложено экономическое обоснование выбора комплекса технических и программных средств, необходимых для работы, а также был произведен расчет затрат на разработку и реализацию приложения, приведен расчет ее возможной цены. Внедрение системы не потребует значительных материальных и трудовых затрат.

В разделе "Безопасность жизнедеятельности" была приведена характеристика потенциальных опасностей, возникающих в процессе трудовой деятельности персонала, приведен расчет освещенности и категорирование помещения аудитории № 209 старого корпуса НИ РХТУ по взрыво- и пожароопасности.


Список использованных источников

  1. Агопонов С.В. Средства дистанционного обучения. - СПб.: БХВ-Петербург, 2003.

  2. Методика применения дистанционных образовательных технологий (дистанционного обучения) в образовательных учреждениях высшего, среднего и дополнительного профессионального образования Российской Федерации.

  3. http: // db. informika. ru/do/npb/index. asp

  4. Официальный web-сайт программного комплекса "eLearning Server 3000".

  5. http: // www. elearn. ru

  6. Официальный web-сайт программного комплекса "Lotus LearningSpace".

  7. http: // www. commed. ru

  8. Официальный web-сайт программного комплекса "Батисфера".

  9. http: // www. baty. ru

  10. Официальный web-сайт программного комплекса "SunRav TestOfficePro".

  11. http: // www. sunrav. ru

  12. Вуль В.А. Электронные издания. - СПб.: БХВ-Петербург, 2003. - 560 с.

  13. Оганесян А.Г. Проблема обратной связи при дистанционном обучении. - М.: Открытое образование, 2002. - 238 с.

  14. Шевелев М.Ю. Автоматизированный внешний контроль самостоятельной работы студентов в системе дистанционного образования/Дистанционно образование. Состояние, проблемы, перспективы. Тез. докл. научно-методической конференции. - Томск: ТУСУР, 2002.

  15. Кастаньетто Дж., Рават Х. Профессиональное PHP программирование. Пер. с англ. - СПб.: Символ-Плюс, 2001. - 912 с.

  16. Колисниченко Д.Н. Самоучитель PHP 5. Издание 2-е. - СПб.: Наука и Техника, 2005. - 576 с.

  17. Web-сайт бесплатных java-скриптов

  18. www. freejavascripts. narod. ru

  19. Официальный web-сайт web-сервера Apache.

  20. http: // www. apache. org

  21. Официальный web-сайт языка web-программирования PHP.

  22. http: // www. php. net

  23. Официальный web-сайт сервера баз данных MySQL.

  24. http: // www. mysql. com

  25. Стивен Спэйнауэр, Роберт Экштейн. Справочник вебмастера. Издание 2-е. Пер. с англ. - СПб.: Символ-Плюс, 2001. - 608 с.

  26. Мэрдок Келли Л. JavaScript: наглядный курс создания динамических Web-страниц. Пер. с англ. - М.: Вильямс, 2001. - 288 с.

  27. Лобковская О.З. Методические указания по технико-экономическому обоснованию дипломных проектов, связанных с разработкой автоматизированных систем управления и программных изделий. - Новомосковск, 2002.

  28. НПБ 105-03. Нормы пожарной безопасности.

  29. СанПиН 2.2.4 548-96. Гигиенические требования к микроклимату производственных помещений.

  30. СанПиН 2.2.2 - 2.4 1340-03. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы.


Приложения

Приложение А Инфологическая модель предметной области

Приложение Б Листинги модулей формирования страниц приложения

Б.1 Листинг модуля "courses_registration. php"

Remote Learning Institute | Courses Registration

Б.2 Листинг модуля "header. php"

Б.3 Листинг модуля "body_left. php"

echo "

";

echo " ";

//echo "$user_name $user_pswd";

if ($login_reg=="yes") {

include "user_form. php";

}

else {

include "login_form. php";

}

$FindScript="find. php";

echo "


";

echo "";

echo "|";

echo "";

echo "";

echo "


";

include "news_list_header. php";

echo "информация";

include "news_list_after_header. php";

echo "25.04.05 Cайт был создан, вышла его первая версия";

include "news_list_footer. php";

echo " ";

? >

Б.4 Листинг модуля "courses_registration_right. php"

РЕГИСТРАЦИЯ НА КУРСЫ

$maxReg=3;

include "body_list_header. php";

echo "Подтверждение регистрации";

include "body_list_after_header. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$strSQL="SELECT * FROM user_courses WHERE login='". $user_name_. "' AND status='reg'";

$res=mysql_query($strSQL);

$cRow=mysql_num_rows($res);

echo "Вы в данный момент зарегистрированы на следующее количество курсов: ". $cRow. "
";

$strSQL="SELECT * FROM user_courses WHERE (login='". $user_name_. "' AND n_course='". $id_course. "')";

$resUserCourses=mysql_query($strSQL);

if (! mysql_fetch_row($resUserCourses)) {

if ($cRow<=($maxReg-1)) {

echo "Вы действительно желаете зарегистрироваться на выбранный курс? ";

echo "


";

echo "возврат";

echo " | подтвердить";

}

else {

echo "Вы уже зарегистрированны на максимально возможное (по единовременному прохождению) количество курсов (на ". $maxReg. ")";

echo "


";

echo "возврат";

}

}

else {

echo "Вы уже зарегистрированны на выбранный курс";

echo "


";

echo "возврат";

}

include "body_list_footer. php";

? >

Б.5 Листинг модуля "buttom. php"

 

дизайн студии

href=mailto: andrewnik@mail. ru>< A&D-STYLE>

Б.6 Листинг модуля "menu. php"

Untitled Document

border="0"> новости

border="0"> курсы

height="8" border="0"> обучение

общение

о  проекте

border="0"> download

студенту

Приложение В Листинги модуля тестирования

В.1 Листинг модуля "training_check_registration_right. php"

РЕГИСТРАЦИЯ

$submit = 1; // флаг передачи

$dataComplite= 1; // проверка данных

$err_note="2"; // сообщение об ошибке

$qs=""; // строка передачи данных

global $qs,$r_lastname,$r_firstname,$r_middlename,$r_login,$r_pass,$r_pass_c,$r_student_code,$r_sex,$r_n_group,$r_email;

function check_email($str) {

//возвращает 1 если адрес допустим

if (ereg ("^. +@. +\\. +$",$str)) {

return 1;

}

else {

return 0;

}

}

function check_form() {

global $qs,$err_note,$submit, $dataComplite,$r_lastname,$r_middlename,$r_firstname,$r_login,$r_pass,$r_pass_c,$r_student_code,$r_sex,$r_n_group,$r_email;

if ($dataComplite== 1) {

if(! $r_lastname) {

$err_note = "не введена фамилия";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_firstname) {

$err_note = "не введено имя";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_middlename) {

$err_note = "не введено отчество";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_login) {

$err_note = "не введен login";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if($r_pass<>$r_pass_c) {

$err_note = "введенные пароли не совпадают";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_pass) {

$err_note = "не введен пароль";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_pass_c) {

$err_note = "не введен проверочный пароль";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_student_code) {

$err_note = "не введен код студента";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_n_group) {

$err_note = "не введен номер группы";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

if(! $r_email) {

$err_note = "не введен адрес электронной почты";

$dataComplite= 0;

}

else {

if (check_email($r_email) ==0) {

$err_note = "не правильно введен адрес электронной почты";

$dataComplite= 0;

}

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT login FROM users WHERE login='". $r_login. "'; ";

$res=mysql_query($sqlstr);

if (mysql_fetch_row($res)) {

$err_note = "в системе уже используется данный login";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT student_code FROM users WHERE student_code='". $r_student_code. "'; ";

$res=mysql_query($sqlstr);

if (mysql_fetch_row($res)) {

$err_note = "в системе уже используется данный код студента";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$sqlstr = "SELECT student_code FROM correct_codes WHERE student_code='". $r_student_code. "'; ";

$res=mysql_query($sqlstr);

if (! (mysql_fetch_row($res))) {

$err_note = "преподаватель запретил доступ к системе обучения";

$dataComplite= 0;

}

}

if ($dataComplite== 1) {

$qs = "? r_lastname=". urlencode($r_lastname).

"&r_firstname=". urlencode($r_firstname).

"&r_middlename=". urlencode($r_middlename).

"&r_login=". urlencode($r_login).

"&r_pass=". urlencode($r_pass).

"&r_student_code=". urlencode($r_student_code).

"&r_n_group=". urlencode($r_n_group).

"&r_email=". urlencode($r_email).

"&r_sex=". urlencode($r_sex).

"&r_registration_date=". urlencode(date("Y/m/d")).

"&user_login=0";

return 1;

}

}

include "body_list_header. php";

echo "Регистрационная форма | Проверка введенной информации ";

include "body_list_after_header. php";

$LoginScript = "training. php";

echo "";

echo "Фамилия:
";

echo "$r_lastname
";

echo "Имя:
";

echo "$r_firstname
";

echo "Отчество:
";

echo "$r_middlename
";

echo "login:
";

echo "$r_login
";

echo "пароль:
";

echo "$r_pass
";

echo "Код студента:
";

echo "$r_student_code
";

echo "№ группы:
";

echo "$r_n_group
";

echo "Пол:
";

echo "$r_sex
";

echo "Почта:
";

echo "$r_email
";

echo "";

if (check_form() ==0) {

echo "";

include "body_list_footer. php";

include "body_list_header. php";

echo "Возникла ошибка при вводе данных ";

include "body_list_after_header. php";

echo " $err_note ";

echo "


";

echo "";

include "body_list_footer. php";

}

else {

$surl= "training. php". $qs;

echo "";

echo "


";

echo "|";

echo "";

include "body_list_footer. php";

}

echo "";

? >

style="position: absolute;

width: 220px;

top: 45%;

left: 45%;

background: #8AD9FF;

font-size: 11px;

border: 1px solid #0094DE;

padding: 1px;

z-index: 1">

При вводе произошла ошибка:

$err_note

В.2 Листинг модуля " training_test_right. php"

ПРОХОЖДЕНИЕ ТЕСТОВ

include "body_list_header. php";

$TestScript="training_test. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

if ($q_count>1 && $q_count<7) {

//проверка ответов на правильность

if ($q_count==6) {

echo "Информация по тестам";

}

else {

echo "Выберите ответ на вопрос №". $q_count;

}

include "body_list_after_header. php";

$str_answer ="SELECT * FROM answers WHERE n_question='";

if ($q_count==2) {

$str_answer = $str_answer. $q_1. "' AND id_answer='";

}

elseif ($q_count==3) {

$str_answer = $str_answer. $q_2. "' AND id_answer='";

}

elseif ($q_count==4) {

$str_answer = $str_answer. $q_3. "' AND id_answer='";

}

elseif ($q_count==5) {

$str_answer = $str_answer. $q_4. "' AND id_answer='";

}

else {

$str_answer = $str_answer. $q_5. "' AND id_answer='";

}

//проверка ответа 1

$str_answer_full = $str_answer. $id_a_1. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_1)) {

$r_count_1=1;

}

else {

$r_count_1=0;

}

}

else {

if (! (isset($a_1))) {

$r_count_1=1;

}

else {

$r_count_1=0;

}

}

//проверка ответа 2

$str_answer_full = $str_answer. $id_a_2. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_2)) {

$r_count_2=1;

}

else {

$r_count_2=0;

}

}

else {

if (! (isset($a_2))) {

$r_count_2=1;

}

else {

$r_count_2=0;

}

}

//проверка ответа 3

$str_answer_full = $str_answer. $id_a_3. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_3)) {

$r_count_3=1;

}

else {

$r_count_3=0;

}

}

else {

if (! (isset($a_3))) {

$r_count_3=1;

}

else {

$r_count_3=0;

}

}

//проверка ответа 4

$str_answer_full = $str_answer. $id_a_4. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_4)) {

$r_count_4=1;

}

else {

$r_count_4=0;

}

}

else {

if (! (isset($a_4))) {

$r_count_4=1;

}

else {

$r_count_4=0;

}

}

//проверка ответа 5

$str_answer_full = $str_answer. $id_a_5. "'";

$res_answer = mysql_query($str_answer_full);

$row_answer = mysql_fetch_row($res_answer);

if ($row_answer [3] =='y') {

if (isset($a_5)) {

$r_count_5=1;

}

else {

$r_count_5=0;

}

}

else {

if (! (isset($a_5))) {

$r_count_5=1;

}

else {

$r_count_5=0;

}

}

//проверка в общей сложности

$r_count_1=$r_count_1*$r_count_2*$r_count_3*$r_count_4*$r_count_5;

if ($r_count_1==1) {

echo "Вы правильно ответили на предыдущий вопрос
";

$r_count++;

}

else {

echo "Вы не правильно ответили на предыдущий вопрос
";

}

echo "


";

$r_percent = $r_count/5*100;

if ($q_count==6) {

echo "Вы правильно ответили на ". $r_count. " из 5 вопросов.
Процент правильных ответов ". $r_percent. "%.

";

$res_user_tests=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

$row_user_tests = mysql_fetch_row($res_user_tests);

if ($row_user_tests [4] >$r_percent) {

$r_percent=$row_user_tests [4] ;

}

$user_tests_SQL = "UPDATE user_tests SET percent='". $r_percent. "', last_test_date='". date("Y/m/d"). "' WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'";

mysql_query($user_tests_SQL);

if ($r_percent>=70) {

echo "Тест успешно пройден
";

$res_user_courses2=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

$row_user_courses2=mysql_fetch_row($res_user_courses2);

$res_course_parts2=mysql_query("SELECT * FROM course_parts WHERE n_course='". $row_user_courses2 [2]. "'");

$res_user_tests2=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "'");

if (mysql_num_rows($res_course_parts2) == mysql_num_rows($res_user_tests2)) {

//$res_user_courses3=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

//$row_user_courses3 = mysql_fetch_row($res_user_tests3);

$user_courses_SQL = "UPDATE user_courses SET status='end', end_date='". date("Y/m/d"). "' WHERE id_user_course='". $id_course. "'";

mysql_query($user_courses_SQL);

};

}

else {

echo "Вы не прошли тест";

$res_user_tests = mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

$row_user_tests = mysql_fetch_row($res_user_tests);

if ($row_user_tests [3] >2) {

//$res_user_courses=mysql_query("SELECT * FROM user_courses WHERE id_user_course='". $id_course. "'");

//$row_user_courses = mysql_fetch_row($res_user_courses);

$user_courses_SQL = "UPDATE user_courses SET status='not', end_date='". date("Y/m/d"). "' WHERE id_user_course='". $id_course. "'";

mysql_query($user_courses_SQL);

}

}

echo "


";

echo "на личную страницу";

}

}

if ($q_count>0 && $q_count<6) {

//прорисовка вопросов - ответов

if ($q_count==1) {

$res_user_tests=mysql_query("SELECT * FROM user_tests WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'");

if (mysql_num_rows($res_user_tests) ==0) {

$user_tests_SQL = "INSERT INTO user_tests values('0','". $id_course. "','". $id_part. "','1','0','". date("Y/m/d"). "')";

mysql_query($user_tests_SQL);

}

else {

$row_user_tests = mysql_fetch_row($res_user_tests);

$row_user_tests [3] ++;

if ($row_user_tests [3] <4) {

$user_tests_SQL = "UPDATE user_tests SET attemps='". $row_user_tests [3]. "', last_test_date='". date("Y/m/d"). "' WHERE n_user_course='". $id_course. "' AND n_course_part='". $id_part. "'";

mysql_query($user_tests_SQL);

}

}

echo "Выберите ответ на вопрос №". $q_count;

include "body_list_after_header. php";

}

$str_question ="SELECT * FROM questions WHERE id_question='";

if ($q_count==1) {

$res_question=mysql_query($str_question. $q_1. "'");

}

elseif ($q_count==2) {

$res_question=mysql_query($str_question. $q_2. "'");

}

elseif ($q_count==3) {

$res_question=mysql_query($str_question. $q_3. "'");

}

elseif ($q_count==4) {

$res_question=mysql_query($str_question. $q_4. "'");

}

else {

$res_question=mysql_query($str_question. $q_5. "'");

}

$row_question=mysql_fetch_row($res_question);

echo "". $row_question [2]. "
";

echo "";

$strSQL="SELECT * FROM answers WHERE n_question='". $row_question [0]. "'";

$res_answer=mysql_query($strSQL);

//$answer_count=1;

//echo "";

//

//while ($row_answer=mysql_fetch_row($res_answer)) {

//echo "". $row_answer [2] ;

//echo "
";

//$answer_count++;

//}

$mas_count=0;

while ($mas_temp=mysql_fetch_row($res_answer)) {

$mas_answer [$mas_count] [0] =$mas_temp [0] ;

$mas_answer [$mas_count] [1] =0;

$mas_count++;

}

$mas_count--;

for ($i=1; $i<=5; $i++) {

mt_srand(time());

while (true) {

$mas_index=mt_rand(0,$mas_count);

if ($mas_answer [$mas_index] [1] ==0) {

$mas_answer [$mas_index] [1] =1;

break;

}

}

$strSQL="SELECT * FROM answers WHERE id_answer='". $mas_answer [$mas_index] [0]. "'";

$res_answer=mysql_query($strSQL);

$row_answer=mysql_fetch_row($res_answer);

echo "". $row_answer [2] ;

echo "
";

}

echo "";

echo "";

echo "";

echo "";

echo "";

echo "";

echo "";

echo "";

echo "";

echo "


";

echo "";

echo "";

}

include "body_list_footer. php";

? >

Приложение Г Листинги модуля администрирования

Г.1 Листинг модуля "admin_edit. php"

Remote Learning Institute | Administration

include "header. php";

$ScriptAdmAdd="admin_add. php";

$ScriptAdmDel="admin_del. php";

$ScriptAdmMdf="admin_update. php";

global $SelectT;

echo "

";

echo "";

include "body_list_header. php";

echo "Редактирование таблиц данных: ";

include "body_list_after_header. php";

echo "

";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$ListF=mysql_list_fields($DB,$SelectT);

$CounterF=0;

while ($CounterF < mysql_num_fields($ListF)) {

$stItem=mysql_field_name($ListF,$CounterF);

$CounterF++;

$massField [$CounterF] =$stItem;

echo "$massField [$CounterF] ";

}

echo "редактировать";

echo "";

$strSQL ="SELECT * FROM ". $SelectT. "; ";

$res=mysql_query($strSQL);

while ($Row=mysql_fetch_row($res)) {

for ($CounterF=0; $CounterF< mysql_num_fields($ListF); $CounterF++) {

echo "$Row [$CounterF] ";

}

echo "";

echo "изменить|";

echo "удалить";

echo "";

}

$ScriptAdmAdd=$ScriptAdmAdd. "? t_name=". urlencode($SelectT);

mysql_free_result($ListF);

echo "";

echo "

";

echo "";

echo "|";

echo "возврат";

echo "";

include "body_list_footer. php";

echo "";

include "buttom. php";

? >

Г.2 Листинг модуля "admin_add. php"

Remote Learning Institute | Administration

$ScriptAdm = "admin_add_check. php";

global $t_name,$t_index;

echo "

";

echo "";

include "body_list_header. php";

echo "Добавление данных в таблицу: ";

include "body_list_after_header. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$t_name= urldecode($t_name);

$ListF=mysql_list_fields($DB,$t_name);

$CounterF=0;

echo "";

while ($CounterF < mysql_num_fields($ListF)) {

$stItem=mysql_field_name($ListF,$CounterF);

$CounterF++;

$massField [$CounterF] =$stItem;

echo "$massField [$CounterF]
";

echo "
";

}

echo "
";

echo "|";

echo "";

echo "";

include "body_list_footer. php";

echo "";

include "buttom. php"? >

Г.3 Листинг модуля "admin_del. php"

Remote Learning Institute | Administration

$ScriptAdm ="admin_edit. php";

global $t_name,$t_index;

echo "

";

echo "";

include "body_list_header. php";

echo "удаление данных из таблицы: ";

include "body_list_after_header. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$ListF=mysql_list_fields($DB,$t_name);

$CounterF=0;

$ScriptAdm = $ScriptAdm. "? SelectT=". urlencode($t_name);

while ($CounterF < mysql_num_fields($ListF)) {

$stItem=mysql_field_name($ListF,$CounterF);

$massField [$CounterF] =$stItem;

$CounterF++;

}

$strSQL="DELETE FROM ". $t_name. " WHERE ". $massField [0]. "='". $t_index. "'";

mysql_query($strSQL);

echo "";

echo "Запись удалена
";

echo "";

echo "";

include "body_list_footer. php";

echo "";

include "buttom. php";

? >

Г.4 Листинг модуля "admin_update. php"

Remote Learning Institute | Administration

$ScriptAdm = "admin_update_check. php";

global $t_name,$t_index;

echo "

";

echo "";

include "body_list_header. php";

echo "Изменение данных в записи: ";

include "body_list_after_header. php";

require "option. php";

mysql_connect($SERVER,$USER,$PASSWD) or die(mysql_error());

mysql_select_db($DB);

$t_name= urldecode($t_name);

$ListF=mysql_list_fields($DB,$t_name);

$CounterF=0;

echo "";

$stItem=mysql_field_name($ListF,$CounterF);

$sqlstr = "SELECT * FROM ". $t_name. " WHERE ". $stItem. "='". $t_index. "'; ";

$res=mysql_query($sqlstr);

$Row=mysql_fetch_row($res);

echo "";

while ($CounterF < mysql_num_fields($ListF)) {

$stItem=mysql_field_name($ListF,$CounterF);

$CounterF++;

$massField [$CounterF] =$stItem;

echo "$massField [$CounterF]
";

echo "
";

}

echo "
";

echo "|";

echo "";

echo "";

include "body_list_footer. php";

echo "";

include "buttom. php"? >

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее