Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Рисунок 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»);

?>

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

?>

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

Заполнить форму текущей работой