49065 (Создание программы электронного учета успеваемости студентов с дальнейшим выводом ее в Интернет)

2016-07-30СтудИзба

Описание файла

Документ из архива "Создание программы электронного учета успеваемости студентов с дальнейшим выводом ее в Интернет", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49065"

Текст из документа "49065"

Министерство образования и науки Украины

Николаевский государственный университет

Имени В.А.Сухомлинского

Физико-математический факультет

Создание программы электронного учета успеваемости студентов с дальнейшим выводом ее в Интернет. Предоставление информации успеваемости студентов в локальной сети

Курсовую работу выполнила:

Студентка 362 группы

Физико-математического факультета

Специальность «Информатика»

Чернецкая Ольга

Проверил:

Кошкин К.В.

Николаев 2005

Аннотация

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

Содержание

  1. Анализ предметной области и постановка задачи

    1. Формулирование проблемы

1.2 Анализ существующих решений

1.2.1 Технологии построения распределенных приложений

1.2.2 Сервер Zope

1.2.3 PHP

1.2.4 Выбор технологии

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

2. Проект программы

2.1 Выбор технологии проектирования

2.2 Разработка моделей

2.3 Спецификации

2.4 Кодирование

2.5 Тестирование

Выводы

Приложение А

Приложение Б

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

1.1 Формирование проблемы

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

- значительное количество документации;

- распределенность потребителей и информации.

1.2 Анализ существующих решений

1.2.1 Технологии построения распределенных приложений

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

  • статическая генерация страниц (выполняется разработчиком документа);

  • динамическая генерация страниц (выполняется программой).

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

В настоящее время в качестве средств динамической генерации страниц широко используется PHP и ZOPE:

  • PHP - это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. ;

  • ZOPE – это сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.

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

1.2.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.2.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 этот недостаток будет устранен.

1.2.4 Выбор технологии

Рассмотрев все достоинства и недостатки языков web-програм-мирования Zope и php мы остановили свой выбор на Php. Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению памяти. Программы, написанные на PHP, читаются достаточно легко. В отличие от Perl-программ PHP-код легко зрительно прочитать и понять. В дополнение к своей бесплатности (MySQL требует приобретения лицензии при использовании ее в коммерческих целях) связка PHP-MySQL является кросс-платформенной. Это значит, что вы можете, работая в Windows, разрабатывать приложения, предназначенные для работы под Unix. Кроме того, PHP может работать как внешний CGI-процесс, либо как обычный интерпретатор скриптов, либо как модуль, подключаемый к web-серверу Apache или IIS. И наконец, так как данный продукт разрабатывается совместными усилиями, существует огромное количество документации и списков рассылки, к которым можно обратиться в случае возникновения каких-либо вопросов. Найденные ошибки исправляются достаточно быстро, ваши предложения и замечания всегда выслушают, рассмотрят, и если они окажутся ценными - реализуют в новой версии.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее