Сопровождение учебного процесса ПК БГТУ

Разработка web-интерфейса, предоставляющего всем студентам массив достоверной информации о расписания занятий в ПК БГТУ. Возможность подписки на обновления в расписании посредством электронной почты. Основные требования к разрабатываемому web-сервису.

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

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

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

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

Содержание

  • Введение
  • 1. Аналитическая часть
  • 1.1 Описание предметной области
  • 1.2 Обзор программ-аналогов
  • 1.3 Моделирование проектируемой системы
  • 1.4 Разработка технического задания
  • 2. Конструкторская часть
  • 2.1 Разработка архитектуры программной системы
  • 2.2 Разработка структуры данных
  • 2.3 Конструирование пользовательского интерфейса
  • 2.4 Обработка событий и ошибок ввода данных
  • 2.5 Разработка программного алгоритма
  • 2.6 Организация интерфейса хранения данных
  • 3. Экспериментальная часть
  • 3.1 Тестирование системы
  • 3.2 Руководство программиста
  • 3.3 Руководство оператора
  • 4. Экономический раздел
  • 4.1 Организационная часть
  • 4.1.1 Органиация работ по обеспечению программными продуктами в ПК БГТУ
  • 4.1.1.1 Использование программных технологий в производственном процессе Политехнического колледжа Брянского Государственного Технического Университета
  • 4.1.1.2 Функции и задачи работников ПКТУ, использующих программные технологии
  • 4.2 Экономическая часть
  • 4.2.1 Организация плановых работ по созданию программного продукта
  • 4.2.1.1 Определение плановой трудоемкости выполнения работ по созданию программного продукта.
  • 4.2.2 Форма и система оплаты труда программистов
  • 4.2.2.1 Определение заработной платы исполнителей
  • 4.2.3 Составление сметы затрат на разработку программного продукта
  • 4.2.4 Определение предполагаемого экономического эффектаот применения программного продукта
  • 5. Охрана труда
  • 5.1 Мероприятия по технике безопасности при работе вычислительного центра
  • 5.1.1 Требования к помещению ОА
  • 5.1.2 Требования к организации и оборудованию рабочих мест ОА
  • 5.1.3 Требования к освещению помещений и рабочих мест ОА
  • 5.1.4 Эмоциональные нагрузки работников ОА
  • 5.1.5 Режим труда и отдыха в ОА
  • 5.1.6. Противопожарная безопасность отдела автоматизации
  • Заключение
  • Список используемой литературы

Введение

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

К сожалению, ввиду самых разнообразных причин, студенты ПК БГТУ зачастую не осведомлены об изменениях в своем расписании, ведь ежедневно в расписание вносятся некоторые поправки, касающиеся тех или иных учебных дисциплин.

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

В рамках дипломной работы был разработан специальный web-интерфейс, предоставляющий всем студентам массив достоверной информации о расписания занятий в ПК БГТУ. Одной из ключевых особенностей разработанного web-интерфейса стала возможность подписки на обновления в расписании посредством электронной почты. Разработанный web-сервис решает такие задачи, как:

- Предоставление студентам ПК БГТУ достоверного расписания занятий.

- Предоставление информации о заменах в расписании, а так же оповещение о заменах по электронной почте.

- Упрощает обязанности работников учебной части и сокращает время, затрачиваемое на создание списка замен.

Основные требования к разрабатываемому web-сервису:

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

- Интуитивно понятный интерфейс.

учебный процесс сервис интерфейс

- Возможность организации доступа к достоверному расписанию на завтрашний день по средствам web-интерфейса.

- Возможность подписки на обновления расписания по e-mail.

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

При разработке web-сервиса были использованы следующие средства:

- HTML - стандартный язык разметки web-документов.

- CSS - каскадные таблицы стилей, при помощи которых был разработан web-дизайн данного web-сервиса.

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

- JavaScript - прототипно-ориентированный скриптовый язык программирования. Служит для придания интерактивности web-сервису.

- СУБД MySQL - в данном web-сервисе служит для хранения информации.

Пояснительная записка содержит аналитическую часть, конструкторскую часть, экспериментальную и экономическую часть, а так же мероприятия по охране труда.

Аналитическая часть содержит описание предметной области, а именно, рассматриваются особенности работы учебной части, возможности автоматизации рабочего процесса, используемые технологии. Рассмотрен список аналогичных программных продуктов и программ со сходной технологией разработки, их возможности, достоинства и недостатки. Представлена сводная таблица программ аналогов совместно с web-сервисом, разработанной в рамках данного дипломного проекта, построена ERD диаграмма, отображающая связь модулей программы, и техническое задание с кратким описанием особенностей web-сервиса.

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

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

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

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

1. Аналитическая часть

1.1 Описание предметной области

Предметной областью для разработанного в данном дипломном проекте веб-сервиса является учебный процесс в ПК БГТУ.

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

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

Посещение всех видов занятий в колледже является обязательным. Причины всех пропусков занятий должны быть документально подтверждены (медицинские справки, повестки, заявления на отпуск с занятий, подписанные зав. отделением и т.д.). Пропуски занятий без уважительных причин (прогулы) являются нарушением учебной дисциплины; студентам за систематические прогулы объявляется административное взыскание: замечание; выговор; строгий выговор; отчисление из колледжа (за пропуски свыше 30 % занятий без уважительных причин за семестр).

В настоящее время студенты ПК БГТУ оповещаются о заменах по средствам объявления, которое вывешивается в холлах учебных корпусов. Далеко не каждый студент, покидая учебное заведение, просматривает наличие замен на следующий день для своей группы, вследствие чего студент не может быть полностью уверен в завтрашнем расписании занятий.

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

Упростить процесс информирования студентов о заменах в расписании могут помочь современные технологии.

Данный сервис построен с применением следующих технологий: скриптовый язык программирования PHP для разработки серверной части веб-сервиса; связка HTML+CSS+JavaScript для разработки веб-интерфейса пользователя (клиентская часть); СУБД MySQL для хранения расписания и другой информации, которой способен оперировать сервис.

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

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы - это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Обычно на сервер устанавливается Unix-подобная операционная система, например FreeBSD. FreeBSD хорошо зарекомендовала себя как система для построения интернет-серверов. Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью.

Для работы PHP скриптов необходим установленный на веб-сервере HTTP-сервер, например Apache.

Apache является кросс-платформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т.д. Поддерживает IPv6, что весьма актуально, в сложившейся сегодня ситуацией с ограниченным количеством IPv4 адресов [6].

1.2 Обзор программ-аналогов

Поиски работающих веб-сервисов в сети Internet по работе с расписаниями в ВУЗах и колледжах дал довольно скудные результаты: был найден лишь один работающий сервис stud-net.ru, рассмотрим его подробнее.

Вот некоторые из них:

Веб-сервис расписания занятий в ВУЗах и колледжах stud-net.ru

stud-net.ru позволяет хранить расписание занятий всех ВУЗов и колледжей страны. Пользователь может добавить ВУЗ и группу, в которой он проходит обучение, в систему. Редактирование расписания допустимо всеми участниками группы, что может вызвать некоторые проблемы с достоверностью предоставляемого расписания.

Рисунок 1.2.1 - Программа аналог - student.ru.

Сервис имеет мобильную версию сайта и возможность оповещения о заменах в расписании по E-Mail. Недостатками сервиса является отсутствие интерактивности интерфейса и его удобство использования. Личные данные пользователей сохранены не надежно и могут быть доступны третьим лицам.

Веб-сервис управления задачами www.rememberthemilk.com

Рисунок 1.2.2 - Программа со сходной технологией разработки - www.rememberthemilk.com.

Сервис www.rememberthemilk.com служит для управления задачами. Пользователь может создать список задач на день или на неделю и контролировать процесс их выполнения. Сервис имеет схожую технологию разработки с разрабатываемым сервисом для дипломного проекта.

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

Сервис социально адаптирован - позволяет управлять задачами через систему микроблогов twitter.com и электронную почту на gmail.com, систему www.google.com/calendar, а так же через e-mail клиент для Windows Outlook.

Так же имеются приложения для работы с сервисом с большинства современных мобильных платформ: Android, iOS, BlackBerry.

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

Онлайн-органайзер www.orgit.ru

Рисунок 1.2.3 - Программа со сходной технологией разработки - www.orgit.ru.

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

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

Онлайн-органайзер имеет следующие преимущества перед программой-органайзером:

- Возможность получать напоминания по E-mail, ICQ, SMS.

- Заметки и файлы будут доступны вам из любой точки мира.

- Важная информация не будет утеряна из-за вирусов или поломок.

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

Сервис бюджетного планирования savecash. Me

Рисунок 1.2.4 - Программа со сходной технологией разработки - savecash. me.

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

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

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

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

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

Таблица 1.2.1 - Характеристики программ-аналогов

Название программы

Характеристики программных продуктов

Интерактивность

Интеграция с соц. сетями

Мобильная версия сервиса

Безопасность хранения личных данных

Удобство пользования

1

stud-net.ru

-

+

+

-

-

2

www.rememberthemilk.com

+

+

+

+

-

3

www.orgit.ru

-

-

-

+

+

4

savecash. me

+

-

-

+

+

5

сервис, разработанный в данном проекте

+

-

+

+

+

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

1.3 Моделирование проектируемой системы

В соответствии с требованиями, предъявляемыми к разрабатываемому программному продукту, была построена следующая модель проектируемой системы:

Рисунок 1.3.1 - Функциональная модель предметной области.

Ключевым элементом построенной модели является модуль функций, к которому обращаются остальные рабочие модули системы.

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

Модуль регистрации нового пользователя обрабатывает введенные данные и принимает решение о регистрации пользователя.

Модуль административной части доступен лишь суперпользователю системы, имя которого указывается в модуле настроек системы.

Модуль формирования расписания формирует расписание для выбранной группы и возвращает результат пользователю.

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

Модуль мобильного клиента получает запрос от пользователя с мобильным устройством и возвращает ему упрощенный ответ (адаптированный под мобильные телефоны).

Модуль настроек содержит информацию, необходимую для соединения с БД, а так же определяет администратора системы.

1.4 Разработка технического задания

1) Основания для разработки

Дипломный проект разрабатывается на основании приказа по БГТУ

№ от г.

Темой дипломного проектирования является: "Сопровождение учебного процесса ПК БГТУ".

2) Назначение разработки

Программное обеспечение, разрабатываемое в рамках дипломного проекта, предназначено для обеспечения удобства и ускорения оповещения студентов о заменах в расписании.

Система должна выполнять следующие функции:

Требования к функциональным характеристикам

- Вывод расписания для выбранной группы.

- Отображение замен на следующий учебный день на сайте

- Добавление, редактирование и изменение новостей

- Фильтрация новостей по дате при просмотре

- Добавление списка замен

- Рассылка замен на Email зарегистрированных пользователей

- Печать расписания и замен

- Регистрация студентов в системе

Входными данными являются данные о расписании, данные о заменах в расписании.

3) Требования к программному изделию

3.1) Требования к надежности

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

- Исключить вероятность сбоев на стороне сервера и на стороне клиента.

- Запретить ввод некорректных данных в программу.

- Выдерживать значительное число одновременных обращений на протяжении длительного времени.

3.2) Условия эксплуатации.

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

3.3) Требования к составу и параметрам технических средств.

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

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

Веб-сервис разработан на языке программирования PHP, который используют в связке с языком гипертекстовой разметки HTML и каскадных таблиц стилей CSS. Для работы сервиса необходим веб-сервер (виртуальный или физический), предпочтительна операционная система семейства Unix.

4) Требования к программной документации

Минимальный пакет документации: руководство программиста и руководство пользователя.

5) Технико-экономический показатель.

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

Ориентировочная экономическая эффективность использования программного продукта за год составит около 10092 рубля.

6) Этапы разработки:

- Сбор информации и анализ литературных источников.

- Разработка метода решения задачи и составления алгоритма решения (проектирование).

- Разработка и отладка программы (реализация).

- Анализ результатов (тестирование).

2. Конструкторская часть

2.1 Разработка архитектуры программной системы

Архитектура программной системы представлена на рисунке 2.1.1

Рисунок 2.1.1 - Архитектура программной системы.

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

function. php - главный модуль функций системы. Содержит функции, обеспечивающие работу всех остальных модулей.

auth. php - модуль идентификации пользователя в системе. Для всех неавторизованных посетителей в верхней части окна на всех страницах сайта отображается 2 поля для ввода логина и пароля. При вводе логина и пароля файл auth. php отправляет их в functions. php, где они обрабатываются функцией Login (); в которой происходит идентификация пользователя и запись в массив сессии необходимой информации. После авторизации на месте полей для авторизации выводится приветствие и ссылка для выхода из системы. При нажатии на ссылку выполняется функция Logout (); которая очищает переменные сессии и разрушает сессию.

reg. php - модуль регистрации пользователя в системе. Проверенные на соответствие данные, веденные пользователем, отправляются на сервер, где обрабатываются и заносятся в базу данных. После регистрации пользователь может войти в систему под своим логином.

admin. php - модуль административной панели. Обеспечивает добавление, редактирование и удаление новостей, создание списка замен и запуска рассылки. Доступ к странице admin. php имеет только супер пользователь который задается в файле настроек сервиса.

news. php - модуль новостей. Выводит новости на странице новостей. Страница доступна для всех пользователей.

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

include/head. php - модуль горизонтального меню. Подключается ко всем модулям, кроме auth. php и config. php. В зависимости от того, авторизован ли пользователь, скрывает ссылку на страницу регистрации. Так же этот модуль отображает ссылку на страницу административной панели только суперпользователю.

config. php - модуль настрое. Служит для задания настроек соединения с базой данных, а так же для указания администратора системы.

2.2 Разработка структуры данных

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

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

MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных. [9]

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

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License). [10]

Рисунок 2.2.1 - Структура данных

Таблица для хранения расписания raspisanie

Таблица состоит из следующих полей

Таблица 2.2.1 - Описание полей таблицы raspisanie

Имя поля

Хранимая информация

id

Хранит идентификатор группы

pn

Хранит расписания для групп на понедельник

vt

Хранит расписания для групп на вторник

sr

Хранит расписания для групп на среду

cht

Хранит расписания для групп на четверг

pt

Хранит расписания для групп на пятницу

sb

Хранит расписания для групп на субботу

Рисунок 2.2.2 - Структура таблицы raspisanie

В каждой ячейке таблицы хранится информация об одном учебном дне (количество пар, их порядок, проводимые предметы, номера аудиторий и фамилии преподавателей).

Информация в ячейках таблицы raspisanie зашифрована следующим образом:

[предм1>преп1>н. аудит1] | [предм2>преп2>н. аудит2] | [предм2>преп2>н. аудит2]

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

Расшифровка данных из ячеек производится с помощью функций getLessonsWeek ($group) и getLessonsTomottow ($group), которые на основе зашифрованной в таблице информации формируют результирующую таблицу на неделю и на следующий учебный день соответственно. Аргументом для функций служит идентификатор группы.

Таблица для хранения информации о зарегистрированных пользователях users

Рисунок 2.2.3 - Структура таблицы users

Таблица состоит из следующих полей:

Таблица 2.2.2 - Описание полей таблицы users

Название поля

Хранимая информация

id

Хранит идентификатор пользователя. Первичный ключ, автоинкремент.

login

Хранит логин пользователя для входа в систему

pswd

Хранит md5-хэш пароля пользователя

FIO

Содержит Фамилию и имя зарегистрировавшегося студента

email

Хранит адрес электронной почты пользователя

showcontant

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

icq

Хранит UIN пользователя

st_group

Идентификатор учебной группы, в которой состоит студент

Из за того, что многие пользователя используют один и тот же пароль при авторизации во многих системах, целесообразным в плане безопасности стало решение хранения паролей пользователей в виде хэша md5. MD5 предназначен для создания "отпечатков" или "дайджестов" сообщений произвольной длины и последующей проверки их подлинности.

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

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

Таблица для хранения информации о группах groups

Рисунок 2.2.4 - Структура таблицы groups

Таблица состоит из следующих полей:

Таблица 2.2.3 - Описание полей таблицы users

Название поля

Хранимая информация

id

Идентификатор группы. Так же хранится и в других таблица. По идентификатору происходит выборка имени группы.

group_name

Имя группы

Таблица для хранения новостей news

Рисунок 2.2.5 - Структура таблицы news

Таблица 2.2.4 - Описание полей таблицы users

Название поля

Хранимая информация

id

Идентификатор новости. Служит для идентификации новости для ее редактирования или удаления из базы данных.

title

Заголовок новости

news_text

Текст новости

date

Дата добавления новости

Таблица для хранения списка замен replacement

Рисунок 2.2.6 - Структура таблицы replacement

Таблица 2.2.5 - Описание полей таблицы users

Название поля

Хранимая информация

id

Идентификатор замены. первичный ключ. Автоинкремент.

group_id

Идентификатор группы. определяет для какой группы установлена замена.

n_pari

Номер заменяемой пары.

predmet

Заменяемый предмет

z_predmet

Предмет замены

2.3 Конструирование пользовательского интерфейса

При конструировании пользовательского интерфейса необходимо учитывать следующие факторы:

1) Наглядность, простота и удобство в использовании;

2) Соответствие внешнего вида кнопок, списков, полей ввода текста, таблиц своему функциональному содержанию;

3) Применение стандартных шрифтов, цвета и указателей мыши.

4) Полнота и краткость отображаемой информации.

При разработке пользовательского интерфейса использовались язык разметки гипертекста HTML 4.1 и каскадные таблицы стилей CSS 2.

HTML служит для отображения страниц во всемирной паутине. Браузер пользователя интерпретирует написанный HTML код и отображает его в удобочитаемом для пользователя виде.

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. [1] Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). [2] Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля. [3]

Для конструирования форм и других элементов интерфейса пользователя использовались следующие HTML теги: table, form, input, div и несколько других.

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

Рисунок 2.3.1 - Навигационное меню для неавторизованного пользователя

После авторизации меню применяет вид, показанный на рисунке 2.3.2

Рисунок 2.3.2 - Навигационное меню для авторизованного пользователя

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

Рисунок 2.3.3 - Навигационное меню для авторизованного пользователя

Для входа в систему представлена форма с 2 полями input со значением атрибута type=”text”, и кнопкой, созданной с помощью тега input с атрибутом type=”submit”

Рисунок 2.3.4 - Форма для авторизации пользователя

После авторизации вместо формы пользователь увидит текст приветствия.

Рисунок 2.3.5 - Приветствие авторизованного пользователя

Все новости доступны для просмотра на странице news. php, которая имеет следующий вид.

Рисунок 2.3.6 - Вид вывода новостей

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

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

Рисунок 2.3.7 - Форма регистрации нового студента

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

Рисунок 2.3.8 - Выбор группы для просмотра расписания

После выбора группы пользователь увидит таблицу с расписанием.

Рисунок 2.3.9 - Расписание для выбранной группы

По клике на ссылку Замены, пользователь увидит таблицу с заменами на следующий учебный день.

Рисунок 2.3.10 - Список замен

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

Рисунок 2.3.11 - Панель администратора

Кликнув на ссылку Добавить новость администратор попадет на страницу добавления новости, на которой 2 основных компонента: input для ввода заголовка и textarea для текста новости и кнопки добавления новости.

Рисунок 2.3.12 - Панель администратора

При удалении новости пользователь получает предупреждение. Новость будет удалена только в случае подтверждения пользователем.

Рисунок 2.3.13 - Подтверждение удаления новости

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

Рисунок 2.3.14 - Формирование списка замен

При нажатии на кнопку "+" добавляется пустая строка для редактирования. При нажатии на кнопку "-" удаляется лишняя строка.

2.4 Обработка событий и ошибок ввода данных

В программе немного случаем, когда от пользователя требуется ввод какой-либо информации.

Проверка вводимых данных осуществляется на странице регистрации. В базу должны попасть только корректные данные, соответствие которых проверяется с помощью регулярных выражений. Для проверки логина и пароля используется следующее регулярное выражение / [a-z0-9] +/i;, которое означает, что логин и пароль могут содержать в себе только буквы латинского алфавита и цифры.

Проверка электронного адреса на соответствие шаблону осуществляется с помощью регулярного выражения

/ [0-9a-z_] +@ [0-9a-z_^.] +. [a-z] {2,3}/i;

Затем поля Логин, Пароль и Email проверяются на соответствие с помощью JavaScript метода test.

Приведенный ниже участок кода проверяет введенный логин на соответствие регулярному выражению.

if (! reg_name. test (login)) {

error_msg += "Логин\n";

return_value = false;

}

Далее идет проверка пароля

if (! reg_name. test (pswd)) {

error_msg += "Пароль\n";

return_value = false;

}

После чего подобным образом проверяется электронный адрес

if (! reg_mail. exec (email)) {

error_msg += "E-mail\n";

return_value = false;

}

Переменная return_value булевого типа принимает значение false в случае некорректного заполнения какого-либо из полей.

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

Затем проверяется были ли допущены ошибка при заполнении:

if (! return_value) {

alert (error_msg);

}

Если ошибки допущены, то выводится сообщение функцией alert (error_msg);

Рисунок 2.4.1 - Сообщение об ошибочном заполнении полей

При добавлении новости из административной панели производится проверка наполненности полей. Новость с пустыми полями добавлены не будет. Такой контроль производится на сервере.

if ($new_title == "" || $new_body == "") echo "<center>Вы заполнили не все поля</center>";

В случае не заполнения какого-либо из полей пользователь получает сообщение.

Рисунок 2.4.2 - Сообщение о незаполненных полях при добавлении новости

2.5 Разработка программного алгоритма

Так как веб-сервис работает с расписание в ПК БГТУ, необходимо занести в базу данных расписание. Расписание добавляется для каждой группы в таблицу raspisanie посредствам SQL запросов.

Прежде чем работать с данными из базы данных, необходимо произвести соединение с БД. Это осуществляется функцией DBConnect ().

function DBConnect () {

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

mysql_connect (hostname, username, password) or die ("Ошибка соединения с базой данных");

Затем происходит выборка БД, с которой будет работать система

mysql_select_db (dbName) or die (mysql_error ());

return 0;

}

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

Расписание занятий выводится с помощью функций getLessonsWeek ($group) или getLessonsTomottow ($group) которые возвращают таблицу с расписанием на неделю или на завтрашний день соответственно.

Так как в каждой ячейки таблицы raspisanie хранится информация срзу о предметах, преподавателях и аудиториях, необходимо производить разбор этой информации и формировать ее в HTML таболицу.

$stand_less = explode ("|", $response [$k]);

Здесь происходит разбивка на предметы, которые заносятся в нумерованный массив $stand_less, после чего элементы этого массива в цикле разбиваются функцией explode на "Предмет", "Преподавателя" и "№ аудитории"

Ниже приведена циклическая конструкция, которая преобразует строку в массив.

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

$les = explode (">", $stand_less [$i]);

$res. = "<td><b>$les [0] </b><br>$les [1] <br>$les [2] </td>\n";

}

Сформированная таблица возвращается оператором

return $res;

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

TRUNCATE TABLE replacement, который выполняется в функции добавления замен AddReplacement ().

В функции AddReplacement () так же вызывается функция Mailing (), которая производит рассылку о заменах.

Mailing () производит выборку электронных адресов пользователей, которые согласились на рассылку при регистрации. Эти адреса заносятся в переменную $to, которая отвечает за адресатов рассылки.

В переменной $subject указан заголовок письма "Замены в рассписании ПК БГТУ"

В переменную $message заносится результат работы функции Replacement (), которая возвращает таблицу с заменами на следующий учебный день.

После подготовки производится выполнение встроенной в PHP функции mail ($to, $subject, $message, $headers). $headers содержит дополнительные заголовки, например HTTP заголовки и адрес отправителя, кодировку сообщения.

2.6 Организация интерфейса хранения данных

Любая программа, преобразующая информацию, должна уметь также и сохранять ее. Веб-сервис сохраняет информацию в БД при следующих операциях:

1) Добавление новости

2) Добавление замены

3) Регистрация пользователя

Сохранение информации в БД производится по средствам выполнения SQL запросов. Для добавления записей в таблицы служит запрос SELECT.

Добавление производится следующих функциях:

Функция добавления новости function AddNew () {

Прежде всего пришедшие в скрипт POST-параметры переносятся из суперглобального массива $_POST в локальные переменные

$new_title = $_POST ['new_title'];

$new_body = $_POST ['new_body'];

$new_date = date ("Y. m. d");

Затем производится проверка на наличие информации в этих переменных, если пришли пустые параметры, выдается сообщение

if ($new_title == "" || $new_body == "") echo "<center>Вы заполнили не все поля</center>"; else {

В противном случае отправляется SQL запрос

if (mysql_query ("INSERT INTO news (id, title, news_text, date) VALUES ('', '$new_title', '$new_body', '$new_date')"))

echo "<center>Новость успешно добавлена. </center>";

else

echo "<center>Новость не доабвлена, свяжитесь с администратором. </center>";

}

}

Функция добавление замен администратором

function AddReplacement () {

Перед добавлением замен очищаем таблицу с устаревшими заменами

mysql_query ("TRUNCATE TABLE replacement");

Затем записываем в локальные переменные пришедшую из формы информаци

$groups = $_POST ['group'];

$n_pari = $_POST ['n_pari'];

$predmet = $_POST ['predmet'];

$z_predmet = $_POST ['z_predmet'];

После чего формируем запрос

$q = "INSERT INTO replacement (id, group_id, n_pari, predmet, z_predmet) VALUES ";

В цикле перебираем значения массива и подставляем их в SQL запрос

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

$q. = " ('',". $groups [$key].",". $n_pari [$key].", '". $predmet [$key]. "', '". $z_predmet [$key]. "'), ";

}

$q. = "#";

$q = str_replace (", #", "", $q);

if (mysql_query ($q)) echo "<center>Замены успешно добавлены</center>"; else echo "<center>Замены не были добавлены</center>";

Mailing ();

}

А также на странице reg. php производится добавление новых пользователей в базу данных.

$login = $_POST ['login'];

$pswd = md5 ($_POST ['pswd']);

$fio = $_POST ['FIO'];

$group = $_POST ['group'];

$email = $_POST ['email'];

$icq = $_POST ['icq'];

$showcontact = $_POST ['showcontact'];

Если пользователь согласен на рассылку новостей, учитываем это при формировании запроса

if ($showcontact == "on")

$showcontact = 1; else $showcontact = 0;

Затем отправляем запрос

if (mysql_query ("INSERT INTO users (id, login, pswd, FIO, email, showcontant, icq, st_group) VALUES ('', '$login', '$pswd', '$fio', '$email', '$showcontact', '$icq', '$group')")) {

echo "Вы успешно зарегестрированы. Перейти на <a href=\"/\">главную страницу</a>";

}

Определение действий производимых в модулях выполняется комбинирование GET параметров, передаваемых через адресную строку браузера.

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

3. Экспериментальная часть

3.1 Тестирование системы

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

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

Весь процесс тестирования программного продукта был разбит на три этапам:

1) проверка в нормальных условиях;

2) проверка в экстремальных условиях;

3) проверка в исключительных ситуациях;

Тестирование в нормальных условиях

Рисунок 3.1.1 - Вид окна программы при работе в нормальных условиях

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

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

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

Тестирование в экстремальных условиях

Для тестирования поведения веб-сервиса в экстримальных условиях был применен тест производительности системы при нагрузках.

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

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

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

Рисунок 3.1.2 - Результаты нагрузочного теста

Как видно из графика, среднее время загрузки сайта не превысило 5 секунд, описанных в требованиях к временным характеристикам.

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

Тестирование в исключительных ситуациях

Чаще всего исключительные ситуации в работе веб-сервиса возникают в результате неверных или хулиганских действий пользователя.

Сервис корректно реагирует на такие действия и контролирует всю входящую информацию.

При некорректно заполненных полях на странице регистрации веб-сервис выводит сообщение.

Рисунок 3.1.3 - Уведомление при некорректно заполненных полях

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

Рисунок 3.1.4 - Уведомление при не заполненных полях

3.2 Руководство программиста

Назначение и условия применения программы

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

Для работы данной программы необходимы:

- вычислительная система с минимальными характеристиками:

Процессор500 MНz

RAM32 Мб

Пропускная способность10 Мб/сек

канала

- Программное обеспечение:

ОС семейства Unix либо MS Windows линейки Server, Сервер Apache или другой альтернативный, интерпретатор языка PHP, СУБД MySQL.

Характеристики программы

1) время загрузки не превышает 5 секунд (зависит от скорости соединения пользователя)

2) требует наличие выхода в Internet

3) имеет удобный и простой интерфейс

Обращение к программе

Для запуска сервиса необходимо загрузить файлы программного продукта на сервер, создать базу данных и таблицы users, raspisanie, groups, news, replacement (описание полей указано в разделе 2.2 пояснительной записки).

Для обращения к программе пользователем, необходимо в адресной строке браузера прописать имя сайтf на котором установлен сервис.

Входные и выходные данные

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

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

Настройка программы

Настройка веб-сервиса производится путем редактирования файла config. php.

Содержимое файла config. php

Раздел настроек соединения с БД

Имя хоста (localhost)

define ("hostname", "localhost"); Имя хоста (localhost)

Имя базы данных

define ("dbName", "kursovik");

Имя пользователя БД

define ("username", "root");

Пароль пользователя БД

define ("password", "password");

Обозначение администратора системы

define ("superlogin", "evgeny");

3.3 Руководство оператора

Назначение и условия выполнения программы

Веб-сервис по напоминанию замен в расписании предназначен для облегчения процесса информирования студентов о заменах в учебных дисциплинах.

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

Выполнение программы

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

Все что необходимо - зайти на сайт, на котором размещен сервис.

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

Рисунок 3.3.1 - Выбор группы

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

Рисунок 3.3.2 - Процесс регистрации нового студента в системе

Перейдя в раздел Новости пользователь увидит новостную ленту колледжа.

Рисунок 3.3.3 - Лента новостей

В подразделе Замены раздела Расписание пользователю доступен список актуальных замен:

Рисунок 3.3.4 - Список замен

Сообщения оператору

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

При удалении новости из ленты новостей, оператор получит следующее сообщение:

Рисунок 3.3.5 - Подтверждение удаления

После согласия будет произведено удаление новости.

Так как при создании нового списка замен старый список очищается, пользователь получает предупреждение.

Рисунок 3.3.6 - Подтверждение при создании нового списка замен

4. Экономический раздел

4.1 Организационная часть

4.1.1 Органиация работ по обеспечению программными продуктами в ПК БГТУ

Функции по обеспечению программным обеспечением программными продуктами ПК БГТУ выполняет сотрудник программист, который назначается на должность и освобождается от должности приказом проректора ПКТУ.


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

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

    контрольная работа [69,1 K], добавлен 02.02.2013

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

    контрольная работа [20,0 K], добавлен 28.12.2012

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

    презентация [842,6 K], добавлен 03.10.2016

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

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

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

    курсовая работа [704,1 K], добавлен 26.08.2010

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

    дипломная работа [77,6 K], добавлен 23.06.2012

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

    курсовая работа [579,3 K], добавлен 19.10.2011

  • Информационный интернет-ресурс как массив данных, составленный и отсортированный по признаку, роду информации. Понятие электронной почты, телеконференции, файлового архива; основные почтовые серверы в России. Структура и принципы всемирной паутины.

    контрольная работа [48,0 K], добавлен 02.10.2011

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

    контрольная работа [1,2 M], добавлен 23.12.2014

  • Всемирная система рассылки и получения электронной почты. Низкий уровень защищенности электронной почты по сравнению с другими средствами. Рекомендации по ведению электронной корреспонденции. Организация рабочего места, электронная почта, Outlook Express.

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

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