Разработка системы хранения данных о проектах с курсом обучения
Рисунок 4.2. Добавление информации о проектах Рисунок 4.3. Добавление информации о багах Вывод информации о правках администратора Для вывода данных о правках из базы требуется знать id администратора (рисунок 4.4). Далее поступает запрос в базу и в виде таблицы генерируется ответ. Ответ генерируется соединением двух таблиц при помощи join. Выводит поэтапно в зависимости от времени добавления… Читать ещё >
Разработка системы хранения данных о проектах с курсом обучения (реферат, курсовая, диплом, контрольная)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Московский Государственный Университет Печати имени Ивана Фёдорова Кафедра Информационных Систем Курсовой проект Дисциплина: Системы управления медиаданными Тема: «Разработка системы хранения данных о проектах с курсом обучения»
Выполнила студентка группы ДЦиС 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
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»);
?>