«проектирование сайта для поддержки, организации и проведения научных конференций»

Вид материалаЗадача

Содержание


1. Описание предметной области
1.2. Используемое программное обеспечение
2. Описание данных
Описание выходных данных
3 Описание базы данных
Схема функционирования программного средства
5. Руководство пользователя
Подобный материал:

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


ВЫСШИЙ КОЛЛЕДЖ ИНФОРМАТИКИ


структурное подразделение

НОВОСИБИРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА


КАФЕДРА ИНФОРМАТИКИ


ПРОЕКТИРОВАНИЕ САЙТА ДЛЯ ПОДДЕРЖКИ, ОРГАНИЗАЦИИ И ПРОВЕДЕНИЯ НУЧНЫХ КОНФЕРЕНЦИЙ


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

на квалификацию техник-программист


Научный руководитель

Зав. Сектором археологической теории

и информатики ИАЭТ СО РАН,

д.и.н., академик РАЕН Холюшкин Ю.П.

21 декабря 2006 г.


Студент группы 303а Мархель А. Э.

21 декабря 2006 г.


Новосибирск

2006


СОДЕРЖАНИЕ


ВВЕДЕНИЕ………………………………………………………………………..3
  1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ…………………………………...5
    1. Постановка задачи……………………………………………………...5
    2. Используемое программное обеспечение……………………………..6
  2. ОПИСАНИЕ ДАННЫХ…………………………………………………….....7
    1. Описание входных данных…………………………………………….7
    2. Описание выходных данных…………………………………………...7
  3. ОПИСАНИЕ БАЗЫ ДАННЫХ…………………………………………….....8
  4. СХЕМА ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО СРЕДСТВА…...10
  5. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ………………………………………..11

ЗАКЛЮЧЕНИЕ………………………………………………………………….13

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………………14

ПРИЛОЖЕНИЕ………………………………………………………………….15


ВВЕДЕНИЕ

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

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

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

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

Данная проблема встала и перед институтом Археологии и Этнографии СО РАН, не редко проводящего такие мероприятие. Появилась необходимость в хранении архива прошедших, анонса предстоящих и расписания текущих научных конференций. Так же потребность в записи участников на определенную конференцию с предоставлением ими своих работ (докладов) и многие другие проблемы.

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

Для разработки интерфейса был выбран продукт Denwer, включающий в себя сервер Apache 1.3.33, программу PHP версии 4.4.2, СУБД MySQL 4 и многие другие компоненты. Из которых три только что перечисленных непосредственно принимали участие в разработке.

В качестве языка программирования был выбран язык PHP, а соответственно для этого необходим интерпретатор этого языка, в нашем случае это PHP 4.4.2.

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

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

Для создания и редактирования исходных кодов (файлов с расширением *.php) использовался редактор Macromedia DreamWeaver и стандартная программа Notepad (Блокнот) ОС Windows XP.


1. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1. Постановка задачи

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

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

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

Требуются следующие изменения и дополнения:

- Полное изменение дизайна сайта

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

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

.

- Организовать систему рассылки новостей в виде RSS-потоков.

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


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

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

За настоящий семестр была выполнена следующая работа:
  1. Был создан интерфейс рассылок новостей к базе данных. Благодаря этому, пользователям представилась возможность подписываться на новости института. Интерфейс состоит из пользовательской части, при помощи которой возможна подписка на адрес электронной почты и части администратора. Вторая представила наибольшую сложность в разработке. Администратор может создавать, сохранять, редактировать и запускать (отправлять) различные рассылки.
  2. Был изменен дизайн проекта. Мой проект – это всего лишь подраздел главного сайта института Археологии и Этнографии СО РАН. В недавнее время, дизайн его был изменен. Появился новый логотип, другие цвета, изменилась таблица стилей CSS. От сюда и последовала задача, полностью изменить дизайн раздела «Конференции». Его «внешний вид» было необходимо переоформить под остальные страницы сайта.

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

1.2. Используемое программное обеспечение

Для написания проекта были выбрано следующее ПО:
  • Macromedia Dreamweaver – использовалось для создания и редактирования программного кода. Я выбрал этот редактор, т. к. считаю его более удобным для себя, по сравнению остальными.
  • Denwer v.2 – пакет программ, содержащий в себе следующие компоненты:

+ MySQL 4.1.16 - СУБД для хранения баз данных

+ PHP 4.4.2 – интерпретатор языка программирования

+ Apache 2 – Локальный сервер, хранящий исходники и позволяющий прозматривать результат работы php-скриптов на локальном компьютере.

Выбор в качестве продукта Denwer обуславливается простотой в его установки и использовании.


2. ОПИСАНИЕ ДАННЫХ


2.1. Описание входных данных

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

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

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

Данные вводимые администратором сайта, так же можно назвать входными. Это такие данные как «новая новость», «новая конференция», «новая секция» и «новое событие».

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

    1. Описание выходных данных

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

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

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

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


3 ОПИСАНИЕ БАЗЫ ДАННЫХ


Для реализации системы рассылок, была создана база данных с именем “dispatch”. Рассмотрим структуру её структуру:

База данных рассылок состоит из следующих таблиц:
  • mailing_list
  • ruser
  • sessions
  • subscribes
  • Subscribes_tmp

Связей между данными таблицами нет. В нашем случае в ней нет необходимости.
  • Таблица mailing_list используется для хранения в ней отправленных рассылок.

- subject - тема рассылки.

- message - текст посланный в письмах.
  • Таблица ruser хранит в себе данные об администраторах рассылок.

- first_name - имя администратора.

- last_name - фамилия администратора.

- login – логин администратора, вводимый им при входе в систему.

- pass – пароль администратора, вводимый им при входе в систему.

- email – адрес электронной почты администратора.
  • Таблица subscribes содержит информацию о всех e-mail адресах подписавшихся или пытавшихся подписаться на рассылки.

- email – адрес электронной почты подписавшегося

- is_active – принимает значение 1 или 0, 1 означает, что пользователь активировал свою подписку, введя правильный код активации, 0 – соответственно означает, что подписка не была активирована.
  • Таблица subscribes_tmp создана для хранения адресов, пользователи которых ввели адрес, но не активировали свою подписку.

- email – адрес электронной почты подписчика.

- code – высланный подписчику код активации.

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

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


  1. СХЕМА ФУНКЦИОНИРОВАНИЯ ПРОГРАММНОГО СРЕДСТВА

Рассмотрим схему взаимодействия компонентов моего проекта.

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

Первоначально в браузер загружается файл index.php.

Файлы index.php, participant.php, news.php, conferention.php и mysql.php обмениваются данными а СУБД MySQL.

Графическая схема взаимодействия приведена ниже:



5. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ


Разработанное web-приложение относительно простое в использовании, как и большинство других сайтов.

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


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

Поля, которые помечены звездочкой (символом «*») обязательны для заполнения. Т. е. зарегистрироваться будет невозможным, если не заполнены эти поля.


В число таких полей входят:
  • «Имя» – Необходимо ввести свое имя, это минимум личной информации, необходимой для успешной регистрации.
  • «E-mail» – Адрес электронной почты необходим только для того, что бы администратор, после рассмотрения вашей заявки на участие смог вас уведомить вас об успешной регистрации, либо наоборот, указать вам причину отказа.
  • «Конференция» - В данном выпадающем меню должна быть выбрана конкретная конференция, участником которой хотел бы стать пользователь. Ведь он не может послать заявку на участие «ни в какой» конференции.
  • «Доклад» - Нажав кнопку «Обзор…» необходимо найти файл, формата Microsoft Word (*.doc, *.rtf), содержащий вашу работу (доклад) с которой вы хотели бы выступить на конференции. Эта работа будет просмотрена администраторов сайта.


Так же существуют не обязательные для заполнения поля, такие как «Дата рождения», «Организация», «Научное звание», «Ученая степень», «Город». Не смотря на то, что поля не обязательные, их заполнение желательно.


Помимо регистрации участников, существует такой раздел как «Рассылки». Хотелось бы остановиться на нем.

Если вы хотите получать новости на свою электронную почту, то вам необходимо попасть данный раздел. В рамке «Подписка на новости» есть поле «Ваш email», в которое нужно ввести адрес своей почты. Ниже выделить (или оставить выделенной) радио кнопку с под названием «Подписаться». После чего, при корректной работе сервера, на введенный вами адрес будет выслано письмо, содержащее в себе код активации, состоящий из набора символов и цифр, сгенерированных программой. Нужно будет ввести этот код в поле «Код активации», находящееся в рамке «Активация подписки на новости». Страница с рамкой в свою очередь должна открыться по нажатии на кнопку «Подписаться». Если вдруг вы по каким-то причинам покинули эту страницу, но позже возникла необходимость ввести код активации, то попасть на страницу активации можно будет кликнув по ссылке «Активировать рассылку» в левом нижнем углу, раздела «Рассылки». Введя код необходимо нажать кнопку «Активизировать», после чего вам выдастся сообщение о том, что вы успешно подписаны, либо, в противном случае, о том, что введенный код не верен и будет предложено ввести вам его еще раз. Код должен быть введен в течении 14 дне со дня его отправления на E-mail адрес. По истечении 2-х недель, он становится неверным и адрес электронной почты, введенный вам, удаляется с сервера.


Кроме подписки, можно еще и отказаться от нее, если ранее вы были подписанные и успешно активированы. Сделать это можно таким же образов введя в поле «Вам email» адрес вашей электронной почты, только значения переключателя «Подписаться / Отказаться от рассылки» находящегося ниже, установить в положение «Отказаться от рассылки». После чего следует нажать на кнопку «Отменить подписку». В случае, если введенный адрес подписан на рассылку, он будет удален, иначе появится сообщение о том, что вы не подписаны.


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


ЗАКЛЮЧЕНИЕ


За семестр мною была проделанная работа по усовершенствованию и дополнению сделанного в прошлом семестре проекта.

Был создан новый дизайн под главный сайт (данный проект является разделом сайта). Так же была создана система подписки на рассылки новостей.

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

Объем исходного кода проекта составляет ~104 кб., т. е. около 100 000 символов.

Данный проект будет иметь практическое применение на сайте Института Археологии и Этнографии СО РАН. Его роль будет в обеспечении пользователей удобным интерфейсом, при помощи которого будет легко получать данные о какой-либо конференции, а так же стать ее участником.


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ




  1. Кухарчик А. PHP: обучение на примерах. ООО «Новое знание», 2004 – 240 с.
  2. Ульман Л. Основы программирования на РНР: Пер. с англ. - М.: ДМК Пресс, 2001. - 288 с.: ил. (Самоучитель).
  3. Кузина И. Язык HTML, " onclick="return false">
  4. Мазуркевич А.М., Еловой Д.С. PHP: настольная книга программиста. ООО «Новое знание», 2003 – 480 с.
  5. Аткинсон Л. MySQL. Библиотека профессионала.: Пер. с англ. — М.: Издательский дом "Вильяме", 2002. — 624 с.



ПРИЛОЖЕНИЕ