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

·               сам написан на Питоне, у которого есть свои собственные недостатки. Например, глобальный lock для всех нитей. Это значит, что Питон (и соответственно Zope) не смогут извлечь все преимущества многопроцессорной машины

·               Некоторые особенности имеют отдельные компоненты Zope.

o                    не рекомендуется хранить много объектов в одной папке - поиск

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

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

В В нескольких словах - на PHP можно сделать все, что можно сделать с помощью CGI-программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies). Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым. Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим.

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

На основе вышеизложенного и с учетом актуальности проблемы учета в ВУЗе а поставлена задача разработки программы с возможностью просмотра оценок студентов, учета промежуточных аттестаций, итоговых, экзаменационных оценок, учета посещаемости студентами занятий, информацию о группах и студентах. Программа «Учет успеваемости студентов» должна служить для оперативного просмотра данных о студентах, а доступ к ней должен осуществляться с любого компьютера университета, подключенного к сети. Подключение к программе должно осуществлятся посредством какого-либо браузера. Сейчас в университете в сети находятся 8 компьютерных классов и 7 деканатов. Локальная сеть с пропускной способностью от 10 до 100 Мб/сек. Число пользователей в сети ограничений не имеет. Операционная система ОС S.u.S.E Linux/Apache

В основу программы «Учет успеваемости студентов» должно быть заложено два постулата:

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

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


 

 

2. ПРОЕКТ ПРОГРАММЫ

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

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

У обоих подходов есть свои преимущества и недостатки, заставляющие их приверженцев обмениваться незамысловатыми репликами вида "Объекты - это плохо!" или "Объекты - это хорошо!". Кратко рассмотрим преимущества и недостатки каждого.

Вот пример процедурного кода, выводящего строку

<?php

print "Hello, world."; ?>

Вот пример объектно-ориентированного кода, который делает то же самое:

<?php

class helloWorld {
  function myPrint() {
    print "Hello, world.";
  }
}
$myHelloWorld = new helloWorld();
$myHelloWorld->myPrint();

?>


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

Еще одним аргументов против использования объектно-ориентированного подхода в PHP4 является тот факт, что подобная функциональность не была полностью продумана в этой и более ранних версиях. Если послушать Расмуса (Расмус Лердорф - автор первых версий PHP), то получается, что поддержка ООП была добавлена уже после окончания основных работ над ядром языка. Из этого следует, что использование объектов в PHP4 не настолько рационально и эффективно, как могло бы быть. Как бы то ни было, эта ситуация должна измениться с выходом новой версии PHP5.

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

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

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

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.