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

Разработка программы "Учет успеваемости студентов" на языке программирования PHP. Программа дает возможность просмотра оценок студентов, учета аттестаций, итоговых, экзаменационных оценок, учета посещаемости студентами занятий с любого компьютера ВУЗа.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.02.2010
Размер файла 4,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Тверской Государственный Технический Университет

Кафедра (предметная комиссия)

ИНФОРМАЦИОННЫХ СИСТЕМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К курсовому проекту

на тему:

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

СОДЕРЖАНИЕ

Введение

1. Описание предметной области

1.1 Анализ организационной структуры

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

2.1 Аппаратное обеспечение

2.2 Топология сети

2.2 Маршрутизаторы

2.3 Выход в интернет -- безопасность

2. Программное обеспечение

3.1 Сервер Zope

3.2 Язык программирования PHP

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

3.4 Разработка базы данных

3.5 Разработка интерфейса пользователя

3. Описание экономической эффективности

Вывод

Список литературы

ВВЕДЕНИЕ

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

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

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

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

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

1.1 Анализ организационной структуры

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

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

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

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

Рассмотрим компьютеризированные элементы структуры ВУЗа, которые могут воспользоваться информацией об успеваемости студентов, для того чтобы в дальнейшем построить топологию сети. Рисунок 1.

Компьютеры ВУЗа

Рисунок 1

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

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

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

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

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

2. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

2.1 Топология сети

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

Под топологией сети понимается описание её физического расположения. Существую четыре основных топологии:

Bus (шина),

Ring (кольцо),

Star (звезда),

Возможны также комбинации основных топологий.

Характеристики основных топологий:

Ц

Рисунок 2 - Шина

Центральный (магистральный) кабель образует основной канал передачи информации. Отдельные узлы подключаются к этому кабелю либо непосредственно, либо при помощи специальных отводов кабеля. Сигналы передаются по центральному кабелю и каждый узел анализирует и обрабатывает только те сигналы, которые адресованы именно ему. Вариантами шинной топологии являются «дерево» (tree) и «ветвящееся дерево» (branching tree).

Рисунок 3 - Кольцо

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

Рисунок 4 - Звезда

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

Топология сети комбинированная - предлагается с учётом:

- перспективы развития вычислительной сети и ее компонентов;

- удобства обслуживания технических средств;

- надежности работы сети и ее компонентов;

- возможности лёгкой перекоммутации сетевых устройств.

Опираясь на имеющиеся ресурсы разработаем топологию сети рисунок 5.

Рисунок 5 топология сети

2.2 Выбор сетевой технологии

В проекте IEEE 802 определены стандарты по определению физического и канального уровней сетей.

Описание наиболее распространённых сетевых технологий:

Технология Ethernet

Ethernet - это самый распространенный на сегодняшний день стандарт локальных сетей. Для передачи двоичной информации по кабелю для всех вариантов физического уровня данной технологии, обеспечивающих пропускную способность 10 Мбит/с, используется манчестерский код. В более скоростных версиях Ethernet применяются более эффективные в отношении полосы пропускания избыточные логические коды. Все виды стандартов Ethernet используют один и тот же метод разделения среды передачи данных - метод CSMA/CD. При отсутствии коллизий и ожидания доступа коэффициент использования сети зависит от размера поля данных кадра и имеет максимальное значение 0,96. В зависимости от типа физической среды стандарт ІЕЕЕ 802.3 определяет различные спецификации: 10Base-5, 10Base-2, 10Base-T, FOIRL, 10Base-FL, 10Base-FB. Для каждой спецификации определяются тип кабеля, максимальные длины непрерывных отрезков кабеля, а также правила использования повторителей для увеличения диаметра сети.

Для реализации сети организации применим стандарт Fast Ethernet. Основными достоинствами выбранного стандарта являются:

· пропускная способность сегментов сети 100 Мб/c;

· сохранение метода случайного доступа Ethernet;

· сохранение звездообразной топологии сетей и поддержка традиционных сред передачи данных - витой пары и оптоволоконного кабеля.

· относительно недорогое сетевое оборудование, по сравнению с другими стандартами (FDDI, ATM).

Выбор кабеля

Носитель, по которому передаются данные, находится на нижнем уровне сетевых коммуникаций. В отношении передачи данных носитель или среда передачи данных может включать в себя как кабельные, так и беспроводные технологии. Кабели являются наиболее распространёнными носителями для сетевых коммуникаций.

На практике, как правило, кабельная проводка является ограничением, которое нужно учитывать при выборе сетевой технологии и топологии. Это связано с тем, что в здании зачастую проложен кабель до построения сети. Тип кабеля накладывает ограничения на архитектуру сети. В редких случаях делают замену кабельной проводки. Это не всегда возможно и требует значительных материальных затрат.

Существует несколько различных типов кабелей, используемых в современных сетях. Их характеристики включают:

· линейные размеры

· цену

· скорость передачи данных

· минимальную и максимальную длину сегмента

· лёгкость установки.

Описание кабелей:

Коаксиальный кабель

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

Кабель типа “витая пара” (twisted pair)

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

а) Неэкранированная витая пара (Unshielded Twisted Pair, UTP)

Медный неэкранированный кабель UTP в зависимости от электрических и механических характеристик разделяется на категории (Category 1 - Category 7). Все кабели UTP независимо от их категории выпускаются в 4-парном исполнении. Обычно две пары предназначены для передачи данных, а две - для передачи голоса. Большинство новых высокоскоростных стандартов ориентируются на использование витой пары категории 5.

б) Экранированная витая пара (Shielded Twisted Pair, STP)

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

в) Оптоволоконный кабель (Fiber optic cable)

Волоконно-оптический кабель состоит из тонких (5-60 микрон) гибких стеклянных волокон, по которым распространяются сигналы. Это наиболее качественный тип кабеля - он обеспечивает передачу данных с очень высокой скоростью и к тому же лучше других типов передающей среды обеспечивает защиту данных от внешних помех.

Таблица 1 Сравнение типов кабеля.

Тип

Скорость, Мбит/с

Длина, м

Установка

Интерференция

Цена

UTP

10 - 100

100

Лёгкая

Очень подвержен

Самый дешёвый

STP

16 - 155

100

Средней лёгкости

Некоторая устойчивость

Дороже, чем UTP

Оптоволокно

100 - 2000

2000

Самая сложная

Нечувствителен

Самый дорогой

При кабель UTP CAT 5 является наиболее универсальным видом кабеля, который поддерживается многими устройствами и достаточен для соединения сетевых устройств в данной организации.

Выбор сетевых устройств

Сервер. В качестве сервера баз данных и сервера работы в Интернет были выбраны серверы Intel cерии 5200A, поскольку они сочетают в себе высокий уровень производительности по очень доступной цене в сравнении с серверами других фирм-производителей.

Серверы семейства обладают высокой производительностью и масштабируемостью, дисковой подсистемой на базе Ultra SCSI 320 с аппаратным RAID. Емкая дисковая подсистема (до 10-ти SCSI дисков) позволяет построить RAID-массив любой сложности. Сфера применения 5200A: файл- и принт-сервисы, электронная почта и документооборот, корпоративная инфраструктура, WEB-серверы, контроллеры домена, малые базы данных.

· Сервис Удаленного Узла - обеспечение доступа к сети по синхронным линиям

· Терминальный Сервис - обеспечение подключения терминалов, принтеров и РС

· Асинхронная маршрутизация - использование асинхронных линий для маршрутизации пакетов по глобальным сетям (WAN) - коммутируемые, выделенные линии и X.25 сети; имеются возможности дозвона по требованию (dial-on-demand) и изменения пропускной способности по требованию (bandwidth-on-demand)

· Трансляция протоколов - обеспечивает взаимную трансляцию между терминальными сервисами

Сетевой адаптер рабочих станций

На рабочих станциях уже имеется сетевые адаптеры. Эта сетевая плата обеспечивает широкую полосу пропускания, необходимую для современных бизнес-- и мультимедиа-приложений, интенсивно использующих каналы передачи данных. Использование особенностей современной архитектуры шины позволяет увеличить скорость обмена данными за счет возможности одновременной передачи по шине данных нескольких задач. Контроль потоков данных позволяет установить более высокий приоритет трафика приложений, критичных ко времени передачи, в отличие от остального трафика. Аппаратное вычисление контрольных сумм TCP/IP позволяет освободить центральный процессор компьютера от ряда вычислительных задач.

Концентраторы

Концентраторы OfficeConnect Dual Speed Hub поддерживают автоматическое определение скорости 10/100 Мбит/с и предоставляют гибкость, необходимую для подключения устройств с любой скоростью, автоматически устанавливая максимально возможную производительность и обеспечивая плавный переход от10 к 100 Мбит/с.

Концентраторы поддерживают технологию «plug-and-play» и не требуют конфигурирования, а также имеют на лицевой панели понятный дисплей с диагностическими светодиодными индикаторами.

Коммутаторы

Характеристика коммутаторов - 8-портовые и 24-портовые коммутаторы 3Com SuperStack 3 Baseline 10/100 являются идеальными решениями для сетей компаний, где требуются соединения Fast Ethernet (100 Мбит/с) для настольных компьютеров и офисных серверов, а также где имеется необходимость в поддержке старых компьютеров, подключенных на скорости Ethernet (10 Мбит/с). Отсутствие необходимости в настройке обеспечивает быструю и простую установку коммутаторов. Коммутаторы обеспечивают высокую производительность и передачу данных без блокировки, автоматический выбор скорости, приоритезацию трафика в соответствии со стандартом IEEE 802.1p и автоматическую настройку режима MDI/MDIX для всех портов.

Вопросы сетевого администрирования

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

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

Обычно система управления системой выполняет следующие функции.

· Учет используемых аппаратных и программных средств. Система автоматически собирает информацию об установленных в сети компьютерах и создает записи в специальной базе данных об аппаратных и программных ресурсах. После этого администратор может быстро выяснить, какими ресурсами он располагает и где тот или иной ресурс находится.

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

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

Сетевая операционная система Windows Server 2003 имеет в своем арсенале мощные средства администрирования. Например, служба каталогов Active Directory позволяет из одной точки управлять всеми ресурсами сети: файлами, периферийными устройствами, подключениями к хостам, базами данных, доступом к Web, пользователями, любыми произвольными объктами, сервисами и сетевыми ресурсами. Поддерживаемый в ней иерархичный взгляд на систему, удобные средства администрирования и мощные механизмы поиска позволяют значительно снизить административные затраты. В качестве поискового сервиса используется DNS. Все объекты внутри домена объединяются в организационные единицы, составляющие иерархичные структуры. В свою очередь, домены могут объединяться в деревья. Доступ к этим объектам разделен на функциональные группы, для которых созданы слепки, используемые консолью управления ММС (Microsoft Management Console).

В Active Directory объединены лучшие возможности Х.500 и сервиса обнаружения DNS . DNS -- сервис, наиболее часто используемый как в Интернете, так и в интрасетях. Он с успехом применяется для преобразования имени в IP-адрес как в масштабах Интернета, так и в небольших сетях. В динамическом сервере DNS обновлением и тиражированием базы занимается непосредственно сервер. Серверы, на которых установлена служба каталогов Active Directory, используют динамический DNS для публикации самих себя в базе DNS.

Структура сети представлена на рисунке 6.

2.3 Выход в интернет -- безопасность

Планирование сетевой защиты

Руководство ВУЗа должна определить политику информационной безопасности, которая включает ответы на следующие вопросы:

· какую информацию и от кого следует защищать;

· кому и какая информация требуется для выполнения служебных обязанностей;

· какая степень защиты требуется для каждого вида информации;

· чем грозит потеря того или иного вида информации;

· как организовать работу по защите информации.

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

К техническим средствам обеспечения информационной безопасности могут быть отнесены:

· системы контроля доступа, включающие средства аутентификации и авторизации пользователей;

· средства аудита;

· системы шифрования информации;

· системы цифровой подписи, используемые для аутентификации документов;

· средства доказательства целостности документов (использующие, например, дайджест-функции);

· системы антивирусной защиты;

· межсетевые экраны.

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

Сетевая ОС Windows Server 2003 имеет средства обеспечения безопасности, встроенные в операционную систему.

С точки зрения технологии, концепция платформы Windows заключаются в том, чтобы обеспечить защиту информации на всех уровнях информационной системы по трем основным направлениям. А именно:

1) аутентификация субъектов, которые функционируют в информационной системе;

2) обеспечение контроля доступа к объектам (разграничение прав доступа и контроль исполнения этих прав со стороны субъекта);

3) защита информации с помощью средств шифрования.

В Windows 2003 все операции, которые исполняются в информационной системе, аутентифицированы в ОС. Будь то встроенная системная учетная запись, либо учетная запись пользователя, который запустил приложение, важно, что всегда абсолютно точно известно в контексте, какой учетной записи исполняется данный программный продукт (поток). Права доступа и привилегии данного исполняемого кода ограничены исключительно тем контекстом безопасности, который назначен учетной записи, от имени которой действует код. Аутентификация Windows 2000 и Windows 2003 может осуществляться по нескольким протоколам. Когда мы говорим об аутентификации в домене, который является основной процедурой регистрации пользователей, то мы говорим о протоколе Kerberos, который на сегодняшний день является общепризнанным мировым стандартом. Чтобы в системе работал протокол Kerberos, необходима служба под названием Центр Распределения Ключей (KDC, Key Distribution Center). Она состоит из двух компонент: Центр Аутентификации (Authentication Service), который выдает билет TGT, и служба Ticket Granting, которая выдает билет на доступ в ресурс.

С точки зрения контроля доступа к объекту Microsoft использует концепцию, основанную на требованиях, которые сформулированы в Common Criteria. Common. Windows построена в соответствии с требованием профиля, который называется "Controlled Access" - операционная система, обеспечивающая контроль доступа. Главное требование этого профиля заключается в том, чтобы обеспечить контроль доступа к объектам (с помощью назначения этим объектам списка контроля доступа), а также проведение обязательного аудита операций (которые выполняются с объектами) и обеспечение разграничения административных полномочий. Третье направление - средства шифрования, которые реализованы в системе безопасности. На самом деле, если представить себе в комплексе все службы, которые отвечают за защиту информации в составе ОС, то только одна из этих служб не использует никак шифрование. Это система контроля доступа. Она использует список контроля доступа. Все остальные службы, так или иначе, используют шифрование. Это шифрующая файловая система (которая защищает файлы на жестком диске), поддержка протокола IP Security (который защищает информацию на уровне сетевых пакетов), поддержка смарт-карт, весь процесс аутентификации служб удаленного доступа и, в частности, виртуальные сети. Большая часть из этих служб базируется на шифровании с открытым ключом, то есть для их работы необходима инфраструктура открытых ключей. С точки зрения такой системы, все средства шифрования реализованы в виде специальных модулей, которые называются Cryptographic Service Providers. Они лежат в основе всей этой пирамиды. CSP - это закрытый модуль, который выполняет криптографические операции и хранит личные ключи пользователей. Нет никой возможности напрямую получить доступ к информации, которая находится внутри криптографического провайдера, а уж тем более модифицировать его поведение. Это внутренняя закрытая структура. С другой стороны, есть стандартный интерфейс, который называется CryptoAPI. Все операции, которые выполняют шифрование, используют вызовы CryptoAPI для того, чтобы зашифровать/расшифровать какой-то поток данных.

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

Вопросы безопасности сетевых ресурсов также включают защиту от вирусов, нежелательных сетевых вторжений и действий хакеров. Поэтому для защиты от внешних угроз будет использоваться комплекс антивирусных средств, а также брандмауэр 3 Com SuperStack 3 Firewall . При избыточной архитектуре сети также будет использован фильтр веб-сайтов 3Com SuperStack 3 Firewall Web Site Filter. обеспечивает улучшенную защиту от вирусов для всей сети и мониторинг с единой консоли управления. Функция Expanded Threat Detection and Threat Categorization (Расширенные возможности выявления и классификации угроз) распознает нежелательные приложения (например, "шпионские" и рекламные модули). Функция Threat Tracer (Трассировщик угроз) выявляет источник комбинированных атак, распространяющихся через общие сетевые ресурсы (например, Nimda). Средства эвристического анализа исходящих почтовых сообщений позволяют предотвратить распространение червей с клиентских систем. Технология Internet Email Attachment Scanning (Проверка вложений электронной почты) позволяет проверять входящие сообщения для клиентов, использующих протокол POP3 (Microsoft® Outlook®, Eudora®, Netscape Mail). Функция In-Memory Scanning (Проверка памяти) выявляет угрозы и может завершать подозрительные процессы в памяти до того, как они причинят ущерб системе.

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

3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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

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

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

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

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

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

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

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

3.1 Сервер 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-классы не имеют такого ограничения, но и возможностей у них поменьше

Недостатки Zope в основном являются продолжением достоинств этой платформы.

· сервер, все время сидит в памяти

· отсутствие возможности держать историю объектов в CVS

· язык программирования - Питон; для программирования обещано добавление PerlMethods и может быть других языков

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

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

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

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

3.2 Язык программирования 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, и я думаю, очень скоро будет написано достаточное количество модулей для его наполнения.

3. Нет поддержки сессий (session), как, например, в ASP. В PHP этот недостаток будет устранен.

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

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

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

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

Модульная схема программы рисунок 6.

Модуль main.php

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

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

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

Модуль control_styd_form.html

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

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

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

Модуль control_stud.php

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

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

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

Модуль form_prep.php

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

Выходные данные: Radio-box1, Radio-box2, Radio-box3, кнопка1, кнопка 2, ссылка

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

Модуль control_prep.php

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

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

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

Модуль edit_data_prep.php

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

Выходные данные: Radio-box1, Radio-box2, Radio-box3, содержимого файла

Выполняемое действие: просмотр и редактирование данных Edit1, Edit2, Edit3.

Модуль form_star.php

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

Выходные данные: Radio-box1, Radio-box2, Radio-box3, кнопка1, кнопка 2, ссылка

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

Модуль control_star.php

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

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

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

Модуль Add_data_star.php

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

Выходные данные: Radio-box1, Radio-box2, Radio-box3, содержимого файла

Выполняемое действие: просмотр и добавление данных Edit1, Edit2, Edit3.

Модуль infa1.php

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

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

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

Модуль razr.php

Разработка, и изменение данных, структуры данных.

Опираясь на модульную схему программы разработаем модель программы, с описанием элементов.

Модель программы рисунок 7

3.4. Разработка базы данных

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

Структура базы данных рисунок 8

3

Разработка интерфейса пользователя

Кодирование программы можно осуществлять в встроенном редакторе, находящимся в 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.) мы делаем кодирование. Результаты кодирования представлены в Приложении А. Инструкция пользователя приведена в приложении Б.

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

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

«Кабинет студента», «Кабинет преподавателя», «Кабинет старосты»

«Инструкция», «разработчикам»

Рисунок 9 главная страница программы

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

Рисунок 10 кабинет студента

Установим переключатель на специальность, курс, код студента и нажмем кнопку «Показать». В окне браузера будет выведен результат работы сценария http://localhots/~student/proga/control_stud.php. Если же какие либо поля оставить пустыми, то вывод данных включит все записи без фильтра по данному параметру. Эти данные содержат информацию про успеваемость. Кроме информации о группе форма содержит ссылку «Назад», при помощи которой мы можем вернуться на страницу http://localhots/control_stud_form.html.

Рисунок 10 вывод данных

П

При нажатии на ссылку О программе в окне браузера будет выведен результат работы сценария http://localhots/~student/proga/infa.php, который отображает содержимое файла /home/student/1/infa.txt. Этот файл содержит краткую информацию о нашей программе. При помощи ссылки «Назад» мы возвращаемся на главную форму. При нажатии на ссылку «Инструкция» будет выведен результат работы сценария http://localhots/~student/proga/infa1.php, который отображает содержимое файла /home/student/1/infa1.txt, который содержит инструкцию пользователя. Аналогично при нажатии на ссылку Разработчики в окне броузера будет выведен инструмент управления структурой системы, работы сценария http://localhots/~student/proga/razr.php.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.