Программа Анкетирование на PHP с возможностью создания и редактирования анкет
Автор работы: Пользователь скрыл имя, 26 Июня 2013 в 13:46, дипломная работа
Краткое описание
Таким образом, необходимо автоматизировать процесс создания различных анкет и опросов для проведения анкетирования среди учащихся, студентов, преподавателей и сбора информации для анализа.
Для достижения поставленной цели дипломного проекта необходимо решить следующие задачи:
-анализ решаемой задачи;
-выбор языка программирования, наиболее полно отвечающего требованиям поставленной задачи;
-разработка интерфейса программы;
-разработка алгоритма функционирования как программы в целом, так и отдельных ее элементов, представляющих собой логически законченные функциональные блоки;
-разработка программы на алгоритмическом языке и ее отладка;
-разработка документации – создание описания принципов работы программы, описание ее составных частей, принципов их взаимодействия, классов.
Вложенные файлы: 1 файл
Пояснительная записка.doc
— 923.00 Кб (Скачать файл)Все вышеперечисленное дает возможность создания эффективного программного средства с удобным интерфейсом, высоким быстродействием и надежностью.
3 Реализация
3.1 Физическая структура Web-приложения
Поставленная задача была решена посредством разбиения программного средства на отдельные веб-страницы и назначения каждой из них определённых функций:
- index.php – главный модуль программного средства, посредством его осуществляется взаимодействие всех остальных модулей между собой и формирование страниц;
- connect.php – модуль отвечающий за подключение и автосоздание базы данных;
- admin.php – модуль административной части сайта;
- users.php – модуль пользовательской части сайта;
- reg.php – модуль регистрации новых пользователей;
- top.php – модуль, содержащий элементы верхней части сайта;
- down.php – модуль, содержащий элементы нижней части сайта;
3.2 Описание таблиц в базе данных
База данных в разрабатываемом программном средстве состоит из четырёх таблиц: list (таблица 3.1),answers (таблица 3.2),questions(таблица 3.3), users(таблица 3.2).
Таблица 3.1 – Информация об опросах
Название поля |
Тип данных |
Описание поля |
Ключ |
List_id |
Int(6) |
Уникальный номер опроса |
Первичный |
Name |
varchar(60) |
Название опроса |
Таблица 3.2 – Информация о вариантах ответов
Название поля |
Тип данных |
Описание поля |
Ключ |
Answer_Id |
Int(6) |
Уникальный номер ответа |
Первичный |
A_text |
varchar(200) |
Текст ответа |
|
Quest_id |
int(6) |
Уникальный номер вопроса |
Таблица 3.3 – Информация о вопросах
Название поля |
Тип данных |
Описание поля |
Ключ |
Quest_id |
Int(6) |
Уникальный номер вопроса |
Первичный |
Q_text |
Varchar(200) |
Название предмета |
|
List_id |
Int(6) |
Уникальный номер опроса |
Таблица 3.4 – Информация о пользователях
Название поля |
Тип данных |
Описание поля |
Ключ |
id |
Int(8) |
Уникальный номер пользователя |
Первичный |
Name |
varchar(16) |
Логин польщователя |
|
Password |
varchar(16) |
Пароль пользователя |
|
Acc_type |
varchar(6) |
Тип аккаунта пользователя |
Среди данных таблиц имеются родительская таблица (questions) и дочерняя (answers). Связь между таблицами осуществлена по полю quest_id, ее тип – один ко многим (одной записи в таблице questions может соответствовать одна или более записей в таблице answers). Аналогичная связь между таблицами list и questions по полю list_id, тип связи – один ко многим (одной записи в таблице list может соответствовать одна или более записей таблицы questions. Таблица users используется для хранения данных о пользователях.
Каждая таблица имеет индексы, которые используются в следующих случаях:
- ускорение выполнения запросов (индексы создаются для полей, которые используются в условиях поиска SQL-запросов);
- обеспечение уникальности значений в полях (ограничение первичного ключа требует, чтобы во всей таблице не нашлось двух одинаковых значений полей, входящих в первичный ключ. Чтобы выполнить это условие, необходимо при каждой вставке новой записи производить поиск такого же значения, которые будет вставлено);
- обеспечение ссылочной целостности (ограничения внешних ключей используются для проверки того, чтобы вставляемые в таблицу значения обязательно существовали в другой таблице. При создании внешнего ключа автоматически создается индекс, который применяется как для ускорения запросов, использующих соединение таблиц, так и для проверки условий внешнего ключа).
3.3 Описание использованных классов и объектов
Для связи программного средства с MySQL и базой данных были использованы следующие классы:
- mysql_connect - позволяет устанавливать соединения с источниками данных, с которыми нужно взаимодействовать. Перед тем, как производить какие-либо действия (включая извлечение, удаление, вставку или обновление данных), необходимо установить соединение;
- mysql_query- позволяет выполнить SQL-оператор любого типа;
- mysql_fetch_assoc - позволяет читать данные, возвращенные командой SELECT, возвращает ассоциативный массив;
- mysql_fetch_row - позволяет читать данные, возвращенные командой SELECT, возвращает массив.
При конструировании веб-страниц были использованы следующие типы элементов управления:
- <div> – блок, может содержать в себе любой тип информации;
- <input type=’text’> – поле для ввода текстовой информации, позволяет задавать ограничение на количество вводимых символов, возможен многострочный режим;
- <input type=’submit’> – кнопка для подтверждения совершения различных действий (после нажатия на нее необходимая информация отправляется на сервер для последующей обработки);
- <input type=’password’> – элемент для ввода пароля;
- <img> – позволяет отображать на странице изображение, которое хранится на сервере по указанной в данном элементе ссылке;
Также важными объектами при разработке программного средства являются:
- $_Request – массив ,представляет значения и свойства HTTP-запроса, вызвавшие загрузку страницы. Он содержит все параметры URL и другую информацию, отправляемую клиентом.
- $_Server – массив, предоставляет полную информацию о сервере, на котором находится исполняемый файл.
4 Описание программного средства
4.1 Описание интерфейса программно
Разработанное программное средство имеет удобный, простой и понятный пользовательский интерфейс. Он организован таким образом, чтобы пользователь с любым уровнем владения компьютером мог использовать все возможности программы и чувствовать себя комфортно при работе с программным средством.
При загрузке главной страницы пользователь может зарегистрироваться (рисунок 4.2) или ввести логин и пароль в форму авторизации, если он уже зарегистрирован (рисунок 4.1).
Рисунок 4.1 – Авторизация
После авторизации происходит загрузка либо административной части сайта (Рисунок 4.3), либо пользовательской (Рисунок 4.4),в административной части доступно создание, редактирование и удаление анкет, а также просмотр статистики, а в пользовательской доступно только заполнение анкет.
Рисунок 4.2 – Форма регистрации новых пользователей
Рисунок 4.3 – Административная часть
Рисунок 4.4 – Страница «Добавление блока видео»
Рисунок 4.5 – Вывод информации на печать
Рисунок 4.6 – Форма создания новой группы
Рисунок 4.7 – Форма выставления оценок ученикам
4.2 Программно-аппаратные требования к персональному компьютеру
Для нормальной работы разработанного программного средства персональный компьютер клиента должен соответствовать следующим минимальным требованиям:
- процессор с частотой 700 МГц;
- 256 Мб оперативной памяти;
- видеокарта на 16 МБ;
- монитор с разрешением 1024x768;
- наличие манипулятора мышь;
- стандартная клавиатура;
- сетевая карта;
- операционная система Windows XP или старше;
- браузер должен поддерживать JavaScript, рекомендуется разрешать браузеру загружать изображения.
Оптимальные требования, которым должен соответствовать персональный компьютер клиента для успешной работы программного средства:
- процессор с частотой 1,0 ГГц и более;
- 512 Мб оперативной памяти;
- видеокарта на 64 Мб;
- монитор с разрешением 1280x1024 (1280x800) и более;
- наличие манипулятора мышь;
- стандартная клавиатура;
- сетевая карта;
- операционная система: Windows XP или старше;
- браузер должен поддерживать JavaScript, рекомендуется разрешать браузеру загружать изображения.
Для персонального компьютера, который будет использоваться в качестве сервера, рекомендуются следующие характеристики:
- процессор с частотой 2,0 ГГц и более;
- 1 Гб оперативной памяти;
- видеокарта на 64 Мб;
- монитор с разрешением 1280x1024 (1280x800) и более;
- наличие манипулятора мышь;
- стандартная клавиатура;
- сетевая карта;
- операционная система: Windows XP или старше;
- Apache 2.2;
- PHP 5.2.6.
Соблюдение указанных выше требований приведет к оптимальной и полноценной работе программного средства, не доставляя пользователям проблем.
5 Тестирование
5.1 Выявление ошибок
Выявление ошибок иначе называют тестированием. Говоря о тестировании, мы говорим о проверке не только в статическом режиме, когда были обнаружены некоторые ошибки кода (явно очевидные), но и, что более важно, о динамической проверке, которая заключается не только в контроле адекватности производимых действий системы согласно заявке пользователя, но и в том, чтобы не было элементов управления либо дублирующих друг друга, либо не влекущих за собой той реакции, которую ожидает пользователь, а также проверка всех недопустимых ситуаций.
Более всего внимания было уделено адекватности выходного потока ответов системы на входной поток заявок системы. Естественно, что ошибки сначала были локализованы, устранены и протестированы заново, пока работа программного средства не стала удовлетворительной.
5.2 Типы ошибок
Разработка любого программного средства предполагает наличие в исходном коде ошибок и борьбу с ними. Все практически неисчислимое множество возможных ошибок обычно подразделяют на три группы:
- синтаксические ошибки;
- ошибки времени выполнения программного средства;
- смысловые (логические) ошибки.
Синтаксические ошибки – это самые простые ошибки, которые легко устраняются уже на этапе компиляции. Причина их одна - неправильная запись служебных слов, операторов. Если в исходном коде программного средства найдена ошибка, то компиляция прекращается и в строку статуса выводится сообщение, содержащее номер ошибки и ее краткое описание. При этом курсор помещается в то место, где возникла ошибка. Обычно устранение синтаксических ошибок не вызывает особых трудностей.