Общая структура курсового проекта Работа над курсовым

advertisement
НОУ ВПО ИНСТИТУТ УПРАВЛЕНИЯ,
БИЗНЕСА И ПРАВА
Ткачук Е.О.
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
ПО ДИСЦИПЛИНЕ
«Языки и среды реализации
WEB-приложений»
для студентов заочной формы обучения
Ростов-на-Дону
2014
Учебно-методический комплекс по дисциплине «Языки и среды
реализации WEB-приложений» разработан в соответствии с требованиями
Федерального Государственного образовательного стандарта высшего
профессионального образования для студентов очной формы обучения,
обучающихся по направлению подготовки 230700.62 «Прикладная
информатика».
Учебно-методический
комплекс
рекомендован
кафедрой
«Информационные технологии» (протокол №1 от 31.08.13) и утверждён
Учебно-методическим советом Академии Управления (протокол №1 от
31.08.13) НОУ ВПО Института управления, бизнеса и права.
Учебно-методический комплекс предназначен для студентов заочной
формы обучения, содержит план лекционных и практических занятий,
рекомендации
по
выполнению
контрольных(курсовых)
работ
и
самостоятельной работы, требования к уровню освоения программы и
аттестации по дисциплине, учебно-методическое и учебно-информационное
обеспечение дисциплины.
Составитель: к.т.н.с.н.с. Ткачук Е.О. (НОУ ВПО ИУБиП)
Рецензенты: к.т.н., доц.Филин Н.Н. (НОУ ВПО ИУБиП)
к.т.н. доц. Храмов В.В..
(ФГБОУ ВПО РГУПС)
2
СОДЕРЖАНИЕ
1. ЛЕКЦИОННЫЕ ЗАНЯТИЯ ................................................................................... 4
2. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ ................................................................................ 6
3. КОНТРОЛЬ ОВЛАДЕНИЯ
КОМПЕТЕНЦИЯМИ………………………………22
4. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНЫХ
(КУРСОВЫХ) РАБОТ .............................................................................................. 23
4.1 ВАРИАНТЫ КОНТРОЛЬНЫХ (КУРСОВЫХ)
РАБОТ…………………………………………………………………………….…2
3
4.2 Методические рекомендации по выполнению контрольных (курсовых)
работ ………………………………………………………………………………25
5. САМОСТОЯТЕЛЬНАЯ РАБОТА СТУДЕНТОВ ............................................. 28
6. ЭКЗАМЕНАЦИОННЫЕ (ЗАЧЕТНЫЕ) ВОПРОСЫ ПО ДИСЦИПЛИНЕ .... 29
7.УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ……………31
8. ИНФОРМАЦИОННО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
………………………………………………………………………………………32
КОНТАКТНАЯ ИНФОРМАЦИЯ ПРЕПОДАВАТЕЛЯ ........................................ 33
ПРИЛОЖЕНИЕ А – Образец оформления титульного листа контрольной
(курсовой) работы .................................................................................................... 34
3
1 ЛЕКЦИОННЫЕ ЗАНЯТИЯ
Тема 1. Понятие WEB приложения
Определение WEB приложения. Классификация WEB приложений. Основные
понятия, используемые при реализации WEB приложений. Архитектурные
шаблоны Web-приложений.
Веб-приложение - совокупность программ, реализующих обработку данных в
определенной области применения в среде ВебОбобщенная архитектура вебприложения – это модель клиент-сервер, в которой компоненты приложения
разделяются на клиентские и серверные, и взаимодействуют компоненты путем
передачи и получения пакетов по протоколу HTTP. В качестве клиента
выступает веб-браузер, а в качестве сервера – веб-сервер.
Основными шаблонами являются:
1. Thin Web Client используется в большинстве приложений Intenet и
предоставляет ограниченные возможности по управлению конфигурацией
клиента. В распоряжении клиента должен быть только стандартный браузер,
поддерживающий формы. Все операции, связанные с бизнес-логикой,
выполняются на сервере.
2. Thich Web Client предполагает, что значительная часть бизнес-логики
выполняется на клиентской машине. Обычно для выполнения бизнес-логики
используется динамический HTML, аплеты Java или управляющие элементы
ActiveX. Взаимодействие с сервером по-прежнему происходит через протокол
HTTP.
3. Web Delivery. При взаимодействии клиента и сервера, кроме протокола
HTTP, используются и другие протоколы, такие как IIОР, DCOM, которые
могут применяться для поддержки системы распределенных объектов. В
данном случае браузер функционирует как контейнерный модуль системы
распределенных объектов.
Тема 2. Языки реализации клиентских сценариев
Обзор современных средств реализации клиентских сценариев WEB
приложений. Насыщенные WEB страницы. Динамический HTML. Сравнение
JavaScipt
и VBScript. Java-апплет, ActionScript - общая характеристика.
Microsoft Silverlight и XAML.
Одним из типов программ, предназначенных для выполнения на клиентмашине, являются сценарии, например, JavaScript (VBScript). Исходный текст
сценария представляет собой часть веб-страницы, поэтому сценарий JavaScript
передается клиенту вместе с документом, в состав которого он входит.
Обрабатывая HTML-документ, браузер обнаруживает исходный текст сценария
и запускает его на выполнение.
Ко всем программам, которые передаются с сервера на клиент-машины и
запускаются на выполнение, предъявляется одно общее требование: эти
4
программы должны быть лишены возможности обращаться к ресурсам
компьютера, на котором они выполняются. Такое требование вполне
обосновано. Ведь передача по сети и запуск Java-апплетов и JavaScriptсценариев происходит автоматически без участия пользователя, поэтому работа
этих программ должна быть абсолютно безопасной для компьютера. Другими
словами, языки, предназначенные для создания программ, выполняющихся на
клиент-машине, должны быть абсолютно непригодны для написания вирусов и
подобных программ.
Тема 3. JavaScript - язык разработки клиентских веб-приложений
Стандарт ECMA-262. Синтаксис JScript. Структура языка. Объектная модель
браузера. Объектная модель документа. Обработка событий в JavaScript.
Регулярные выражения в JavaScript.
JavaScript - интерпретируемый язык программирования, стандартизированный
международной организацией ECMA в спецификации ECMA-262. Языки
JavaScript, JScript и ActionScript являются расширением стандарта ECMA-262.
Название "ECMAScript" явилось фактически компромиссом между
организациями, вовлеченными в процесс стандартизации, в частности Netscape
и Microsoft. Хотя JavaScript и JScript стремились к совместимости с
ECMAScript, они имеют ряд дополнительных возможностей не
предусмотренных спецификацией ECMA.
Тема 4. Программный интерфейс для доступа и манипулирования
содержимым веб-страниц DOM API
DOM (Document Object Model) - стандарт консорциума W3C для программного
доступа к документам HTML или XML. Узлы дерева HTML документа.
Программный интерфейс HTML DOM. Свойства узлов. Изменение HTML
элементов.Библитека jQuery.
DOM (Document Object Model) - представляет собой стандарт консорциума
W3C для программного доступа к документам HTML или XML. Фактически
это платформо- и языково-нейтральный интерфейс, позволяющий программам
и сценариям динамически обращаться и обновлять содержимое, структуру и
стиль документа.
Тема 5. Технологии разработки серверных WEB приложений
Цель лекции: показать основные принципы работы веб-приложений на стороне
веб-сервера; Дать общее описание стандартов, платформ и технологий,
применяемых для разработки серверных веб-приложений; Рассмотреть
подходы к интеграции приложений в сети Веб.
Основные принципы работы WEB приложений на стороне веб-сервера. Общее
описание стандартов, платформ и технологий, применяемых для разработки
5
серверных WEB приложений. Подходы к интеграции приложений в сети
Интернет. Стандарт CGI
Сценарии. ASP,ISAPI, Интеграция и взаимодействие в сети Веб. Интеграция на
основе XML. Веб-сервисы. Спецификация WSDL. Протокол SOAP. Стандарт
DISCO. Спецификация UDDI.
Главными недостатками веб-сервисов являются меньшая производительность и
больший размер сетевого трафика по сравнению с такими технологиями как
RMI, CORBA, DCOM за счет использования текстовых XML-сообщений.
Тема 6. PHP – язык разработки серверных приложений
Синтаксис PHP. Основные конструкции PHP.. Переменные, массивы, строки
PHP.. Объектно-ориентированное программирование в PHP. Библиотеки
классов PHP. Технология AJAX в PHP. Примеры реализации серверных
сценариев на PHP.
PHP означает Препроцессор гипертекста PHP. Это серверный язык
программирования, созданный специально для динамических страниц Web.
Язык был первоначально разработан в 1994 г. Расмусом Лердорфом и был с тех
пор расширен, чтобы стать одним из наиболее популярных языков сценариев
WWW.
Специфика ООП заметно повышает эффективность труда программистов и
позволяет им создавать более мощные, масштабируемые и эффективные
приложения.
Объектно-ориентированное программирование основано на:
•Инкапсуляции;
•Полиморфизме;
•Наследовании.
Класс - это базовое понятие в объектно-ориентированном программировании
(ООП). Если сказать проще, то класс - это своеобразный тип переменной.
Экземпляр класса - это объект. Объект - это совокупность данных (свойств) и
функций (методов) для их обработки. Данные и методы называются членами
класса. Вообще, объектом является все то, что поддерживает инкапсуляцию.
Тема 7. Интегрированные среды разработки WEB приложений (IDE).
Классификация, состав IDE. Редактор Notepad++ . NetBeans IDE — свободная
интегрированная среда разработки приложений (IDE) на языках
программирования Java, JavaFX, Python, PHP, JavaScript, C++, Ада и ряда
других. Eclipse PDT, Денвер - локальный сервер, MS WebMatrix.
Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development
environment или integrated debugging environment) — система программных
средств, используемая программистами для разработки программного
обеспечения (ПО).
Обычно среда разработки включает в себя:
6
•текстовый редактор
•компилятор и/или интерпретатор
•средства автоматизации сборки
•отладчик.
7
2. ПРАКТИЧЕСКИЕ ЗАНЯТИЯ
Тема 1. Программирование клиентских приложений на языке JavaScript.
Язык программирования JavaScript был разработан Бренданом Эйком (Brendan
Eich) в Netscape Communications как язык сценариев для обозревателей
Netscape Navigator, начиная с версии 2.0. В дальнейшем к развитию этого языка
подключилась корпорация Microsoft, чьи обозреватели Internet Explorer
поддерживают JavaScript, начиная с версии 3.0. Версия Microsoft получила
название JScipt, поскольку JavaScript является зарегистрированной маркой
фирмы Netscape.
JavaScript - это язык программирования, язык сценариев (скриптов),
предназначенный прежде всего для создания интерактивных HTML-страниц.
Программу на языке JavaScript либо встраивают прямо в HTML-файл (как в
секции <head>, так и в секции <body>) с помощью тега <script> ... </script> и
располагают код JavaScript внутри этих тегов,
<script type="text/javascript"> </script>
или помещают весь код JavaScript в отдельный файл с расширением js и
связываются с ним с помощью тега Script:
<script type="text/javascript" src="scripts/JavaScriptFile.js"> </script>
Чтобы программа была выполнена, HTML-файл должен быть открыт в браузере
пользователя. Так как JavaScript является в настоящее время единственным
языком сценариев, который поддерживают все основные браузеры Web
(Internet Explorer, Firefox, Netscape, Safari, Opera, Camino и т.д.), то он
используется очень широко. Однако следует помнить, что некоторые скрипты
действуют по-разному в разных браузерах (то что работает в Internet Explorer
может не работать в Firefox)
JavaScript - интерпретируемый язык. Это означает, что для исполнения
программы не требуется предварительная компиляция (преобразование
исходного текста программы в машинный код). Текст программы
интерпретируется, то есть анализируется и сразу же исполняется.
JavaScript - это объектно-ориентированный язык программирования (ООП),
основан не на обработке команд кода, а на присвоении отдельным элементам
программы конкретных событий и выполнении их, если данное событие имело
8
место. Например, событие нажатие на кнопку приводит к изменению
содержимого текстового поля:
Пример №1
Введите свое имя и нажмите кнопку
Основными понятиями любого объектно-ориентированного языка являются
объекты, классы, методы и свойства. Разберем основные понятия на
конкретных примерах:
<script type="text/javascript">
document.write("Введите свое имя и нажмите кнопку")
</script>
В результате при просмотре данной страницы в браузере появится текст:
"Введите свое имя и нажмите кнопку".
Основные понятия:
OBJECT (объект) - это то, с чем производится действие, событие. Это может
быть документ, открываемый в окне браузера или само окно браузера, или
какая-то часть документа, теги. Объект должен иметь уникальное имя (ID),
чтобы к нему можно было обратиться.
В нашем случае объектом является документ HTML и к нему можно просто
обратиться по имени: document.
Каждый объект обладает своими методами.
METHOD (метод объекта) - это действия, которые можно выполнять над
объектом такого типа, или которые сам объект может выполнять.
Синтаксис кода: между именем объект и методом обязательно ставят
разделительный оператор точка, после метода в скобках параметры метода.
Объект . Метод ("параметры метода")
9
Параметры метода относятся к типу данных - строки символов. Строки
символов нужно обязательно взять в кавычки либо в одинарные, либо в
двойные.
Каждый объект обладает своими свойствами.
PROPERTY (свойство) - каждый объект имеет свои свойства. Один и тот же
объект может обладать многими свойствами. Часто эти свойства необходимо
изменить, при возникновении некоторого события.
Для изменения свойства объекта необходимо соблюдать следующий
синтаксис:
Объект . свойство объекта = "новое значение свойства "
Например, для изменения фонового цвета документа HTML (имя данного
свойства bgColor) следует написать следующее:
<script type="text/javascript">
document.bgColor='red'
</script>
И при просмотре в окне браузера фоновый цвет HTML документа будет
красным.
Обратите внимание на то, что значение свойства red пишется в кавычках
(одинарных или двойных), т.к. значение свойства относится к типу данных
строки символов.
Задание №1
1) Создайте файл, соответствующий стандарту XHTML 1.1 или XHTML 1.0
Strict
2) Напишите скрипт, задающий свойство документа фон
Разумеется, нас будет интересовать возможность изменения свойства при
возникновении какого-либо события.
EVENT (событие) - это все, что случилось: открытие окна, загрузка в него
документа, клик клавишей мышки или просто перемещение курсора по экрану,
нажатие клавиши на клавиатуре - это все события, и они могут инициировать
запуск больших и маленьких программ.
10
Стандартные события в HTML
имя события
происходит
onclick
при щелчке кнопки мыши на элементе
ondblclick
при двойном щелчке кнопки мыши на элементе
onmousedown
при нажатии кнопки мыши на элементе
onmouseup
при отпускании кнопки мыши на элементе
onmouseover
при попадании курсора мыши на элемент
onmousemove
при движении курсора мыши по элементу
onmouseout
при попадании курсора мыши за пределы элемента
onkeypress
при нажатии и отпускании клавиши на элементе
onkeydown
при нажатии клавиши на элементе
onkeyup
при отпускании клавиши на элементе
Здесь следует пояснить, что события (event) и обработчики событий (event
handler) относятся к JavaScript, но они скорее «встроены» в HTML-код. Они
входят в структуру документа НТМL и не требуют тегов <script> и </script>.
Среди разнообразных обработчиков событий для начала мы выберем один,
самый популярный, — onmouseover (навести мышь).
Код выглядит следующим образом:
<p onmouseover="document.bgColor ='red'">Наведи мышь на этот текст .... </p>
Как уже говорилось для написания этого кода не требуются теги <script>
</script>. Событие встраивается в HTML код, т.е является описанием, атрибутом
тега (в данном случае тега <p></p>) при выполнении данного события наведении мышкой на текст данного абзаца - изменяется свойство объекта фон документа HTML.
И здесь есть еще одна важная особенность: document.bgColor ='red' нужно
также записать в кавычках - одинарных или двойных. Вы можете использовать
любой тип кавычек. Однако если Вы вынуждены как в данном случае ставить
кавычки дважды, то можно использовать только вложенные кавычки. Не имеет
значения, в каком порядке Вы использовали кавычки - сначала двойные, а
затем одинарные или наоборот.
МОЖНО:
onmouseover="document.bgColor ='red' " или
onmouseover='document.bgColor ="red" '
11
Но НЕЛЬЗЯ:
onmouseover="document.bgColor ="red" "
onmouseover='document.bgColor ='red' '
onmouseover="document.bgColor ='red" '
Задание №2
1) Создайте файл, соответствующий стандарту XHTML 1.1 или XHTML 1.0
Strict
2) Напишите скрипт, изменяющий свойство документа - фон при
наведении курсором на какой-то текст
А если мы хотим изменить не свойство всего документа, а только свойство
какого-то абзаца? Как в данном случае мы можем изменить свойство данного
объекта? Есть несколько способов.
Пример №3
Этот абзац меняет цвет текста при наведении на него мышкой с
синего на красный!
Код данного примера (ВАЖНО! Код должен быть записан в одну строчку)
<p style="color:blue" onmouseover="this.style.color='red'">Этот абзац меняет цвет
при наведении на него мышкой с синего на красный!</p>
Разберем код.
1. style="color:blue" определяется стиль текста в данном абзаце
2. onmouseover= событие которое может произойти с этим абзацем, в
кавычках надо указать что при этом делать
3. this.style.color='red' изменить стиль абзаца: цвет текста на красный:
o слово this используется для доступа к элементу (объекту),
вызвавшему событие (к данному абзацу),
o через точку указывается его свойство style, дающее доступ к
стилям,
o еще через точку указывается конкретное свойство, значение
которого мы хотим изменить (color - цвет текста)
o затем идет знак присвоить =,
o и затем значение свойства "цвет текста" - красный ('red').
Рассмотрим еще один пример. Изменение цвета фона текста:
12
Пример №4
Цвет фона текста меняется на красный при наведении мышкой
на него!
<p style="background-color:blue" onmouseover="this.style.backgroundColor='red' "
onmouseout="this.style.backgroundColor='blue'">Цвет фона текста меняется на
красный при наведении мышкой на него!</p>
Разберем код.
1. style="background-color:blue" определяется стиль текста в данном абзаце
(цвет фона)
2. onmouseover= (навести мышь) и onmouseout= (увести мышь) события
которые могут произойти с этим абзацем, в кавычках надо указать что
при этом делать
3. this.style.backgroundColor='red'' изменить стиль абзаца: цвет фона на
красный.
Задание №3
1) Создайте файл, соответствующий стандарту XHTML 1.1 или XHTML 1.0
Strict
2) Создайте три абзаца
3) Напишите скрипт, изменяющий цвет текста первого абзаца при
наведении мышкой
4) Напишите скрипт, изменяющий цвет фона текста второго абзаца при
наведении мышкой
5) Напишите скрипт, изменяющий цвет фона текста третьего абзаца
только при наведении мышкой
Тема 2. Программирование серверных приложений на языке PHP.
PHP - это язык для написания скриптов для WEB-сервера. Скрипты PHP
выполняются на сервере, т. е. посетителю WEB-страницы PHP-код не доступен.
Вместо вставок с кодом на PHP посетитель увидит обычный код HTML. В этом
заключается одно из отличий PHP от других скриптовых языков - например,
код JavaScript может передаваться прямо с HTML-кодом браузеру посетителя
WEB-странички, и при желании этот код можно увидеть.
Любой скрипт PHP состоит из последовательности операторов. Оператор
может быть присваиванием, вызовом функции, циклом, условным выражением
13
или пустым выражением (ничего не делающим). Операторы обычно
заканчиваются точкой с запятой. Также операторы могут быть объединены в
группу заключением группы операторов в фигурные скобки. Группа
операторов также является оператором. В этой части описаны различные типы
операторов.
Код php располагается на WEB-странице среди html-тегов. Есть три способа
выхода из HTML и перехода в "режим PHP кода":
Способы перехода из HTML
1. <? echo "режим PHP кода "; ?>
2. <?php echo "режим PHP кода \n"; ?>
3. <script language="php"> echo "режим PHP кода "; </script>;
Упражнение. Создайте html-страницу. Вставьте между тегами <body> и
</body> команду вывода строки "режим PHP кода".
Инструкции (утверждения) разделяются также как в C или Perl - точкой с
запятой.
Пример. <? echo "Это тест1"; echo "Это тест2"; ?>
Типы переменных
PHP поддерживает переменные следующих типов: integer – целое, double число с дробной частью, string - строковая переменная, array - массив, object объектная переменная.
Тип переменной обычно не устанавливается программистом; вместо этого, он
определяется PHP во время выполнения программы, в зависимости от
контекста в котором данная переменная используется.
Пример. <? $a=1; $b=2; print $a+$b; ?>
Константы
PHP определяет несколько констант и предоставляет механизм для
определения пользовательских констант.
Предопределенные константы - это __FILE__ and __LINE__, которые
соответствуют имени файла и номеру строки, которая выполняется в
настоящий момент.
Пример. <? echo __FILE__; ?>
Вы можете определить дополнительные константы с помощью функции
define().
Пример. Описание констант
<? define("CONSTANT", "Hello world");
echo CONSTANT;
?>
Синтаксические конструкции PHP
Синтаксические конструкции PHP аналогичны конструкциям С++.
1. IF
<? $a=1; $b=3;
14
if ($a > $b) print "a is bigger than b";
if ($a > $b) { print "a is bigger than b";} else {print "a is NOT bigger than b"; }?>
2. WHILE
<? $i = 1;
while ($i <= 10) {print $i++; }?>
3. DO..WHILE
<?$i = 0;
do { print $i;}
while ($i>0); ?>
4. FOR
<? for ($i = 1; $i <= 10; $i++) {print $i;} ?>
5. SWITCH
<? $i = 1;
switch ($i) {
case 0: print "i = 0"; break;
case 1: print "i = 1"; break;
case 2: print "i = 2"; break; }?>
Передача данных из формы
Программа – калькулятор. На форме в своем браузере пользователь
введет два числа, выберет с помощью группы радиокнопок одно из
арифметических действий - сложение, вычитание и т. д. После нажатия на
кнопку "Подсчитать" (Submit), WEB-сервер вернет HTML-страницу с
результатом вычислений.
1. Сначала создадим форму. Для этого создайте HTML-файл calc.html
следующего содержания:
<html>
<head><title>Калькулятор</title></head>
<body>
<form method="post" action="calc.php">
<p>n1=<input type="Text" name="n1"></p>
<p>n2=<input type="Text" name="n2"></p>
<p><input type="Radio" name="calc" value="add"> +</p>
<p><input type="Radio" name="calc" value="sub"> -</p>
<p><input type="Radio" name="calc" value="mul"> *</p>
<p><input type="Radio" name="calc" value="div"> /</p>
<p><input type="Submit" value="Результат"</p>
</form>
</body>
</html>
2. Cоздайте файл calc.php. Вот его текст:
<? if($calc=="add"){
$res=$n1+$n2;}
if($calc=="sub"){
$res=$n1-$n2;}
15
if($calc=="mul"){
$res=$n1*$n2;}
if($calc=="div"){
$res=$n1/$n2;}?>
<html>
<head>
<title>Калькулятор</title>
</head>
<body>
<p>Ответ: <? echo "$res"; ?></p>
</body></html>
3. Разместите его в той же папке, где и файл calc.html.
Радиокнопки называются calc, и в зависимости от того, какую из них
выберет посетитель HTML-странички, значение переменной calc будет тем или
другим ("add","sub", "mul" или "div"). И в коде php-файла calc.php мы и
анализируем значение этой переменной и затем в переменную $res записываем
тот или иной результат действия с переменными $n1 и $n2, которые тоже
берутся с нашей странички calc.htm (это имена двух полей для ввода чисел).
Далее просто выводим значение переменной $res в браузер.
ТЕМА 3. Применение баз данных в WEB приложениях.
Что такое MySQL.
MySQL – компактный многопоточный сервер баз данных. MySQL
характеризуется большой скоростью, устойчивостью и легкостью в
использовании.
MySQL был разработан компанией TcX для внутренних нужд, которые
заключались в быстрой обработке очень больших баз данных. Компания
утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД,
которые содержат 10,000 таблиц, из которых более 24.01.2004 чем 500 имеют
более 7 миллионов строк.
MySQL является идеальным решением для малых и средних приложений.
Исходники сервера компилируются на множестве платформ. Наиболее полно
возможности сервера проявляются на Unix-серверах, где есть поддержка
многопоточности, что дает значительный прирост производительности.
На текущий момент MySQL все еще в стадии разработки, хотя версии 3.22
полностью работоспособны.
MySQL-сервер является бесплатным для некоммерческого использования.
Иначе необходимо приобретение лицензии, стоимость которой составляет 190
EUR.
16
Возможности MySQL.
MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого
имеет множество расширений к этому стандарту, которых нет ни в одной
другой СУБД.
Краткий перечень возможностей MySQL.
Поддерживается неограниченное количество пользователей, одновременно
работающих с базой данных.
Количество строк в таблицах может достигать 50 млн.
Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из
существующих.
Простая и эффективная система безопасности.
MySQL действительно очень быстрый сервер, но для достижения этого
разработчикам пришлось пожертвовать некоторыми требованиями к
реляционным СУБД. В MySQL отсутствуют:
Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN
(SELECT id FROM table2).
Не реализована поддержка транзакций. Взамен предлагается использовать
LOCK/UNLOCK TABLE.
Нет поддержки триггеров и хранимых процедур.
По словам создателей именно эти пункты дали возможность достичь высокого
быстродействия. Их реализация существенно снижает скорость сервера. Эти
возможности не являются критичными при создании Web-приложений, что в
сочетании с высоким быстродействием и малой ценой позволило серверу
приобрести большую популярность
Работа с MySQL (сохранение данных в базе данных).
Для начала создаем базу данных и таблицу. Входим в MySQL, и выполняем
команды:
>CREATE DATABASE products;
>CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise
VARCHAR(8));
Для общения с MySQL из PHP понадобятся следующие функции.
int mysql_connect(string hostname, string username, string password);
17
Создать соединение с MySQL.
Параметры:
Hostname – имя хоста, на котором находится база данных.
Username – имя пользователя.
Password – пароль пользователя.
Функция возвращает параметр типа int, который больше 0, если соединение
прошло успешно, и равен 0 в противном случае.
int mysql_select_db(string database_name, int link_identifier);
Выбрать базу данных для работы.
Параметры:
Database_name – имя базы данных.
link_identifier – ID соединения, которое получено в функции mysql_connect.
(параметр необязательный, если он не указывается, то используется ID от
последнего вызова mysql_connect)
Функция возвращает значение true или false
int mysql_query(string query, int link_identifier);
Функция выполняет запрос к базе данных.
Параметры:
Query – строка, содержащая запрос
link_identifier – см. предыдущую функцию.
Функция возвращает ID результата или 0, если произошла ошибка.
int mysql_close(int link_identifier);
Функция закрывает соединение с MySQL.
Параметры:
18
link_identifier – см. выше.
Функция возвращает значение true или false
Доступ к MySql на Doc200
mysql_connect('doc200', 'ID301', 'bd3tz8p');
mysql_select_db('ID301')
1.Создадим таблицу Customer
2.
Поля создаваемой таблицы:
id, FirstName, LastName, Login, Password. Поле id – автоинкрементный
первичный ключ.
Код программы:
create.php
<?php
$hostname='DOC200';
$database='________';
@mysql_connect($hostname,'______________','________________');
19
@mysql_select_db($database);
$q="CREATE TABLE `Customer_номер студенческого`
(`id` INT (3) UNSIGNED DEFAULT '0',
`FirstName` VARCHAR (128),
PRIMARY KEY(`id`)
) ";
$r=mysql_query($q);
@mysql_free_result($r);
mysql_close();
?>
2. Выведем список имеющихся таблиц в БД
show_tables.php
<?php
$hostname='DOC200';
$database='_______';
@mysql_connect($hostname,'_______','____________');
@mysql_select_db($database);
$r = mysql_listtables ($database);
$i = 0;
while ($i < @mysql_num_rows ($r)) {
$ names[$i] = mysql_tablename ($r, $i);
print $names[$i] . "<BR>";
$i++;
}
@mysql_free_result($r);
mysql_close();
?>
3. Удалим таблицу Customer
delete_table.php
<?php
$hostname='DOC200';
$database='___________';
@mysql_connect($hostname,'___________','_____________');
@mysql_select_db($database);
$q="DROP TABLE `id301`.`customer`";
$r=mysql_query($q);
mysql_free_result($r);
mysql_close();
?>
Упражнение. Создайте административный скрипт для интерактивного
создания и удаления таблиц БД.
Шаг 1. Создайте меню(admin.html).
Показать список таблиц в БД
Удалить таблицу
20
Создать таблицу
Расположите на форме кнопку «Далее >>». При нажатии кнопки перейдите на
admin.php
Шаг 2. Создайте обработчик формы(admin.php).
Используйте конструкцию switch.
1. Если выбран пункт меню 1, выполняйте show_tables.php. В конце
расположите форму с копкой «Назад», возвращающую администратора к
основному меню (admin.html).
2. Если выбран пункт меню 2, выполняйте delete_table.php. Для пункта
«Удалить таблицу» предлагайте список имен всех имеющихся таблиц в БД. В
конце расположите форму с копкой «Назад», возвращающую администратора к
основному меню (admin.html).
3. Если выбран пункт меню 3, выполняйте create.php.
Если и флаг создания полей (имя произвольное) не установлен, то предложите
форму:
Выберите имя БД список
Количество полей в таблице поле ввода
Расположите на форме кнопку «Далее >>». При нажатии кнопки перейдите на
admin.php, установив флаг выбора меню в «3» и флаг создания полей в «1».
В скрипте проверьте, если флаг создания полей установлен в «1», то
предложите пользователю таблицу:
Имя
поля
1
Тип
поля 1
Разме
р
По
умолчани
ю
Первичны
й ключ
Уникальны
й столбец
Автоинкремен
т
поле
ввод
а
.
.
.
Имя
поля
N
списо
к
поле
ввода
поле ввода
флажок
флажок
флажок
Тип
Поля
N
Разме
р
По
умолчани
ю
Первичны
й ключ
Уникальны
й столбец
Автоинкремен
т
поле
ввод
а
списо
к
поле
ввода
поле ввода
флажок
флажок
флажок
21
Расположите на форме кнопку «Далее >>». При нажатии кнопки перейдите на
admin.php, установив флаг выбора меню в «3» и флаг создания полей в «2».
В скрипте проверьте, если флаг создания полей установлен в «2», то
сформируйте запрос на создание таблицы и выполните его. Выведите
пользователю сообщение «Таблица создана».
Выведите форму с копкой «Назад», возвращающую администратора к
основному меню (admin.html).
Замечание. Типы полей списка «Тип поля»: INT, BIGINT, SMALLINT, FLOAT,
DOUBLE, DATE, DATETIME, CHAR, VARCHAR
22
3. КОНТРОЛЬ ОВЛАДЕНИЯ КОМПЕТЕНЦИЯМИ
Перечень названий и шифров компетенций в соответствии с ФГОС
ВПО:
−способен ставить и решать прикладные задачи с использованием
современных информационно-коммуникационных технологий (ПК-4);
−способен осуществлять и обосновывать выбор проектных решений по
видам обеспечения информационных систем (ПК-5);
−способен моделировать и проектировать структуры данных и знаний,
прикладные и информационные процессы (ПК-9);
Табл. 3.1 - Перечень практических заданий для контроля степени овладения
компетенциями
№
Задание
1
Программирование клиентских
приложений на языке JavaScript.
Программирование серверных
приложений на языке PHP.
Применение баз данных в WEB
приложениях.
2
3
Содержание
задания
Компетенции
ПК-4, ПК-5, ПК-9
См. раздел 2
УМК
ПК-4, ПК-5, ПК-9
ПК-4, ПК-5, ПК-9
23
4. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНЫХ
(КУРСОВЫХ) РАБОТ
4.1 Варианты контрольных (курсовых) работ
1.Подсистема допуска и регистрации пользователей сайта. Обеспечивает
вход с проверкой логина и пароля, регистрацию новых пользователей с
проверкой корректности вводимой информации, и отсутствия двойников,
хранения профиля пользователя (логин, пароль, e-mail, номер студенческого
билета, группу, фамилию имя отчество, телефон, фотографию).
2.Подсистема редактирования профиля пользователя. Обеспечивает
просмотр и редактирование пользователем своего профиля
3.Подсистема администрирования пользователей сайта. Обеспечивает
просмотр списка пользователей, редактирование ролей пользователей
(администратор, студент, менеджер, преподаватель), редактирование паролей
пользователей, добавление и удаление пользователей.
4.Подсистема ввода списков пользователей. Обеспечивает ввод списка
пользователей из файла в формате Excel или csv. При этом номер группы
задается вручную. В списке указывается фамилия имя отчество, номер
студенческого билета. Пароли всем пользователям назначаются 1234567.
5.Подсистема администрирования базы данных об успеваемости
(«Электронный классный журнал»). Обеспечивает создание таблицы «Страница
журнала». Одна запись содержит информацию о дате занятия, наименовании
дисциплины, теме занятия, номере группы, номере студенческого билета,
отметке о результатах студента на занятии (Н, б, * , <1-5>). Удаляет записи,
относящиеся к заданному интервалу дат, или к заданному номеру группы, или к
заданному номеру студенческого билета.
6.Подсистема вывода страницы электронного классного журнала.
Обеспечивает вывод страницы журнала для заданной группы и заданной
дисциплины.
7.Подсистема ввода данных о результатах занятия («Электронная
перекличка»). Вводится номер группы, дисциплина, тема занятия, кнопка
«Начать перекличку». По нажатию кнопки выводится карточка студента с
ФИО, фото и кнопки «Н», «Б», «2», «3», «4», «5», затем карточка следующего
студента.
8.Подсистема вывода данных об успеваемости студента («Электронный
дневник»). Выводит для заданного студента таблицу успеваемости, в строках
дисциплины, в ячейках отметки об успеваемости (посещаемости).
9.Подсистема расчета текущего рейтинга студента. Для заданного студента
рассчитывается рейтинг по таблице успеваемости, согласно методике об
аттестации студентов ИУБиП – баллы за посещаемость + баллы за практику.
Баллы за посещаемость рассчитываются из процента занятий, не равных «Н».
Баллы за практику - из процента выполненных заданий – сумма оценок
поделенная на произведение числа 5 на число занятий.
24
10.Подсистема редактирования результатов успеваемости. Для заданного
студента, заданной дисциплины, выдается результат, он корректируется, и
записывается в базу данных.
11.Подсистема ввода результатов тестирования. Для заданной
дисциплины, заданной даты выводятся карточки студентов, в которые вводятся.
Результаты записываются в таблицу базы данных.
25
4.2 Методические рекомендации по выполнению контрольных
(курсовых) работ
Студентам заочной формы обучения необходимо выбрать одну тему
работы из списка согласно порядковому номеру в журнале. Студентами
заочной формы обучения в сокращенные сроки выбираются три темы по
последнему номеру зачетки (например, номер в зачетке 5 – выбираются темы
5,15,25).
Общая структура курсового проекта Работа над курсовым проектом
выполняется в 4 этапа:
1 этап – изучаются теоретические основы проектирования и реализации
Web-сайтов, прорабатывается теоретическая часть курсового проекта, составляется список литературы и оформляется первая глава;
2 этап – проектируется и реализуется Web-сайт на конкретном примере;
3 этап – оформляется технический проект Web-сайта (составляется
техническая документация) в виде второй главы курсового проекта, пишутся
введение и выводы и предложения;
4 этап – подготовка к защите и защита проекта (проверка курсового
проекта руководителем, устранение сделанных им замечаний; подготовка
доклада и электронной презентации).
Курсовой проект должен иметь следующую структуру:
Титульный лист (1 стр.)
Содержание (1 стр.)
Введение (1,5-2 стр.)
1. Теоретическая часть (название теоретической темы) (13-15 стр.)
2. Разработка Web-сайта (название образовательного учреждения) (15 - 25 стр.)
2.1. Определение требований к сайту
2.2. Составление технического задания на разработку сайта
2.3. Покупка домена и хостинга
2.4. Разработка эскизов дизайна
2.5. Верстка, программирование, тестирование
2.6. Наполнение проекта
2.7. Опытная эксплуатация и внедрение проекта
2.8. Оптимизация
2.9. Продвижение сайта
Выводы и предложения (до 2-х стр.)
Список использованной литературы (до 2-х стр.,)
Приложения (до 10стр.)
Работу над курсовым проектом необходимо начинать с подбора и изу26
чения литературы по исследуемой проблеме. В первую очередь следует изучить учебные издания1 (учебники и пособия), затем – научные публикации,
законодательные акты, а для получения наиболее актуальной и современной
информации целесообразно ознакомиться с периодическими изданиями
(журналами) и статьями, опубликованными в глобальной сети Интернет2.
В результате систематизированного изучения литературы происходит
отсев несущественного материала, усваиваются основные понятия, категории, термины, формируются общие позиции специалистов, которые будут
исходными в работе. Одновременно выявляются недостатки и нерешенные
проблемы, требующие дополнительного осмысливания; выясняется то, что
еще недостаточно изучено. На основе этого определяются цель и задачи проекта, а также составляется список литературы, которую планируется использовать при написании курсового проекта.
Во введении необходимо: обосновать актуальность выбранной темы
(см. на титульном листе); сформулировать цель работы (см. тему проекта) и
поставить задачи (см. содержание работы), которые необходимо решить для
достижения ее; описать совокупность научных методов, технических и программных средств, используемых при выполнении курсового проекта; указать объект исследования (см. тему). Введение целесообразно писать после
завершения работы над основной частью. Также необходимо указать пароль,
который необходимо использовать для распаковки архива с файлами курсового проекта.
В первом разделе необходимо раскрыть теоретическую тему, соответствующую варианту. Для этого нужно наиболее полно и творчески описать
предложенные по этой теме вопросы. Рассмотреть сущность и основное содержание проблемы, изучаемого вопроса; изложить свои умозаключения и
мнения различных авторов. Обязательно сделать ссылки на литературные источники, материал которых использовался при написании.
В этом разделе студент должен показать свой общий научнометодический уровень подготовки, умение изучать литературу и систематизировать современные знания, делать обобщения и выявлять направления
решения проблемы.
Излагать материал необходимо лаконично, т.е. краткость должна сочетаться с точностью, ясностью, полнотой изложения, без разъяснения очевидных истин и излишних деталей, уводящих в сторону от основного вопроса.
Второй разделсостоит из нескольких подразделов
1. Определение требований к сайту.
На данном этапе заполняется анкета на разработку сайта, в которой
прописываются основные моменты, такие как описание функциональности,
общей идеи сайта, предпочтения в дизайне, потенциальную аудиторию и т.д.
На основе полученных данных разрабатывается техническое задание.
Результат: проект создания web-сайта.
2. Составление технического задания на разработку сайта.
Техническая документация регламентирует все аспекты и нюансы
предстоящей работы. Данный документ позволяет структурировать инфор27
мацию, которую планируется разместить на сайте, проработать взаимосвязь
различных разделов, страниц, активных элементов сайта.
Результат работ: техническое задание на разработку сайта.
3. Покупка домена и хостинга.
Домен является неотъемлемой частью web-сайта. Существуют некоторые рекомендации по подбору доменного имени.
Результат: регистрация web-сайта в сети Интернет.
4. Разработка эскизов дизайна:
o создание концепции дизайна сайта в целом;
o разработка дизайна главной страницы;
o прорисовка внутренних страниц сайта;
o подбор и обработка изображений для размещения на сайте.
Результат работ: утвержденная концепция дизайна сайта, макеты всех
типов страниц.
5. Верстка, программирование, тестирование:
o графическая картинка разработанная дизайнером переводится в
HTML язык;
o страница оптимизируется под многие параметры:
a) корректное отображение web-страницы в различных браузерах.
b) оптимизация сайта под различные разрешения экрана.
c) скорость загрузки web-страницы.
Результат работ: HTML-шаблоны всех типов страниц сайта, реализованная программная часть сайта.
6. Наполнение проекта.
В рамках данного этапа происходит размещение материалов на сайт и
формирование баз данных с необходимой информацией.
Результат работ: размещенная информационная база на сайте.
28
5. САМОСТОЯТЕЛЬНАЯ РАБОТА СТУДЕНТОВ
Запланированные часы учебной программы по самостоятельной работе
предусмотрены для приобретения студентами навыков работы со специальной
литературой, развития творческого мышления, исследования реального сектора
экономики, применения теоретических знаний в конкретных ситуациях, а так
же закрепления знаний, полученных в процессе изучения дисциплины на
аудиторных занятиях. Это достигается за счет выполнения студентами
контрольных работ и подготовки к итоговой аттестации. Содержание итоговой
аттестации приведено в 6 разделе учебно-методического комплекса,
контрольных работ – в 4 разделе, материалов для подготовки – 1 разделе.
Табл. 5.1 – Содержание самостоятельной работы студента
№
Наименование
Содержание
1 Выполнение
По определенной теме готовится работа и доклад
контрольной работы
(см. 4 раздел УМК)
2 Подготовка к
По лекционным материалам курса (см. 1 раздел
итоговому
УМК) повторяются и закрепляются вопросы (см.
аттестационному
6 раздел УМК), рассмотренные на аудиторных
мероприятиям
занятиях,
самостоятельно
прорабатываются
вопросы (см. 6 раздел УМК), не освещенные на
аудиторных занятиях, выполняется тест на
самопроверку в системе Moodle.
29
6. ЭКЗАМЕНАЦИОННЫЕ (ЗАЧЕТНЫЕ) ВОПРОСЫ
ПО ДИСЦИПЛИНЕ
1.
2.
3.
4.
5.
HP.
Характеристика
языка.
Основные
синтаксические
конструкции. Примеры.
Поддержка баз данных в PHP. Стандартные функции PHP для
работы с MySQL. Примеры.
PHP. Передача данных между страницами (формы как механизм
передачи информации, скрытые переменные, сеансы, кукисы,
промежуточное хранение информации).
PHP. Объектно-ориентированные возможности. Примеры.
HTTP-протокол. Структура запроса клиента, ответа сервера.
Основные методы. Примеры запросов.
Задача № 19
С помощью HTML и языка РНР создайте страницу с формой
«виртуальной торговой тележки». При нажатии кнопки «Оформить
заказ» система переходит на страницу с сообщением «Заказ
наименование заказа оформлен». Если не выбран ни один товар,
выводится сообщение: «Не выбран ни один товар!».
Задача № 20
С помощью языка РНР реализуйте Web–калькулятор,
позволяющий вводить 2 числа и выполнять действия - сложение,
вычитание, умножение, деление.
Задача № 21
С помощью языка РНР реализуйте счетчик посещений Webстраницы, который подсчитывает количество обращений к странице,
в которой он находится и выводит результат на страницу.
Задача № 22
С помощью языка РНР реализуйте Web-приложение «Гостевая
книга», которая позволяет вводить отзыв посетителя, сохраняет его в
текстовый файл и отображает на Web-странице.
30
Задача № 23
С помощью HTML и языка РНР реализуйте Web-форму для ввода
регистрационной информации и скрипт, осуществляющий проверку
корректного заполнения полей: не остались ли пустыми поля формы,
корректен ли синтаксис адреса электронной почты (содержит «@» и
«.»), совпадают ли значения полей «Выберите пароль» и «Повторите
ввод пароля».
31
7.УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
7.1Основная литература
7.2
№
п/п
1.
2.
3.
4.
Перечень литературы
Зольников Д.С. PHP5. Как самостоятельно создать сайт любой
сложности. – 2-е изд. стер. – М.: НТ Пресс, 2009. – 272с.
Браун Д.М. Разработка веб-сайта. Взаимодействие с заказчиком,
дизайнером и программистом : книга / Д.М. Браун - Санкт-Петербург :
Питер, 2009. 336 c.
Веллинг Л. Разработка Web- приложений с помощью PHP и MySQL :
пособие / Л. Веллинг, Л. Томсон - Москва : Питер, 2008. 800 c.
Гаевский А. Ю. Самоучитель по созданию Web- страниц (HTML,
JavaScript, Dynamic HTML) : самоучитель / А.Ю. Гаевский, В.А.
Романовский - Киев : А.С.К., 2009. 472 c.
7.2 Дополнительная литература
№
п/п
1.
2.
3.
4.
5.
6.
Перечень литературы
Леонтьев Б. К. Web-дизайн: тонкости, хитрости и секреты :
руководство / Б.К. Леонтьев - Москва : СОЛОН-Пресс, 2003. 640 c.
Колисниченко Д.Н. Современный сайт на PHP и JavaScript : книга /
Д.Н. Колисниченко - Санкт-Петербург : Питер, 2009. 176 c.
Как создать превосходный сайт в Microsoft Expression Web 2 и CSS
Хестер Н. Москва ДМК Пресс 256c. ISBN: 978-5-94074-548-8
Секреты создания недорогого Web-сайта. Как создать и
поддерживать удачный Web-сайт, не потратив ни копейки Мартинес
А. Москва ДМК Пресс2007 416c. ISBN: 5-94074-162-2
Практикум Web-дизайна. Учебное пособие Третьяк Т.М., Кубарева
М.В. Москва СОЛОН-ПРЕСС 2006 174c. ISBN: 5-98003-253-3
Защита от хакеров Web-приложений. Учебное пособие.
Издательство: ДМК Пресс Форристал Д. 2008 Москва 496 с. ISBN:
5-94074-258-0
32
8. ИНФОРМАЦИОННО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
ДИСЦИПЛИНЫ
№
п/п
1
2
3
4
Перечень
MS Office
Виртуальная машина VirtualPC
Библиотека MSDN
Материалы сервера ИУБиП
5
Загрузчики Windows XP и Windows 7
6
Материалы ЭБС http://www.iprbookshop.ru
33
КОНТАКТНАЯ ИНФОРМАЦИЯ ПРЕПОДАВАТЕЛЯ
Фамилия, имя, отчество:
Ученая степень:
Должность:
Кабинет:
Телефон:
e-mail:
Ткачук Евгений Остапович
К.т.н.
Доцент
607
245-28-90 доб. 142
tkachuk_e_o@iubip.ru
34
ПРИЛОЖЕНИЕ А
Образец оформления титульного листа контрольной (курсовой) работы
НОУ ВПО ИНСТИТУТ УПРАВЛЕНИЯ, БИЗНЕСА И ПРАВА
КОНТРОЛЬНАЯ РАБОТА
По дисциплине: Математические методы в управлении
Вариант: №
Выполнил
(фамилия, имя, отчество)
(курс, группа)
Проверил
Ткачук Е.О.
(фамилия, имя, отчество)
Доцент к.т.н. с.н.с.
.
(должность, научная степень, подпись)
Ростов-на-Дону
2014
35
Download