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

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

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

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

Файлы: 1 файл

интрасети1.doc

— 485.50 Кб (Скачать файл)

 

1.1.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.2. Постановка задачи

 

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

Одним из основных аргументов в пользу объектно-ориентированного подхода является расширяемость и модульность полученного кода

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

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

Рассмотрев преимущества и недостатки объектно-ориентированного и процедурного подхода программирования на PHP, мы решили использовать в нашей программе процедурный подход. Этот подход является наиболее подходящим для решения нашей задачи, поскольку сама веб-страница обрабатывается именно в процедурном подходе и код, написанный в процедурном подходе проще комбинируется с HTML.

 

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

 

Мы хотим разработать программу, которая бы имела бы структуру указанную на рисунке 2.1

Рисунок 2.1 – модель программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

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

 







 


 

Рисунок 2.2 модульная схема программы

 

Модуль main.php

Входные данные: отсутствуют

Выходные данные: ссылки

Выполняемое действие: формирование ссылок

Модуль control_styd_form.html

Входные данные: отсутствуют

Выходные данные: Radio-box, кнопка, ссылка

Выполняемое действие: формирование Radio-box, кнопки, ссылки

Модуль control_stud.php

Входные данные: файл соответствующий номеру группы

Выходные данные: содержимого файла

Выполняемое действие: по номеру выбранной группы определяется соотвтствующийся файл и его выводится его содержание

Модуль infa.php

Входные данные: файл infa.php

Выходные данные: содержимое файла

Выполняемое действие: выводит содержимое файла

Модуль infa1.php

Входные данные: файл infa1.php

Выходные данные: содержимое файла

Выполняемое действие: выводит содержимое файла

Модуль infa2.php

Входные данные: файл infa2.php

Выходные данные: содержимое файла

Выполняемое действие: выводит содержимое файла

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

 

Кодирование программы можно осуществлять в встроенном редакторе, находящимся в mc, блокноте, текстовом редакторе, а также при помощи программы Quanta Plus.

Quanta Plus – это среда разработки документов на языках разметки, которая также поддерживает популярные скриптовые языки, CSS и некоторые другие форматы, разработанные W3C.

Нужно отметить, что Quanta Plus есть продукт выдающихся достижений сообщества KDE. Quanta Plus поддерживает идею open source «Зачем делать что-то, что другие уже сделали? » Это, и большее, стало возможным благодаря структуре KDE.

 Quanta Plus обеспечивает веб-разработчиков интуитивным и мощным многооконным интерфейсом (Multiple Document Interface, MDI ). С ее помощью вы можете увеличить свою производительность. Благодаря возможности добавления пользовательских действий, скриптов, панелей инструментов, вы можете автоматизировать свою работу. С помощью Kommander вы можете расширить Quanta Plus, вам не нужно будет каждый раз вспоминать функции скриптов и их синтаксис.

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

Глобальные элементы

Глобальные элементы доступны всегда. Всё, от панелей инструментов до действий, отмеченное как глобальное, находится в общем дереве каталогов Quanta Plus. Например, администратор может создавать панели инструментов, действия, шаблоны и пометить их как общие, что позволяет обращаться к ним другим пользователям.

Локальные элементы

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

Элементы проекта

Элементы проекта – это объекты, которые доступны только в конкретном проекте. Это может быть что угодно, начиная с шаблона CSS и заканчивая панелью инструментов со специальными действиями над функциями проекта.

В соответствии с моделью программы (Рисунок 1) и спецификацией (Пункт 2.3.) мы делаем кодирование. Результаты кодирования представлены в Приложении А. Инструкция пользователя приведена в приложении Б.

 

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

 

Мы запускаем Web-браузер, в поле Адрес (Address) вводим http://localhots/~student/proga/main.php и нажимаем клавишу Enter. В рабочем окне браузера появится главная страница нашей программы. Это форма (Рисунок 2.1), которая содержит 4 ссылки:

«Программа «Контроль студентов» »

«О программе»

«Инструкция»

«Разработчики»

 

Рисунок 2.3. Страница программы http://localhots/~student/proga/main.php

 

При нажатии на ссылку «Программа «Контроль студентов»» мы попадаем на страницу http://localhots/~student/proga/control_stud_form.html , которая содержит группу переключателей Номер группы, кнопку Показать результат и ссылку Вернуться на главную (Рисунок 2.2).

 

Рисунок 2.4. Страница программы http://localhots/~student/proga/control_stud_form.html

 

Установим переключатель на одном из номеров групп, например, группа 362 и нажмем кнопку Показать результат. В окне браузера будет выведен результат работы сценария http://localhots/~student/proga/control_stud.php, то есть браузер будет выводить на экран содержимое файла /home/student/1/362.txt . Этот файл содержит информацию про успеваемость и посещаемость студентов группы 362 (Рисунок 2.3). Кроме информации о группе форма содержит ссылку Назад, при помощи которой мы можем вернуться на страницу http://localhots/~student/proga/control_stud_form.html.

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