Разработка интрасетевого приложения для учета успеваемости студентов

Автор работы: Пользователь скрыл имя, 11 Марта 2014 в 20:16, курсовая работа

Описание работы

С наступлением эпохи 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 создает объектно-ориентированную  оболочку вокруг этих низкоуровневых  средств. С его помощью решение  задачи происходит обычным путем - программист пишет набор иерархий классов, являющийся абстракцией предметной области, а 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-классы не имеют такого ограничения, но и возможностей у них поменьше
  1. Недостатки 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 этот недостаток будет устранен.

Информация о работе Разработка интрасетевого приложения для учета успеваемости студентов