Разработка интрасетевого приложения для учета успеваемости студентов
Курсовая работа, 11 Марта 2014, автор: пользователь скрыл имя
Описание работы
С наступлением эпохи Internet, стало возможным реализовать системы, которые, во-первых, обеспечат совместное использование документов сотрудниками предприятий и взаимодействие между отделениями, во-вторых, предоставят возможность публикации документов на Web-узле и, в-третьих, поддержат электронную торговлю с бизнес-партнерами и заказчиками. Компании, имеющие собственные интрасети, имеют возможность использовать их для дальнейшего развития систем управления и обработки электронных документов.
Файлы: 1 файл
интрасети1.doc
— 485.50 Кб (Скачать файл)Оглавление
Введение
С наступлением эпохи Internet, стало возможным реализовать системы, которые, во-первых, обеспечат совместное использование документов сотрудниками предприятий и взаимодействие между отделениями, во-вторых, предоставят возможность публикации документов на Web-узле и, в-третьих, поддержат электронную торговлю с бизнес-партнерами и заказчиками. Компании, имеющие собственные интрасети, имеют возможность использовать их для дальнейшего развития систем управления и обработки электронных документов. Например, можно превратить все бумажные документы в электронные и сосредоточить их в базе данных главного офиса, обеспечив к ним доступ по интрасети всем сотрудникам фирмы, а по Internet - ее клиентам. Это позволит снизить затраты на распространение бумажной документации за счет публикации необходимой информации в Internet и интрасети и повысить эффективность работы с документами служащих компании.
Последние десять лет развития сетевых средств показали, что современные предприятия не могут обойтись без систем на базе web-технологий, так как именно они позволяют окончательно перейти к безбумажной технологии, обеспечив удаленный доступ к документам. Системы управления документами, используемые в настоящее время в корпоративных сетях, выполняют загрузку и обработку всего потока документов, циркулирующих в пределах предприятия, т. е. информации, пересылаемой между служащими и отделениями, а также обеспечивают обмен документами с потребителями, поставщиками, клиентами и дистрибьюторами.
Основные функции системы управления документами – классификация информации, размещение ее в библиотеках баз данных и предоставление пользователям интерактивного доступа к документам. Право на работу с документами определяется с помощью идентификатора пользователя и входного пароля, а возможность обработки информации обеспечивается программными средствами, которые позволяют редактировать документы, коллективно работать с ними, а также обмениваться ими по каналам электронной почты.
Системы управления документами на базе Web имеют все шансы привлечь внимание предприятий, причем главная причина их популярности состоит в том, что в качестве клиентской части эти приложения клиент/сервер используют стандартный Web-броузер. С помощью таких систем служащие, работающие дома, могут мгновенно получить любые изменения, внесенные руководством в документы компании, подключившись к корпоративному серверу посредством модема или сетевой карты и броузера и найдя необходимый отчет в библиотеке базы данных. Заказчики получают возможность обратиться к Web-узлу предприятия и, щелкнув мышью по пиктограмме, соответствующей средствам обслуживания клиентов, автоматически подключиться к библиотеке базы данных, чтобы проверить, отправлены ли заказанные изделия. Интрасеть доступна лишь структурным подразделениям организации, внешние пользователи имеют доступ только на Web-узел.
Целью нашей работы является разработка программы по учету студенческой успеваемости и посещаемости, которая призвана автоматизировать работу деканата по работе с данными сопровождающими учебный процесс групп студентов. Программа должна обеспечивать формирование необходимых отчетов для анализа успеваемости и посещаемости учебных групп и каждого студента в отдельности.
1. Аналитическая часть
1.1. Анализ предметной области
Одной из проблем современного ВУЗа есть контроль. В связи с большим количеством студентов университета и множеством дисциплин есть необходимость вести учет за данными, сопровождающими учебный процесс групп и студентов. В настоящее время существуют множество видов учета и контроля за данными про студентов, которые ведутся старостами групп, кураторами, преподавателями, проректорами по учебной работе и деканами факультетов. Это такие виды контроля как: текущая успеваемость студента, информация про успеваемость студента за каждый месяц, сведения об академической задолженности и абсолютной успеваемости студентов по состоянию на последний день сессии, результаты экзаменов и зачетов, приказы о зачислении студентов на стипендию на следующий после экзаменационной сессии семестр, учет посещаемости студентами лекций, семинаров, лабораторных работ и другие. Эти данные хранятся в журналах групп, экзаменационных и зачетных ведомостях, справках, приказах, списках и т.д. Данные о студентах одновременно могут понадобиться старосте, преподавателю, декану. Сложности учета успеваемости обусловливают:
- значительное количество документации;
- распределенность потребителей и информации.
1.1.1. Технологии построения распределенных приложений
Исходя из распределенности пользователей, информации удобными средствами доступа могут быть средства Интернет. В настоящее время для создания Интеренет документов используется два подхода:
- статическая генерация страниц (выполняется разработчиком документа);
- динамическая генерация страниц (выполняется программой).
С учетом того, что информация об успеваемости часто обновляется, целесообразным будет применение динамической генерации страниц.
В настоящее время в качестве средств динамической генерации страниц широко используется PHP и ZOPE:
- PHP - это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. ;
- ZOPE – это сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.
С целью выбора средства разработки рассмотрим указанные продукты более подробно.
1.1.2. Сервер Zope
Zope - это объектно-ориентированная платформа, сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.
У выражения "объектно-ориентированный" здесь несколько сторон. Во-первых, Zope написан на языке Python, объектно-ориентированном языке со множественным наследованием.
Во-вторых, Zope построен вокруг идеи "публикации объектов" - URL, к которому обращается браузер, является ссылкой на объект (экземпляр класса), вызываемый на выполнение.
В-третьих, сами объекты (сериализованные экземпляры классов) хранятся в объектно-ориентированной базе данных ZODB.
Еще одно неотъемлемое свойство - модульность. Zope - это не цельный кусок софта, а богатый набор модулей, называемых компонентами.
Zope написан на портабельном языке Payton и работает во всех Unix системах и в Windows; основной формат базы данных ZODB - файл Data.fs - полностью независим от платформы и ОС), масштабируемость и распределенность.
Протоколы WWW (HTTP, CGI и т.д.) часто неадекватны задачам и могут делать публикацию динамических данных неоправданно сложной. Их низкий уровень недостаточен для непосредственного создания многих классов web-приложений на их основе.
Zope создает объектно-
C Zope работают
следующие категории
- администратор хоста - компилирует и инсталлирует программы и дополнительные компоненты
- программист - пишет компоненты, то есть классы, на языке Python
- webмастер - расставляет эти компоненты (то есть экземпляры классов) на сайте, пользуясь менеджерским web-интерфейсом
- администратор сайта - заводит записи о пользователях, создает роли, ставит их в соответствии друг другу, назначает кому (какой роли) к каким объектам можно иметь доступ, и какой именно доступ (создание объекта, редактирование, удаление, просмотр и т.д.)
- Это, конечно, не обязательно разные люди - это роли. На маленьком сайте эти роли может выполнять один человек. Для больших сайтов Zope предоставляет механизмы делегирования полномочий администраторам участков сайтов, верстальщикам, редакторам.
Что дает Zope Программисту:
- механизм шаблонов (DTML)
- набор компонентов (ZODB, ZCatalog и прочие)
- API для создания своих компонентов
- API для доступа к Zope минуя www-интерфейс, прямо по HTTP и/или XML-RPC некоторые базовые компонентов (Zserver, ZPublisher, ZODB, DTML, Catalog) можно использовать вообще вне Zope, просто в программах на Python.
web-мастеру:
- механизм шаблонов (DTML)
- www-интерфейс для управления сайтом
администратору:
- www-интерфейс для управления сайтом простой, и в то же время мощный инструментарий для администрирования пользователей, прав и прочих механизмов безопасности
Недостатки Zope:
- отсутствие хорошей документации и литературы
- недостаточная поддержка локалей: сортировка в цикле dtml-in осуществляется совершенно без учета локали, индексация и поиск в Catalog требует компонента Splitter.
- тяжело отлаживать питоновские компоненты - Zope надо перезапускать, чтобы он подхватил изменения в коде, а это неудобно и долго (секунд 20-30); Z-классы не имеют такого ограничения, но и возможностей у них поменьше
- Недостатки Zope в основном являются продолжением достоинств этой
платформы.
- сервер, все время сидит в памяти
- отсутствие возможности держать историю объектов в CVS
- язык программирования - Питон; для программирования обещано добавление PerlMethods и может быть других языков
- сам написан на Питоне, у которого есть свои собственные недостатки. Например, глобальный lock для всех нитей. Это значит, что Питон (и соответственно Zope) не смогут извлечь все преимущества многопроцессорной машины
- Некоторые особенности имеют отдельные компоненты Zope.
- не рекомендуется хранить много объектов в одной папке - поиск
- Сессии реализованы отложенными транзакциями; в результате объект, редактируемый в Версии, запирается в ней, и его нельзя редактировать ни вне Версии, ни тем более в другой Версии.
1.1.3. PHP
PHP это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. PHP очень похож на ASP, но приспособлен к unix-like системам и чаще всего употребляется с web-сервером apache, хотя может работать и с MS IIS и в принципе с любым другим веб-сервером. Кроме того, PHP является объектно-ориентированным. Основное преимущество PHP - простота, гибкость и скорость выполнения. Теперь, чтобы выложить на сайт новую статью или просто новость, я всеголишь добавляю новую запись на sql сервере с помощью MS Access или web-интерфейса sql, написанного кстати тоже на php, а при запросе страницы пользователем соответствующий php-скрипт выуживает из sql то, что ему надо и выдает уже красиво оформленную, готовую страницу. SQL. Вот это является еще одним преимуществом PHP, такое впечатление, что PHP просто рожден существовать в связке apache+php+sql.
На PHP можно сделать все, что можно сделать с помощью CGI-программ. Обрабатывать данные из форм, генерировать динамические страницы, получать и посылать cookies, загружать файлы, создавать файлы и папки, рисовать динамические картинки, отсылать электронную почту, и т.д. и т.п. Кроме того, в PHP включена поддержка многих баз данных (databases), что серьёзно расширяет возможности написания по-настоящему динамических Web-приложений. Плюс ко всему вышесказанному, PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и HTTP, а также имеет возможность работать с сокетами и общаться по другим протоколам.
Синтаксис PHP имеет легкую читабельность и в целом понятен для восприятия. Те, кому приходилось программировать, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению (или освобождению) памяти. Программы, написанные на PHP, достаточно просты для понимания. Написанный PHP - код, легко зрительно прочитать и понять, в отличие от Perl-программ. Плюс ко всему, достаточно высокая скорость работы, что особенно сказалось при переходе на четвертую версию, а уже вышла и пятая.
Преимущества PHP WEB-разработчикам нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем: всевозможные голосования, поиск информации, продажа продуктов, конференции, форум и т.п. Традиционно все это реализовывалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. То есть, каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и существенно тратит оперативную память. Большое кол-во хакерских атак на сервера, основываются именно на многократных вызовах CGI, что приводит к загрузке ядра процессора и оперативной памяти. PHP предлагает другой вариант - он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.
Недостатки PHP:
1. PHP является интерпретируемым языком, и, вследствие этого, не может сравниться по скорости с компилируемым С. Однако при написании небольших программ, что, в общем-то, присуще проектам на PHP, когда весь проект состоит из многих небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов CGI-программы, написанной на С.
2. Не такая большая база готовых модулей, как, например, СPAN у Perl. С этим ничего нельзя поделать это дело времени. В PHP разработчики предусмотрели специальный архив, аналогичный CPAN, и я думаю, очень скоро будет написано достаточное количество модулей для его наполнения.
4. Нет поддержки сессий (session), как, например, в ASP. В PHP этот недостаток будет устранен.