Разработка электронного учебного пособия на тему "Линейное программирование"

2





ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КАФЕДРА ИНФОРМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ













Пояснительная записка

к курсовой работе

по дисциплине "WEB-ДИЗАЙН И WEB-ПРОГРАММИРОВАНИЕ"

“Разработка электронного учебного пособия 

на тему "Линейное программирование"









Специальность 080801 

"Прикладная информатика (в социальной сфере)"

Студент 

Руководитель 











Тольятти - 2010г.


Содержание



Введение

Глава 1. Анализ предметной области

1.1 Анализ предметной области

1.2 Требования к разработке

1.3 Анализ подобных систем

1.4 Выбор средств реализации

1.5 Требования к программному обеспечению

1.6 Дополнительные требования

Глава 2. Проектирование структуры электронного учебника

2.1 Требования к ИС

2.2 Проектирование компонентов ИС

2.3 Проектирование базы данных

2.4 Наглядная схема структуры сайта

2.5 Итог

Глава 3. Разработка сайта

3.1 Разработка компонентов ИС

3.2 Аннотация

3.4 Библиографический список

3.5 Содержание

3.6 Самостоятельная работа

3.7 Точка зрения

Заключение

Список используемой литературы

Словарь терминов

Приложение


Введение



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

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

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

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

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

Одним из приоритетных направлений процесса информатизации современного общества является информатизация образования - внедрение средств новых информационных технологий в систему образования. Это сделает возможным:

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

совершенствование методологии и стратегии отбора содержания, методов и организационных форм обучения, соответствующих задачам развития личности обучаемого в современных условиях информатизации общества;

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

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

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

Актуальность темы. Проблема.

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

В ходе анализа были выявлены следующие проблемы:

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

разноуровневый подход при изучении дисциплины на разных этапах;

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

Вышеуказанные аспекты определили актуальность исследования и явились причиной начала курсовой работы - разработка и создание электронного учебного пособия на тему "Линейное программирование".

Цель курсовой работы - создать и администрировать электронное учебное пособие на тему "Линейное программирование".

Для достижения поставленной цели необходимо решить следующие задачи:

изучить литературу по теме курсовой работы;

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

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

спроектировать структуру и создать дизайн электронного учебника;

систематизировать, оцифровать, и структурировать собранный материал;

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

разработать модуль администратора.

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

Курсовая работа состоит из введения, трех глав и заключения.

Во введении обосновывается актуальность темы, постановка цели и задачи. В 1 главе рассматривает: анализ предметной области, требования к разработке, анализ подобных систем, выбор средств реализации и требования к программному обеспечению. Во 2 главе описывается: требования к ИС, проектирование структуры сайта и базы данных. В 3 главе описывается разработанная ИС. В заключении делаются выводы по выполненной работе.


Глава 1. Анализ предметной области



1.1 Анализ предметной области



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

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

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

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

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

Электронные учебники позволяют решать такие основные педагогические задачи, как:

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

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

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

восстановление знаний и умений.

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

В ходе анализа были выявлены следующие проблемы:

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

разноуровневый подход при изучении дисциплины на разных этапах;

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

Вышеуказанные аспекты явились причиной начала курсовой работы.



1.2 Требования к разработке



Основные требования к разработке электронного учебника:

Простота использования;

Удобный интерфейс;

Осуществления поиска по книге;

Принятие участия в голосованиях и опросах;

Добавление новой информации;

Удаление устаревших данных.



1.3 Анализ подобных систем



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

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

Главная навигационная панель представлена в виде отдельной HTML-страницы (Рис.1).





Рис.1. Главная навигационная панель



В ней расположены название дисциплины и ниже слева направо ссылки раздел 1, раздел 2, раздел 3, раздел 4, об авторах. При нажатии на раздел появляется содержание данного раздела, при нажатии на параграф раздела появляется название параграфа и лекционный материал по нему.

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

Каждая ссылка включает в себя подссылки (например, для ссылки "раздел 1" - подсылки: "§1", "§2", "§3", "§4"), ссылающиеся на подразделы одной или нескольких различных HTML-страниц. При загрузке любой из подссылок, рабочая область будет загружаться одним окном с двумя панелями навигации.

На каждой странице учебника присутствуют две навигационные панели: справа и слева страницы (Рис.2).





Рис.2. Страница учебника



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

первая панель (слева страницы) содержит:

первый раздел;

второй раздел;

третий раздел;

четвертый раздел;

страницу об авторах;

глоссарий;

рабочую тетрадь.

вторая панель (справа страницы) содержит:

термины;

тест;

практическую работу;

презентацию.

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

В итоге было получено электронное издание по теме "Основы творческо-конструкторской деятельности", содержащее в себе 60 html документа, в которых содержится теоретический, практический, дополнительный материал; 159 рисунков, 120 таблиц и схем, 44 презентации обеспечивающих наглядность и понятность теоретического материала.

Итак, на примере электронного учебника на тему "Основы творческо-конструкторской деятельности" были выявлены следующие недостатки:

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

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

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

отсутствие поиска по книге;

отсутствие функций добавление нового, редактирование имеющегося и удаление устаревшего теоретического материала;

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

Также было выявлены достоинства системы:

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

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



1.4 Выбор средств реализации



Для создания электронного учебника был выбран язык PHP. PHP (англ. PHP: Hypertext Preprocessor - "PHP: процессор гипертекста", англ. Personal Home Page Tools (устар) - "Инструменты для создания персональных Web-страниц") - скриптовый язык программирования общего назначения, интенсивно применяющийся для разработки Web-приложений. В области программирования для сети, PHP - один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.net) благодаря:

традиционности - код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР;

простоте - сценарий РНР может состоять из 10 000 строк или из одной строки - все зависит от специфики задачи. Не нужно подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (? >);

эффективности - очень важное преимущество PHP заключается в его "движке" http://www.php.su/php/?phpengine. "Движок" PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство "движка" PHP позволяет обрабатывать сценарии с достаточно высокой скоростью;

безопасности - РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения;

гибкости -Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus - РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003. Средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32.

В качестве наиболее подходящей СУБД была выбрана MySQL. MySQL (официально произносится "май-эс-кью-эль", сленг. "мускул", "мускуль") - свободная система управления базами данных (СУБД). Это одна из самых популярных и распространенных СУБД в Интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для Интернет сайтов, как небольших, так и достаточно крупных. MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Задача длительного хранения информации очень часто встречается в программировании Web-приложений: хранение числа голосов в различных опросах, подсчёт посетителей в счётчике, хранение сообщений в гостевой книге и т.д. Базы обеспечивают безопасность информации, сортируют ее и позволяют извлекать и размещать информацию при помощи одной строчки.

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

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

оптимизация связей с присоединением многих данных за один проход;

записи фиксированной и переменной длины;

ODBC драйвер;

гибкая система привилегий и паролей;

гибкая поддержка форматов чисел, строк переменной длины и меток времени;

интерфейс с языками C и Perl, PHP;

быстрая работа, масштабируемость;

совместимость с ANSI SQL;

бесплатна в большинстве случаев;

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

быстрая поддержка транзакций через механизм InnoDB.

Для редактирования и создания кодов был выбран PHP-редактор DreamWeaver CS4. Пакет Adobe DreamWeaver CS4 от компании Adobe, считается лидером по производству программ для создания веб-сайтов, а также законодателем моды в этой области.

Для сжатия используемых изображений была выбрана программа Easy Image Compressor, предназначенная для уменьшения размера рисунков в байтах перед пересылкой через e-mail, публикации на WWW, а также записи на переносной носитель информации. После сжатия изображений, страницы электронного издания значительно быстрее загружаются, и само издание занимает меньше места.

Для построения схем базы данных была выбрана программа MicroOLAP Database Designer for MySQL - визуальная система, предназначенная для разработки, моделирования, создания, модификации и генерации баз данных. Продукт специально разработан для популярной базы данных MySQL и учитывает ее особенности. MicroOLAP Database Designer for MySQL позволяет разрабатывать базы данных, работая с графическим представлением таблиц, колонок и взаимосвязей между ними.



1.5 Требования к программному обеспечению



Для работы ИС требуется:

Web-сервер Apache версии не ниже 1.3.33;

интерпретатор PHP версии не ниже 4.4;

СУБД MySQL;

Операционная система Windows/Linux.



1.6 Дополнительные требования



Для работы с ИС особых знаний языка программирования PHP и знаний о работе с СУБД MySQL от пользователя не требуются. Единственные необходимые навыки - умение работы с программой просмотра для WWW и начальные знания о языке гипертекстовой разметки HTML.


Глава 2. Проектирование структуры электронного учебника



2.1 Требования к ИС



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

хранение всего теоретического материала и его просмотр;

хранение практических заданий и их просмотр;

разработка удобного разноуровневого меню;

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

возможность принять участие в опросе;

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



2.2 Проектирование компонентов ИС



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

Аннотация

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

Предисловие

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

Библиографический список

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

Содержание

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

Самостоятельная работа

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

Точка зрения

В разделе "Точка зрения", при желании, пользователь сможет ответить на заинтересовавшие его вопросы.

Поиск

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

Администрация

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

Статистика

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

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

Главы

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

Подглавы

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

Задачи

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

Голосование

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

Тексты

Данный раздел будет позволять администратору редактировать тексты страниц "Аннотация", "Предисловие", "Библиографический список".

Пароли

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



2.3 Проектирование базы данных



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

Блок, отвечающий за работу с главными страницами учебника. Он представлен в виде одной таблицы, в которой хранится материал таких компонентов ИС, как "Аннотация", "Предисловие", "Библиографический список". Он имеет следующую структуру (Таблица 1) и вид (Схема 1):



Таблица 1. Структура блока, отвечающего за работу с главными страницами

Название поля в таблице

Описание назначения поля

id

Уникальный идентификатор

title

Хранение названия компонентов

text

Хранение полного текста компонентов

page

Хранение названия страниц





Схема 1. Блок, отвечающий за работу с главными страницами



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


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

Название таблицы в базе данных

Описание назначения таблицы

categories

Хранение информации о главах учебника

data

Хранение информации о подглавах учебника и о принадлежности подглав к конкретной главе

tasks

Хранение информации о разделах задач учебника и о принадлежности раздела задач к конкретной главе





Схема 2. Блок, отвечающий за работу с содержимым учебника



Блок, отвечающий за работу с опросами и голосованиями, проводящимися в учебнике. Он представлен в виде трех таблиц, в которых хранится материал такого компонента ИС, как "Точка зрения". Он имеет следующую структуру (Таблица 3) и взаимосвязь таблиц (Схема 3):


Таблица 3. Структура блока, отвечающего за работу с опросами и голосованиями

Название таблицы в базе данных

Описание назначения таблицы

questions

Хранение информации о вопросах голосований

answers

Хранение информации об ответах на вопросы голосований, о принадлежности ответа к конкретному вопросу и количестве голосов на каждый вариант ответа

test

Хранение информации о пользователях, ответивших на вопросы голосований, с целью запрета голосования дважды за один и тот же материал





Схема 3. Блок, отвечающий за работу с опросами и голосованиями



Блок, в котором хранятся данные для авторизации администратора. Он представлен в виде одной таблицы, в которой хранится материал такого компонента ИС, как "Администрация". Он имеет следующую структуру (Таблица 4) и вид (Схема 4):









Таблица 4. Структура блока, в котором хранятся данные для авторизации администратора

Название поля в таблице

Описание назначения поля

id

Уникальный идентификатор

user

Хранение логинов администратора

pass

Хранение паролей администратора





Схема 4. Блок, в котором хранятся данные для авторизации администратора



2.4 Наглядная схема структуры сайта



Схема 5. Пользовательский блок




Схема 6. Блок администратора







2.5 Итог



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


Глава 3. Разработка сайта



3.1 Разработка компонентов ИС



В результате разработки были созданы следующие компоненты пользовательского модуля ИС:





3.2 Аннотация



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





Рис.3. Страница "Аннотация"


3.3 Предисловие



На странице "Предисловие" (Рис.4) пользователь может ознакомиться с вспомогательным текстом от авторов с указанием: назначения книги; истории разработки освещенного в ней вопроса; суть отдельных глав и разделов и др.





Рис.4. Страница "Предисловие"


3.4 Библиографический список



На странице "Библиографический список" (Рис.5) пользователь может ознакомиться со списком рекомендуемой литературы для дополнительного изучения.





Рис.5. Страница "Библиографический список"



3.5 Содержание



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




Рис.6. Раздел "Содержание"





Рис.7. Содержание "Главы 3"



3.6 Самостоятельная работа



В разделе "Самостоятельная работа" (Рис.8) располагаются ссылки на главы учебника, переходя по которым загружается страница, с расположенным на ней текстом и ссылками на разделы задач, подготовленных к конкретной главе. При переходе на раздел задач загружается его задание и задачи для самостоятельного решения (Рис.9).





Рис.8. Раздел "Самостоятельная работа"





Рис.9. Задачи для самостоятельного решения "Главы 1"


3.7 Точка зрения



На странице "Точка зрения" (Рис.10), при желании, пользователь может ответить на заинтересовавшие его вопросы.





Рис.10. Страница "Точка зрения"



Поиск

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





Рис.11. Раздел "Поиск"

Администрация

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





Рис.12. Раздел "Администрация"



Статистика

Данный раздел выводит на экран статистические данные: количество рассматриваемых тем, количество разделов задач и количество проводимых опросов (Рис.13).





Рис.13. Раздел "Статистика"



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

Главы

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




Рис.14. Раздел "Главы"





Рис.15. Добавление главы



Подглавы

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




Рис.16. Раздел "Подглавы"





Рис.17. Удаление подглавы



Задачи

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




Рис.18. Раздел "Задачи"





Рис. 19. Редактирование задачи



Голосование

Данный раздел (Рис. 20) позволяет администратору выполнять следующие функции: просмотр результатов опросов (Рис.21), добавление новых опросов, сброс результатов и удаление устаревших опросов.




Рис. 20. Раздел "Голосование"





Рис.21. Результаты опроса



Тексты

Данный раздел (Рис.22) позволяет администратору редактировать тексты страниц "Аннотация", "Предисловие", "Библиографический список".



Рис.22. Раздел "Тексты"


Пароли

Данный раздел (Рис.23) позволяет администратору добавлять (Рис.24) новые и удалять неиспользуемые пароли.





Рис.23. Раздел "Пароли"





Рис.24. Добавление пароля администратора



Итог

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


Заключение



Целью курсовой работы была разработка электронного учебного пособия на тему "Линейное программирование" средствами языка программирования PHP и СУБД MySQL.

Для достижения поставленной цели были решены следующие задачи:

изучить литературу по теме курсовой работы;

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

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

спроектировать структуру и создать дизайн электронного учебника;

систематизировать, оцифровать, и структурировать собранный материал;

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

разработать модуль администратора.

На основе изученных подходов по созданию электронных учебников была разработана концепция электронного учебника на тему "Линейное программирование". По разработанной концепции создан и наполнен электронный учебник в формате языка PHP с использованием СУБД MySQL.

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


Список используемой литературы



Кузнецов М.В., Симдянов И.В. PHP 5/6. - СПб.: БХВ-Петербург, 2010. - 1024 с.

Кузнецов М.В., Симдянов И.В. MySQL 5. - СПб.: БХВ-Петербург, 2006. - 1024 с.

Ульман Л. Учебник MySQL. - СПб.: Питер, 2007, 217 с.

Котеров Д.В., Костарев А.Ф. РНР 5. - СПб.: БХВ-Петербург, 2005. - 1120 с.

Ратшиллер Т., Геркен Т. PHP4: разработка Web-приложений. - СПб: Петербург, 2001. - 384 с.

Томсон Л., Веллинг Л. Разработка Web-приложений на PHP и MySQL. - К.: "ДиаСофт", 2001. - 672 с.

Качанов А. Букварь по PHP и MySQL. - СПб.: БХВ-Петербург, 2008. - 530 с.

Ильченко А.Н., Ксенофонтова О.Л., Канакина Г.В. Практикум по экономико-математическим методам. - М.: Финансы и статистика; ИНФРА-М, 2009. - 288 с.: ил.

Список используемых Интернет-ресурсов:

http://expert. isuct.ru

http://php. spb.ru

http://ru. wikipedia.org/wiki/PHP

http://ru. wikipedia.org/wiki/MySQL

http://www.php. su

http://www.mysql.ru

http://www.spravkaweb.ru/php/db/mysql/db

http://phpclub.ru


Словарь терминов



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

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

База данных (БД) - поименованная совокупность структурных данных, относящихся к определенной области и предназначенных для хранения, обработки и накопления с помощью ЭВМ.

Веб-сайт (англ. Website, от web - паутина и site - "место") - в компьютерной сети объединённая под одним адресом совокупность документов частного лица или организации. По умолчанию подразумевается что сайт располагается в сети Интернет.

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

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

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

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


Приложение



Код верхней навигационной панели:

<table width="100%" border="0">

<tr>

<td width='31%'

<? php if (isset ($n)) {

if ($n==1) {

echo "class='nav_a'"; }

else {

echo "class='nav_t'"; }}

? >><p><img src='img/arr4. jpg' height='15' width='15'><strong><a href="index. php"> Аннотация</a></strong></p></td>

<td width='31%'

<? php if (isset ($n)) {

if ($n==2) {

echo "class='nav_a'"; }

else {

echo "class='nav_t'"; }}

? >><p><img src='img/arr4. jpg' height='15' width='15'><strong><a href="ot_avtora. php"> Предисловие</a></strong></p></td>

<td width='38%'

<? php if (isset ($n)) {

if ($n==3) {

echo "class='nav_a'"; }

else {

echo "class='nav_t'"; }}

? >><p><img src='img/arr4. jpg' height='15' width='15'><strong><a href="liter. php"> Библиографический список</a></strong></p></td>

</tr>

</table>

Код левой навигационной панели:

<td width="23%" valign="top" class="left">

<div class="nav_title">Содержание</div>

<? php

$result2 = mysql_query ("SELECT * FROM categories", $db);

if (! $result2) {

echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br>

<strong>Код ошибки: <strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result2) >0) {

$myrow2 = mysql_fetch_array ($result2);

do {

printf ("<p class='point'><img src='img/7. gif' height='10' width='10'><a class='nav_link' href='view_cat. php? cat=%s'>%s</a></p>", $myrow2 ["id"], $myrow2 ["title"]); }

while ($myrow2 = mysql_fetch_array ($result2)); }

else {

echo "<p>Информация по запросу не может быть извлечена - в таблице нет записей. </p>";

exit (); }? >

<div class="nav_title">Самостоятельная работа</div>

<? php

$result3 = mysql_query ("SELECT * FROM categories", $db);

if (! $result3) {

echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br>

<strong>Код ошибки: <strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result3) >0) {

$myrow3 = mysql_fetch_array ($result3);

do {

printf ("<p class='point'><img src='img/7. gif' height='10' width='10'><a class='nav_link' href='view_tasks. php? cat=%s'>%s</a></p>", $myrow3 ["id"], $myrow3 ["title"]); }

while ($myrow3 = mysql_fetch_array ($result3)); }

else {

echo "<p>Информация по запросу не может быть извлечена - в таблице нет записей. </p>";

exit (); }? >

<div class="nav_title">Точка зрения</div>

<p class='point'><img src='img/7. gif' height='10' width='10'><a class='nav_link' href='view_question. php'> Страница голосования</a></p>

<div class="nav_title">Поиск</div>

<form action="view_search. php" method="post" name="form_s">

<p>Поисковый запрос должен быть не менее 4-х символов</p>

<p><input name="search" type="text" size="25" maxlength="40"> <br>

<input class='search_b' name="submit_s" type="submit" value="Искать"> </p>

</form>

<div class="nav_title">Администрация</div>

<p class='point'><img src='img/7. gif' height='10' width='10'><a class='nav_link' href='/php/admin/'> Страница администратора</a></p>

<div class="nav_title">Статистика</div>

<? php

$result11 = mysql_query ("SELECT COUNT (*) FROM data", $db);

$sum1 = mysql_fetch_array ($result11);

$result12 = mysql_query ("SELECT COUNT (*) FROM tasks", $db);

$sum2 = mysql_fetch_array ($result12);

$result13 = mysql_query ("SELECT COUNT (*) FROM questions", $db);

$sum3 = mysql_fetch_array ($result13);

echo "<p class='statistic'>Рассматриваемых тем: $sum1 [0] <br>Разделов задач: $sum2 [0] <br>Опросов: $sum3 [0] </p>";

? > </td>

Код главной страницы:

<? php include ("blocks/bd. php");

$result = mysql_query ("SELECT title,text FROM settings WHERE page='index'", $db);

if (! $result) {

echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br>

<strong>Код ошибки: <strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result) >0) {

$myrow = mysql_fetch_array ($result); }

else {

echo "<p>Информация по запросу не может быть извлечена - в таблице нет записей. </p>";

exit (); }? >

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title><? php echo $myrow ["title"] ;? ></title>

<meta http-equiv="Page-Enter" content="progid: DXImageTransform. Microsoft. Fade (Duration=2)">

<link href="style. css" rel="stylesheet" type="text/css">

</head>

<body>

<table width="1000" border="0" align="center" class="main_border">

<? include ("blocks/header. php");? >

<tr>

<td valign="top" bgcolor="#FFFFFF"><table width="100%" border="0">

<tr>

<? include ("blocks/lefttd. php");? >

<td valign="top" class="centr">

<? php $n=1; include ("blocks/nav. php");? >

<? php echo $myrow ["text"] ;? >

</td></tr></table></td></tr>

<? include ("blocks/footer. php");? >

</table></body></html>

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

<? php include ("blocks/bd. php");

$result = mysql_query ("SELECT title,text FROM settings WHERE page='index'", $db);

if (! $result) { echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br>

<strong>Код ошибки: <strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result) >0) { $myrow = mysql_fetch_array ($result); }

else {

echo "<p>Информация по запросу не может быть извлечена - в таблице нет записей. </p>";

exit (); }? >

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title><? php echo $myrow ["title"] ;? ></title>

<meta http-equiv="Page-Enter" content="progid: DXImageTransform. Microsoft. Fade (Duration=2)">

<link href="style. css" rel="stylesheet" type="text/css">

<? php echo $myrow ["text"] ;? >

Часть кода страницы "Поиск":

<? include ("blocks/bd. php");

if (isset ($_POST ['submit_s'])) { $submit_s = $_POST ['submit_s'] ; }

if (isset ($_POST ['search'])) { $search = $_POST ['search'] ; }

if (isset ($submit_s)) { if (empty ($search) or strlen ($search) < 4) {

exit ("<p>Поисковый запрос не введен, либо он менее 4-х символов. </p>"); }

$search = trim ($search); /*Удаление лишних пробелов*/

$search = stripslashes ($search); /*Удаление обратных "/", которые ставит php для апострофов из запроса*/

$search = htmlspecialchars ($search); /*Замена исполняемых кодов, тегов на специальные мнемоники*/

} else { exit ("<p>Вы обратились к файлу без необходимых параметров. </p>"); }? >

<? echo "<p class='post_title'>Данные по запросу - '$search'. <p>";

$result = mysql_query ("SELECT id,title,description,date,view FROM data WHERE text LIKE '%". $search. "%' ",$db); /*Выбираем поля из таблицы data, где найдено соответствие в поле text со словом $search*/

if (! $result) {

echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br> <strong>Код ошибки: </strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result) > 0) { $myrow = mysql_fetch_array ($result);

do {

printf ("<table align='center' class='post'>

<tr><td>

<p class='post_name'><a href='view_post. php? id=%s'>%s</a></p>

<p class='post_adds'>Дата добавления:%s </p></td></tr>

<tr>

<td><p>%s </p>

<p class='post_adds'>Просмотров:%s </p></td></tr>

</table><br><br>", $myrow ['id'], $myrow ['title'], $myrow ['date'], $myrow ['description'], $myrow ['view']); }

while ($myrow = mysql_fetch_array ($result)); }

else { echo "<p>Информация по Вашему запросу в учебнике не найдена. </p>";

exit (); }? >

Часть кода страницы "Введение данных новой задачи в БД":

<? php

include ("lock. php");

include ("blocks/bd. php");

if (isset ($_POST ['title'])) {$title = $_POST ['title'] ; if ($title== '') {unset ($title); }}

if (isset ($_POST ['date'])) {$date = $_POST ['date'] ; if ($date== '') {unset ($date); }}

if (isset ($_POST ['description'])) {$description = $_POST ['description'] ; if ($description== '') {unset ($description); }}

if (isset ($_POST ['text'])) {$text = $_POST ['text'] ; if ($text== '') {unset ($text); }}

if (isset ($_POST ['cat'])) {$cat = $_POST ['cat'] ; if ($cat== '') {unset ($cat); }}? >

<? php

if (isset ($title) && isset ($date) && isset ($description) && isset ($text) && isset ($cat)) {

$result = mysql_query ("INSERT INTO tasks (title,date,description,text,cat) VALUES ('$title','$date','$description','$text','$cat')");

if ($result=='true') {echo "<p>Ваша задача успешно добавлена! </p>"; }

else {echo "<p>Ваша задача не добавлена! </p>"; } }

else {

echo "<p>Вы ввели не всю информацию, поэтому задача в базу не может быть добавлена. </p>"; }? >

Часть кода страницы "Удаление данных задачи из БД":

<? php

include ("lock. php");

include ("blocks/bd. php");

if (isset ($_POST ['id'])) {$id = $_POST ['id'] ; }

? >

<? php

if (isset ($id)) {

$result = mysql_query ("DELETE FROM tasks WHERE id='$id'");

if ($result=='true') {echo "<p>Ваша задача успешно удалена! </p>"; }

else {echo "<p>Ваша задача не удалена! </p>"; } }

else {

echo "<p>Вы запустили данный файл без параметра id, поэтому удалить задачу невозможно (скорее всего, Вы не выбрали радиокнопку на предыдущем шаге). </p>"; }? >

Часть кода страницы "Добавление нового опроса":

<?

include ("lock. php");

include ("blocks/bd. php");? >

<? php echo "<p align='center'><strong>Добавление опроса</strong></p>";

if ($_GET ['action'] =='new') {

if ($_GET ['step'] =='') {

echo '<form name="" action="? action=new&step=1" method="post">

<p>Введите вопрос: <br>

<input name="q" type="text" value="" size="70"><br><br>

Введите число ответов: <br>

<input name="nums" type="text" value="3"><br><br>

<input type="submit" value="Далее"></p>

</form>'; }

 // Шаг первый: создаем

if ($_GET ['step'] =='1') {

$q1 = @mysql_query ("INSERT INTO questions (question) VALUES ('". addslashes ($_POST ['q']). "')");

 // Находим id этого вопроса

$q2 = @mysql_query ("SELECT MAX (id) FROM questions");

echo '<p>На вопрос: '. $_POST ['q']. ' - заполните варианты ответов: </p>';

echo '<form name="" action="? action=new&step=2" method="post">';

for ($i=0; $i<=$_POST ['nums'] -1; $i++) {

echo '<p><input name="answ ['. $i. '] " type="text" value=""></p>'; }

echo '<input name="numb" type="hidden" value="'. mysql_result ($q2,0,0). '">';

echo '<p><input type="submit" value="Добавить"></p>';

echo '</form>'; }

if ($_GET ['step'] =='2') {

$limit=count ($_POST ['answ']);

for ($i=0; $i<=$limit-1; $i++) {

@mysql_query ("INSERT INTO answers (numb,var,kol) VALUES ('". $_POST ['numb']. "','". $_POST ['answ'] [$i]. "','0')"); }

echo '<p>Ответы сохранены в базе. <br/><a href="index. php">Вернуться на главную страницу. </a></p>'; }}? >

Часть кода страницы "Просмотр результатов голосования":

<? php

include ("lock. php");

include ("blocks/bd. php");

if (isset ($_POST ['id'])) {$numb = $_POST ['id'] ; if ($cat== '') {unset ($numb); }}

? >

<form action="view_inter. php" method="post" name="form">

<p><label>Выберите опрос: </p>

<select name='cat'>

<? php

$result1 = mysql_query ("SELECT id,question FROM questions", $db);

if (! $result1)

{echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору belova_pi302@mail.ru. <br><strong>Код ошибки: <strong></p>";

exit (mysql_error ()); }

if (mysql_num_rows ($result1) >0) {

$myrow1 = mysql_fetch_array ($result1);

do {

printf ("<option value='%s'>%s</option>", $myrow1 ["id"], $myrow1 ["question"]); }

while ($myrow1 = mysql_fetch_array ($result1)); }? ></select></label><br><br>

<input name='submit' type='submit' value='Просмотр результата'></p></form>

<? php

$cat = $_POST ['cat'] ;

if ($cat) {

$result2 = mysql_query ("SELECT * FROM answers WHERE numb='$cat' ORDER BY kol DESC", $db);

$myrow2 = mysql_fetch_array ($result2);

echo "<br><p class='post_title'>Результаты опроса: </p><br><br>";

echo "<table border=1 align='center' class='sortable'><tr><td>Варианты ответа</td><td>Количество голосов</td></tr>";

do{

echo "<p><tr><td class='sortabletd'>". $myrow2 ['var']. "</td><td class='sortabletd'>". $myrow2 ['kol']. "</td></tr></p>"; }

while ($myrow2 = mysql_fetch_array ($result2));

echo "</table>"; }? >