Разработка системы хранения данных о проектах с курсом обучения

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.12.2012
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

18

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Московский Государственный Университет Печати имени Ивана Фёдорова

Кафедра Информационных Систем

Курсовой проект

Дисциплина: Системы управления медиаданными

Тема: «Разработка системы хранения данных о проектах с курсом обучения»

Выполнила студентка группы ДЦиС 5-1:

Власюк А.Н.

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

ст. преп. Ляхов Д.Н.

Москва 2012

Содержание

Введение

1. Общая постановка задачи

2. Системные требования

3. База данных, ER-модель базы данных

4. Функциональная спецификация

5. Тестирование обучающего курса

Заключение

Список литературы

Приложение

Введение

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

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

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

Система включает в себя:

обучение на основе ошибок;

ввод данных о сайте или веб-приложении;

ввод данных об ошибках на сайте;

вывод информации о правках, внесенных администратором;

вывод всех данных о проекте.

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

1. Общая постановка задачи

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

Работы будут производиться с использованием языка программирования высокого уровня PHP.

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

обучение;

ввод данных о сайте или веб-приложении;

ввод данных об ошибках на сайте;

вывод информации о правках, внесенных администратором;

вывод всех данных о проекте.

В каждом разделе находятся дополнительные поля для заполнения.

Ввод информации о проектах:

- название;

- описание;

- дата;

- активность(действует ли проект на данный момент).

2) Ввод данных об ошибках на сайте:

- номер проекта;

- баги верстки;

- баги функций;

- дата;

- важность ошибок;

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

3) Вывод информации о правках, внесенных администратором

4) Вывод всех данных о проекте.

В двух последних разделах представляется выбор администратора и проекта соответственно и после выбора выводится таблица с данными из БД.

2. Системные требования

1. Операционная система Linux / Windows с установленным пакетом / комплектом разработчика Apache + PHP.

2. Требований к памяти не имеется.

3. Любой браузер на движках Presto / Gecko / Webkit / Trident.

Серверная часть приложения, которая заведует в данном случае обработкой действий интерфейса и взаимодействует с базой, написана на языке PHP версии 5.3.

3. База данных, ER-модель базы данных

Разработанная ИС имеет следующие уровни:

1) Уровень преставления. Отображает WEB-интерфейс системы, написанный с помощью языка HTML. Данный интерфейс необходим для взаимодействия пользователя и информационной системы.

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

3) Уровень базы данных. Уровень представлен реляционной базой данных «test», управляемой СУБД MySQL. База состоит из нормализованных таблиц, содержащих необходимую информацию для информационной системы.

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

projects (id, name, description, date, activity)

bugs (id, project_id, pos_bugs, func_bugs, date, importance, admin_id)

admins (id, login, password, name, job)

Отношение для заданной связи должно охватывать такие атрибуты как:

Таблица 2.1. Таблица projects (проекты)

id

name

description

date

activity

Id проекта

Название проекта

Описание

Дата проекта

Активность проекта

Список всех проектов и информации о них для пользователя и для администратора.

Таблица 2.2. Таблица bugs (ошибки )

id

project_id

pos_bugs

func_bugs

date

importance

admin_id

Id ошибки

Id проекта

Ошибка верстки

Ошибка функции

Дата

Важность ошибки

Id администратора

Таблица со всеми ошибками, которые пользователи добавили в поля формы.

Таблица 2.3. Таблица admins (теги объявлений)

id

login

password

name

job

Id администратора

логин

пароль

имя

В качестве кого работает

Содержит информацию об администраторе.

Листинги создания таблиц представлены в Приложении (Листинг 1).

На уровне баз данных находится разработанная для данной информационной системы база test, хранящая в себе данные о проектах. Реализована эта база данных на СУРБД MySQL.

Первым этапом в разработке системы стало выделение основных сущностей, которые представлены в ER-диаграмме (См. рис.3.1).

Рисунок 3.1. ER-диаграмма

4. Функциональная спецификация

Обучающий курс.

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

Рисунок 4.1. Слайдер.

Ввод информации о проектах

Добавление информации происходит с помощью стандартной формы (рисунок 4.2). Проекты заносятся в базу projects при обратке скрипта. После занесения данных в базу обрабатывается форма занесения данных и преобразовывается дата для базы данных и данные перепроверяются. Алгоритм для ввода информации о багах однотипен только сдобавлением других полей (рисунок 4.3).

Рисунок 4.2. Добавление информации о проектах

Рисунок 4.3. Добавление информации о багах

Вывод информации о правках администратора

Для вывода данных о правках из базы требуется знать id администратора (рисунок 4.4). Далее поступает запрос в базу и в виде таблицы генерируется ответ. Ответ генерируется соединением двух таблиц при помощи join. Выводит поэтапно в зависимости от времени добавления. Аналогично работает алгоритм по выводу сведений о проекте(рисунок 4.5).

Рисунок 4.4. Вывод информации о правках администратора

Рисунок 4.5. Вывод информации о проекте.

Тестирование обучающего курса.

Теоретические сведения

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

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

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

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

При испытании многих продуктов пользователю предлагают в «лабораторных» условиях решить основные задачи, для выполнения которых этот продукт разрабатывался, и просят высказывать во время выполнения этих тестов свои замечания.

Процесс тестирования фиксируется в протоколе (логе) и/или на аудио- и видеоустройства -- с целью последующего более детального анализа.

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

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

Речь модератора и респондента;

Выражение лица респондента (снимается на видеокамеру);

Изображение экрана компьютера, с которым работает респондент;

Различные события, происходящие на компьютере, связанные с действиями пользователя:

Перемещение курсора и нажатия на клавиши мыши;

Использование клавиатуры;

Переходы между экранами (браузера или другой программы).

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

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

Тестирование ИС

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

Первоначально предложим им посмотреть наш слайдер(См. рис. 5.1).

Основные минусы в том, что разные форматы картинок и изображение из-за это теряет качество и постоянно «прыгает».

Рисунок 5.1. Слайдер.

Далее посмотрим страницу с вводом данных (рисунок 5.2).

Рисунок 5.2. Ввод данных.

Для начала заполним поля информацией (рисунок 4.2).

Рисунок 5.3. Заполнение формы

При добавлении данных возникли проблемы. Возникли из-за формата даты, так как в данной ИС ее можно добавлять только в формате дд.мм.гггг(дд.мм.гг).

Рисунок 5.4. неправильный ввод даты проекта

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

Заключение

интерфейс сайт листинг

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

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

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

Список литературы

1) Официальная документация языка PHP: http://php.net ;

2) Гради Буч, Роберт А. Максимчук, «Объектно-ориентированный анализ и проектирование с примерами приложений», изд. «Вильямс», 2008,

3) Веллинг Л., Томсон Л. Разработка web-приложений с помощью РНР и MySQL. Третье издание - «Вильямс», 2005

4) Фаулер М., Скотт К. UML. Основы. - СПб: Символ- Плюс, 2002

5) Марков А.А. Практическое введение в базы данных. Методическое пособие, часть 1, 2,

6) Энди Гутманс, Стик Баккен, Деррик Ретанс. «PHP Профессиональное пограммирование». - СПб: Символ, 2006

Приложение

Листинг 1. Создание таблиц

--

База данных: `test`

--

--------------------------------------------------------

--

Структура таблицы `admins`

--

CREATE TABLE IF NOT EXISTS `admins` (

`id` int(20) NOT NULL AUTO_INCREMENT,

`login` varchar(255) NOT NULL,

`password` varchar(255) NOT NULL,

`name` varchar(255) NOT NULL,

`job` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

--

Структура таблицы `bugs`

--

CREATE TABLE IF NOT EXISTS `bugs` (

`id` int(20) NOT NULL AUTO_INCREMENT,

`project_id` int(20) NOT NULL,

`pos_bugs` blob NOT NULL,

`func_bugs` blob NOT NULL,

`date` date NOT NULL,

`importance` tinyint(1) DEFAULT NULL,

`admin_id` int(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

--

Структура таблицы `projects`

--

CREATE TABLE IF NOT EXISTS `projects` (

`id` int(20) NOT NULL AUTO_INCREMENT,

`name` varchar(255) NOT NULL,

`description` blob NOT NULL,

`date` date NOT NULL,

`activity` tinyint(1) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

Листинг 1. Создание таблиц

Листинг 2. Файл testingIS.php

<?php

date_default_timezone_set('Europe/Moscow');

session_start();

//var_dump($_SERVER);

//if ( stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) echo stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox');

//echo "OK!";

mysql_connect('localhost','root','root');

mysql_select_db("test");

?>

<html>

<head>

<meta charset="utf-8">

</head>

<link href="css/bootstrap.css" rel="stylesheet">

<link href="css/bootstrap.min.css" rel="stylesheet">

<link href="css/bootstrap-responsive.css" rel="stylesheet">

<body>

<form action="testingIS.php" method="POST" class="form-horizontal" >

<div class="btn-group" style="float: left;">

<button class="btn btn-warning" name="learn">Обучение</button><br />

<button class="btn btn-info" name="proj">Ввод информации о проектах</button><br />

<button class="btn btn-warning" name="bugs">Ввод информации о багах</button><br />

<button class="btn btn-info" name="admin">Вывод информации о правках админа</button><br />

<button class="btn btn-warning" name="info">Сведения о проекте</button>

</div>

</form>

<div class="alert alert-success" style="padding-left: 22%">

<?php

if(isset($_POST["learn"])){

?>

<script type="text/javascript">

$('.carousel').carousel();

</script>

<div class="carousel slide" id="myCarousel">

<div class="carousel-inner">

<div class="item">

<img alt="" src="img/1.jpg">

</div>

<div class="item active">

<img alt="" src="img/2.jpg">

</div>

<div class="item">

<img alt="" src="img/3.jpg">

</div>

<div class="item">

<img alt="" src="img/4.jpg">

</div>

</div>

<a data-slide="prev" href="#myCarousel" class="left carousel-control">‹</a>

<a data-slide="next" href="#myCarousel" class="right carousel-control">›</a>

</div>

<?php

}

if(isset($_POST["proj"])){

?>

<div>

<h4>Ввод информации о проектах</h4><br />

<form action="testingIS.php" method="POST" class="form-horizontal" style="padding-top: 8%">

<div class="control-group">

<label class="control-label">Название</label>

<div class="controls">

<input type="text" name="name">

</div>

</div>

<div class="control-group">

<label class="control-label">Описание </label>

<div class="controls">

<textarea name="description"></textarea>

</div>

</div>

<div class="control-group">

<label class="control-label">Дата </label>

<div class="controls">

<input type="text" name="date">

</div>

</div>

<div class="control-group">

<label class="control-label">Активность </label>

<div class="controls">

<select name="activity">

<option value="0">0</option>

<option value="1">1</option>

</select>

</div>

</div>

<input type="submit" value="Добавить" name="save_proj" class="btn btn-success">

</form>

</div>

<?php

}

if(isset($_POST['bugs'])){

?>

<div>

<h4>Ввод информации о багах </h4><br />

<form action="testingIS.php" method="POST" class="form-horizontal" style="padding-top: 8%">

<div class="control-group">

<label class="control-label">Id проекта </label>

<div class="controls">

<input type="text" name="proj_id">

</div>

</div>

<div class="control-group">

<label class="control-label">Баги верстки </label>

<div class="controls">

<textarea name="pos_bugs"></textarea>

</div>

</div>

<div class="control-group">

<label class="control-label">Баги функций </label>

<div class="controls">

<textarea name="func_bugs"></textarea>

</div>

</div>

<div class="control-group">

<label class="control-label">Дата </label>

<div class="controls">

<input type="text" name="date">

</div>

</div>

<div class="control-group">

<label class="control-label">Важность </label>

<div class="controls">

<select name="importance">

<option value="grey" class="badge">0</option>

<option value="green" class="badge badge-success">1</option>

<option value="yellow" class="badge badge-warning">2</option>

<option value="red" class="badge badge-important">3</option>

</select>

</div>

</div>

<div class="control-group">

<label class="control-label">Id админа </label>

<div class="controls">

<input type="text" name="admin_id">

</div>

</div>

<input type="submit" value="Добавить" name="save_bugs" class="btn btn-success">

</form>

</div>

<?php

}

if(isset($_POST['admin'])){

?>

<div>

<h4>Вывод информации о правках админа </h4> <br />

<form method="POST" action="testingIS.php" class="form-horizontal" style="padding-top: 8%">

<div class="control-group">

<label class="control-label">Введите login админа:</label>

<div class="controls">

<select name="admin">

<?php

$q="SELECT id FROM admins";

$result=mysql_query($q);

while ($row = mysql_fetch_assoc($result)){

echo "<option value=\"".$row['id']."\">".$row['id']."</option>";

}

?>

</select>

</div>

</div>

<input type="submit" name="admin_work" value="Узнать" class="btn btn-primary">

</form>

</div>

<?php

}

if(isset($_POST['info'])){

?>

<div>

<h4>Сведения о проекте </h4><br />

<form method="POST" action="testingIS.php" class="form-horizontal" style="padding-top: 8%">

<div class="control-group">

<label class="control-label">Выберите проект: </label>

<div class="controls">

<select name="project">

<?php

$q="SELECT id FROM projects";

$result=mysql_query($q);

while ($row = mysql_fetch_assoc($result)){

echo "<option value=\"".$row['id']."\">".$row['id']."</option>";

}

?>

</select>

</div>

</div>

<input type="submit" name="proj_info" value="Узнать" class="btn btn-primary">

</form>

</div>

<?php

}

?>

</div>

</body>

</html>

<?php

$projects_fields=array("name", "description", "date", "activity");

$bugs_fields = array("project_id","pos_bugs","func_bugs", "date", "importance", "admin_id");

function insertIntoDB($table_name,$fields, $values){

for($i=0; $i<count($values);$i++){

$values[$i]=mysql_real_escape_string($values[$i]);

}

$q="INSERT INTO ".$table_name." (";

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

$q.=$fields[$i].", ";

}

$q.=$fields[count($fields)-1].") VALUES (";

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

$q.="'".$values[$i]."', ";

}

$q.="'".$values[count($values)-1]."')";

//var_dump($q);

return $q;

}

if(isset($_POST['save_proj'])){

$data=array($_POST['name'],$_POST['description'],$_POST['date'],$_POST['activity']);

//преобразование даты из d-m-y в mysql YYYY MM DD

$data[2]=explode(".", $data[2]);

$d=$data[2][0];//сохраняем день

$data[2][0]=$data[2][1]; //меняем день и месяц

$data[2][1]=$d;

$data[2]=implode("/", $data[2]); //сохраняем в американском формате

$tmp_date = date_create($data[2]); //создаем дату

$data[2] = date_format($tmp_date,'Y.m.d'); //меняем формат

//var_dump($data[2]);

//

$query = insertIntoDB("projects",$projects_fields, $data);

$result = mysql_query($query);

if (!$result) {

die('Неверный запрос: ' . mysql_error());

}

}

if(isset($_POST['save_bugs'])){

$data=array($_POST['proj_id'],$_POST['pos_bugs'],$_POST['func_bugs'],$_POST['date'], $_POST['importance'], $_POST['admin_id']);

$data[3]=explode(".", $data[3]);

$d=$data[3][0];//сохраняем день

$data[3][0]=$data[3][1]; //меняем день и месяц

$data[3][1]=$d;

$data[3]=implode("/", $data[3]); //сохраняем в американском формате

$tmp_date = date_create($data[3]); //создаем дату

$data[3] = date_format($tmp_date,'Y.m.d'); //меняем формат

$query = insertIntoDB("bugs",$bugs_fields, $data);

$result = mysql_query($query);

if (!$result) {

die('Неверный запрос: ' . mysql_error());

}

}

//вывод изменений которые внес администратор

if(isset($_POST['admin_work'])){

$admin=mysql_real_escape_string($_POST['admin']);

$query = "SELECT projects.name, bugs.pos_bugs, bugs.func_bugs, bugs.date, bugs.importance FROM `bugs` JOIN projects ON bugs.project_id=projects.id WHERE bugs.admin_id='".$admin."' ORDER BY bugs.date";

$result=mysql_query($query);

if (!$result) {

die('Неверный запрос: ' . mysql_error());

}

echo "<table class='table table-bordered'><tr><td>Название</td><td>Баги верстки</td><td>Баги функций</td><td>Дата</td><td>Важность</td></tr>";

$counter=0;

while ($row = mysql_fetch_assoc($result)) {

$counter++;

echo "<tr>";

foreach ($row as $key => $value) {

echo "<td>".$value."</td>";

}

echo "</tr>";

}

echo "</table>";

if($counter==0){

echo "Нет данных";

}

else{

$counter=0;

}

}

if(isset($_POST['proj_info'])){

$project=mysql_real_escape_string($_POST['project']);

$query = "SELECT projects.name, projects.description, projects.date AS pdate, projects.activity, bugs.pos_bugs, bugs.func_bugs, bugs.date AS bdate, bugs.importance, bugs.admin_id FROM `bugs` JOIN projects ON bugs.project_id=projects.id WHERE projects.id='".$project."' AND bugs.importance='1'";

$result=mysql_query($query);

if (!$result) {

die('Неверный запрос: ' . mysql_error());

}

echo "<table class='table table-bordered'><tr><td>Название</td><td>Описание проекта</td><td>Дата проекта</td><td>Ативность проекта</td><td>Баги верстки</td><td>Баги функций</td><td>Дата Бага</td><td>Важность</td><td>Админ</td></tr>";

$counter=0;

while ($row = mysql_fetch_assoc($result)) {

$counter++;

echo "<tr>";

foreach ($row as $key => $value) {

if(strpos($key, "date")!=false){

$tmp_date = new DateTime($value);

//echo $tmp_date->format('d m Y');

echo "<td>".$tmp_date->format('d.m.y')."</td>";

}

else{

echo "<td>".$value."</td>";

}

}

echo "</tr>";

}

echo "</table>";

if($counter==0){

echo "Нет данных";

}

else{

$counter=0;

}

}

//Вывод информации по проектам

$query="SELECT name, description, date, activity FROM projects"; //запрос

$result=mysql_query($query);//выполняем запрос к базе

if (!$result) { //ловим ошибки

die('Неверный запрос: ' . mysql_error());

}

//вывод таблицей

$counter=0;

echo "<table class='table table-bordered'><tr><td>Название</td><td>Описание</td><td>Дата</td><td>Активность</td></tr>";

while ($row = mysql_fetch_assoc($result)) {

$counter++;

echo "<tr>";

foreach ($row as $key => $value) {

if($key=="date"){

$tmp_date = new DateTime($value);

//echo $tmp_date->format('d m Y');

echo "<td>".$tmp_date->format('d.m.y')."</td>";

}

else{

echo "<td>".$value."</td>";

}

}

echo "</tr>";

}

echo "</table>";

if($counter==0){

echo "Нет данных";

}

else{

$counter=0;

}

?>

<script src="js/jquery.js"></script>

<script src="js/bootstrap.min.js"></script>

<script src="js/bootstrap.js"></script>

<script src="js/bootstrap-transition.js"></script>

<script src="js/bootstrap-alert.js"></script>

<script src="js/bootstrap-modal.js"></script>

<script src="js/bootstrap-dropdown.js"></script>

<script src="js/bootstrap-scrollspy.js"></script>

<script src="js/bootstrap-tab.js"></script>

<script src="js/bootstrap-tooltip.js"></script>

<script src="js/bootstrap-popover.js"></script>

<script src="js/bootstrap-button.js"></script>

<script src="js/bootstrap-collapse.js"></script>

<script src="js/bootstrap-carousel.js"></script>

<script src="js/bootstrap-typeahead.js"></script>

Листинг 2. Файл testingIS.php

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [2,1 M], добавлен 20.12.2015

  • Разработка и практическое внедрение мультимедийного обучающего курса по дисциплине "НЭК АСОИУ". Анализ свойств модифицированной LMS MOODLE и ее возможности по оказанию поддержки и структурированию контента. Эффективность подхода к формированию курса.

    дипломная работа [3,2 M], добавлен 21.05.2009

  • Анализ сайтов для обучения иностранным языкам в сети Интернет и методик их изучения. Разработка сайта Foreign Dimension для обучения английскому языку. Структура сайта, разработка упражнений, базы данных, интерфейса. Тестирование основных элементов сайта.

    дипломная работа [966,9 K], добавлен 19.01.2017

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

    дипломная работа [3,4 M], добавлен 12.08.2017

  • Обучение через Интернет. Обзор систем дистанционного обучения. Система дистанционного обучения Learning Space 5.0. Создание базы данных. Запуск установочного файла для создания файла config.php. Структура каталога CMS Moodle. Создание нового курса.

    курсовая работа [1,3 M], добавлен 27.04.2009

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

    дипломная работа [2,0 M], добавлен 12.12.2011

  • Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.

    дипломная работа [4,7 M], добавлен 19.01.2017

  • Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.

    дипломная работа [1,5 M], добавлен 09.11.2016

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

    курсовая работа [4,1 M], добавлен 27.11.2014

  • Выявление целей создания сайта и постановка проблемы, решаемой с его созданием. Анализ сайтов–аналогов, обоснование типа разрабатываемого web–узла. Специфика разработки набора макетов страниц. Оптимизация контента сайта, его верстка и тестирование.

    курсовая работа [1,4 M], добавлен 12.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.