Проект информационной системы 'Распределение учебной нагрузки на кафедре'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    343,72 Кб
  • Опубликовано:
    2013-01-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проект информационной системы 'Распределение учебной нагрузки на кафедре'

Введение


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

Цель. Спроектировать информационную систему «Распределение нагрузки на кафедре», позволяющую распределять нагрузку, вносить в нее оперативные изменения и уменьшить затраты временных и человеческих ресурсов на распределение нагрузки на кафедрах ПГТУ.

Для достижения цели в рамках ВКР необходимо решить следующие задачи:

·  изучить и проанализировать предметную область;

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

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

·        определить и классифицировать входную и выходную информацию;

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

·        описать основные математические расчеты, производимые в подпрограмме;

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

·        описать запросы, используемые в подсистеме;

·        определить возможности дальнейшего развития подсистемы.

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

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

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

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

Одной из задач, стоящих перед учебными отделами ВУЗов является расчет учебной нагрузки на кафедре. На его основе:

·  формируются учебные поручения для преподавателей;

·        составляется расписание учебных занятий;

·        определяются штаты профессорско-преподавательского состава ВУЗа;

·        распределяются денежные средства, идущие на оплату труда преподавателей.

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

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

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

·  на каком курсе читается дисциплина;

·        по какой специальности;

·        количество групп на курсе;

·        количество недель;

·        общее количество часов на все имеющиеся виды занятий (лекции, лабораторные и практические работы, зачеты, экзамены, контрольные и т.д.).

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

1. Общая часть

 

.1 Общая характеристика объектов автоматизации


Объектом автоматизации является кафедра ИТАС. Кафедра «Информационные технологии и автоматизированные системы» (ИТАС) образовалась при слиянии в 2002 году кафедр «Автоматизированные системы управления» и «Вычислительная техника и автоматизированное управление» в составе Электротехнического факультета Пермского государственного технического университета.

Кафедра проводит обучение по следующим специальностям:

·    230101 (220100) - «Вычислительные машины, комплексы, системы и сети» (специальность ЭВТ);

·              230102 (220200) - «Автоматизированные системы обработки информации и управления» (специальность АСУ);

·              230105 (220400) - «Программное обеспечение вычислительной техники и автоматизированных систем» (специальность ПОВТ).

Реализуется обучение по системе бакалавриат - магистратура по направлению 230100 «Информатика и вычислительная техника» (ИВТ):

·    552800 - «Информационно-вычислительная техника» (бакалавриат ИВТ);

·              552822 - «Распределенные автоматизированные системы» (магистратура).

В рамках каждой специальности проводится обучение по следующим специализациям:

1. По специальности 230101 (ЭВТ):

o 220101 «Использование средств вычислительной техники (по областям)»;

o     220101 «Использование средств вычислительной техники в нефтегазовой отрасли»;

o     220101 «Использование средств вычислительной техники в банковской деятельности»;

o     220104 «Высокопроизводительные компьютерные системы и технологии».

2. По специальности 230102 (АСУ):

o     220203 «Автоматизированные системы реального времени»;

o     220205 «Распределенные автоматизированные системы».

Кафедра имеет лицензионные соглашения с ведущими производителями программного и аппаратного обеспечения [1]. Научно-техническая база кафедры соответствует международным стандартам. При организации обучения используется новейшее оборудование и программное обеспечение. Предусмотрена возможность выхода в Internet.

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

Основным документом, регламентирующим деятельность кафедры, является «Положение о кафедре».

Основными задачами кафедры являются:

·  подготовка, переподготовка и повышение квалификации специалистов с высшим образованием и научно-педагогических кадров высшей квалификации по профилю кафедры по лицензированным образовательным программам;

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

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

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

Основные функции кафедры:

1. Разработка учебных планов специальностей и направлений.

2.      Формирование преподавателями рабочих программ по дисциплинам.

.        Разработка учебно-методических материалов.

.        Расчет нагрузок ППС.

.        Формирование отчетов по научно-исследовательской и учебно-методической работе.

.        Взаимодействие с предприятиями, организациями, а также с другими вузами (российскими и зарубежными).

На данный момент в университете существует система управления учебными процессами ВУЗа - АСУ ВУЗ. Создание, поддержка и улучшение подсистем данной системы является основной функцией подразделения АСУ ВУЗ.

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

Основными факторами, обеспечивающими эффективное человеко-машинное управление, являются:

·  повышение верности информации и оперативности обработки данных;

·        возможность практического применения математических моделей и компьютеров в управлении;

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

·        уменьшение неопределенности в процессах управления вследствие упорядочения деятельности подразделений Вуза и предоставления администрации достаточно полной и удобной в использовании информации;

·  совершенствование взаимодействия подразделений Вуза в результате одинаковой интерпретации данных и применения средств связи с базами данных.

В области управления и обеспечения деятельности университета АСУ ВУЗ решает следующие задачи:

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

·        получение быстрых ответов на запрос руководителя любого ранга;

·        ускорение подготовки и прохождения документов и осуществление действенного контроля ее исполнения.

Рисунок 1.1 Схема взаимодействия подразделений ПГТУ в процессе распределения нагрузки на кафедре

Процесс распределения нагрузки на кафедре предполагает взаимодействие кафедры с подразделениями УМУ, а именно АСУ ВУЗ, Бюро составления расписания, Отделом планирования учебного процесса, и с профессорско-преподавательским составом кафедры. Данное взаимодействие представлено на рисунке 1.1, на примере кафедры ИТАС Электротехнического факультета.

В конце года из подразделения АСУ ВУЗ на кафедру приходить форма РНК. По данной форме заведующий кафедрой распределяет учебную нагрузку и формирует документы, которые отправляются в соответствующие подразделения УМУ. Преподаватели также участвуют в процессе распределения нагрузки на кафедре, заполняя Выписки, форму «Нагрузка преподавателей» и предъявляя требования (например, преподаватель может проводить занятия только в определенный день и / или в определенное время).

Рисунок 1.2 Схема взаимодействия разрабатываемой подсистемы с другими подсистемами АСУ ВУЗ

В свою очередь на фоне существующего информационного комплекса разрабатываемая подсистема будет иметь место между подсистемой «Учебные планы» и «Расписание». В данном проекте подсистема распределения нагрузки кафедры рассматривается как интегрированная в информационный комплекс АСУ ВУЗ. Посмотреть взаимосвязь этой подсистемы с другими подсистемами комплекса можно на рисунке 1.2.

 

.2 Анализ известных подходов к решению проблемы


В данном пункте рассмотрены следующие вопросы:

1. Существующее на кафедре ИТАС программное обеспечение распределения нагрузки на кафедре:

·  приложение, написанное на базе MicroSoft Excel;

·        приложение, реализованное в Delphi 7.

2. Информационные системы, предлагаемые другими ВУЗами страны:

·  Подсистема «Расчет учебной нагрузки профессорско-преподавательского состава и распределение по кафедрам ВУЗа», автор Щербакова А.А., 4 курс, специальность «Информационные системы», Карагандинский университет «Болашак»; [5]

·        Информационная система «Распределение учебной нагруки преподавателям кафедры» Манухина Ольга Валерьевна (ov@zbp.ru), Скворцова Ирина Александровна Забайкальский государственный педагогический университет, г. Чита. [6]

3. Профессиональные информационные системы:

·  ДекАрт - комплекс программного обеспечения для автоматизации административной работы аспирантур, деканатов, кафедр ВУЗов. [7].

Существующие на кафедре ИТАС программное обеспечение распределения нагрузки на кафедре. На данный момент на кафедре существует две системы распределения нагрузки. Эти системы - результат попыток реализации информационной системы. Первый вариант реализован в программном обеспечении Microsoft Excel, который основан на применении макросов. Второй вариант - в среде программирования Delphi. Однако эти системы имеют в себе определенный перечень минусов. Но сначала о плюсах. Обе эти системы позволяют:

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

·        при распределении нагрузки видеть итоговые данные в динамическом режиме, такие как суммарное значение нагрузки в часах для всех видов занятий, суммарное значение ставок преподавателей;

·        в первом варианте за счет связывания файлов, а во втором - за счет использования таблиц баз данных, обеспечивается целостность информации;

·        распечатать стандартные отчеты, а именно Отчет и Учебные поручения для каждого преподавателя;

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

·        выходные документы сохраняются каждый в отдельном документе.

При этом каждая из программ имеет свои недостатки.

Минусы программы, реализованной в MicroSoft Excel:

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

2.      Для того чтобы посмотреть различные отчеты необходимо открывать новый документ. Что приводит к потере рабочего времени лишь за счет обращения к приложению операционной системы Windows - explorer.exe.

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

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

Минусы программы на Delphi:

1. В списке выбора преподавателей их фамилии не сортируются, что усложняет поиск по списку.

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

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

.        Часы на преподавателей вводятся руками, причем на каждый вид нагрузки отдельно. Нет возможности присвоить преподавателю часы по всем нагрузкам нажатием одной кнопки. Предложение: отмечать те виды нагрузки, которые нужно (не нужно) вводить и прикреплять оставшуюся информацию нажатием одной кнопки.

.        Часы на консультации, как правило, высчитываются относительно плана, а не предоставляются вместе с нагрузкой. В программе же эти часы нужно вводить. Предложение: рассчитывать часы на консультации автоматически, а также предоставить возможность пользователю самому устанавливать какой процент от плана они будет составлять.

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

Информационные системы, предлагаемые другими ВУЗами страны. С другой стороны по данным сети Internet можно сделать вывод, что практически каждый ВУЗ создает свою информационную систему, предназначенную для распределения нагрузки на кафедре. Этот трудоемкий процесс очень сложно описать математически ввиду того, что нужно учитывать очень большое количество вхождений информации и условий. К таким относится профессорско-преподавательский состав, который может изменяться во времени и, согласно которому, предъявляются требования к распределению основной нагрузки. Такие вопросы решить очень сложно, так как нужно учитывать индивидуальность каждого преподавателя и вероятно его статус на кафедре, что предполагает разработку усложненной комплексной системы либо использование экспертной составляющей (в данном случае заведующего кафедрой). Первая из систем, представленных ранее, а именно подсистема «Расчет учебной нагрузки профессорско-преподавательского состава и распределение по кафедрам ВУЗа», предполагает наличие следующих функций:

·  проводится дополнительный контроль по семестрам на число курсовых работ и курсовых проектов, число зачетов и экзаменов, на сумму аудиторных занятий в неделю и т.д.;

·        система оперативно сообщает обо всех отклонениях от нормативных пределов, установленных Госстандартом, а также позволяет распечатать протокол разногласий;

·        полученная база графиков учебного процесса используется для расчета штатов ППС университета и кафедры;

·        при расчете штатов ППС учитываются аудиторные занятия, руководство практикой, аспирантурой, докторантурой, участие в государственных аттестационных комиссиях и т.д.;

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

·        на экран выводятся предупреждающие сообщения о превышении нагрузки преподавателя выше ставки, осуществляет контроль за общей учебной нагрузкой кафедры;

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

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

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

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

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

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

·              выбор и автоматическое занесение данных из общего в индивидуальный план преподавателя с одновременным пересчетом его итоговой нагрузки. Выбор осуществляется из еще оставшейся нераспределенной нагрузки;

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

·              быстрый поиск необходимой информации по какому-либо критерию;

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

·              резервное копирование и восстановление данных;

·              использование встроенной справочной системы.

Но ни по одной из данных систем нет полной информации, которая позволила бы судить о ее преимуществах и недостатках, которые могут также скрываться в не эргономичности программы. Единственный недостаток, который виден из перечисленных функций систем, это то, что первая система не поддерживает вывод выходных документов на печать, либо импорте этих документов в текстовые или табличные редакторы (например, MicroSoft Excel, Word).

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

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

·                    решить задачу оперативного учета в аспирантурах и деканатах ВУЗов;

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

·        формировать учебные планы и распределять нагрузку. Автоматически отображать учебную нагрузку в личном деле преподавателя, УВП, аспиранта, докторанта и др. Вести учет научного руководства преподавателями;

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

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

·  автоматизировать процесс зачисления, восстановления, отчисления, а также назначения стипендий и грантов;

·        контролировать поступление и расходование денежных средств на обучение. Проводить финансовый мониторинг подразделений в соответствии с организационно-учебной структурой ВУЗа (факультета);

·        подготавливать отчеты для передачи в вышестоящие организации.

Функция распределения нагрузки на кафедре в данной системе выполнена как модуль «Учебная нагрузка» позволяет формировать текущую учебную нагрузку и распределять ее по преподавателям.

Однако данная система имеет и недостатки, первое и на данный момент самое важное на фоне развивающегося экономического кризиса в стране - это оплата комплекса. По подсчетам согласно данным, представленным на сайте фирмы, для первоначального приобретения системы требуется уплатить 3000 рублей, если требуется доработка отчетов, то это еще 1000 рублей, итого не более 4000. Но это лишь потому, что первый месяц аренды данного комплекса бесплатен. Все последующие месяцы необходимо будет оплачивать аренду, которая на данный момент составляет 3000 рублей в месяц без учета налогов. Таким образом, за пользование программой в течение одного года придется платить 12 мес. * 3000 руб. = 36000 рублей (без налогов).

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

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

 


1.3 Требования к подсистеме

информационный подсистема математический интерфейс

Требования к подсистеме в целом

Общие требования к подсистеме:

1.      Подсистема должна обеспечивать занесение и использование формы «Расчет учебной нагрузки на кафедре» в электронном виде.

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

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

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

.        Подсистема должна обеспечивать вывод основных документов на печать.

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

Требования к структуре и функционированию подсистемы

Подсистема распределения учебной нагрузки на кафедре должна предоставлять пользователям следующие возможности:

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

·        рассчитывать время на консультации и объем ставок с учетом требований, предъявляемых Распределителем. Распределитель устанавливает коэффициенты расчета;

·        устанавливать коэффициенты расчета количества часов на консультации и объемов ставок;

·        формировать потоки групп для вида нагрузки - лекции;

·        определять и закреплять подгруппы за видом занятий - лабораторные работы;

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

·        вести справочник аудиторий;

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

·        вести справочник преподавателей;

·        вносить фактические данные о выполнении учебной нагрузки преподавателей;

·        просматривать и печатать форму «Расчет нагрузок кафедры на ____/__ год по трудоемкости дисциплин»;

·        просматривать и печатать формы «Выписка из учебного плана»;

·        просматривать и печатать формы «Нагрузка преподавателя»;

·        просматривать и печатать форму «Отчет о выполнении учебной нагрузки преподавателей Кафедры ИТАС за _____-_____ учебный год»;

·        просматривать и печатать форму «Проект штатного расписания ППС на _____ - _____ учебный год по кафедре _____»

·        экспортировать выходные документы в стандартное ПО;

·        копировать расчеты учебной нагрузки предыдущих лет.

Требования безопасности

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

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

Уровни освещенности рабочих мест должны обеспечивать комфортные условия работы и соответствовать установленным нормам.

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

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

Требования информационной безопасности

Вследствие того, что работы подсистемы обеспечивается по сетям Internet, необходимо обеспечить информационную безопасность программы. Таким образом, необходимо ввести функцию авторизации и последующей аутентификации пользователей при обращении к функциям системы. Всю информацию, передаваемую по сетям и несущую в себе значимые для подсистемы данные, необходимо шифровать согласно ГОСТ 28147-89.

Требования к эргономике и технической эстетике

Требования текущего раздела не распространяются на интерфейс пользователя общесистемных программных средств, а относятся лишь к разрабатываемым Исполнителем АРМ АИС.

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

Для наиболее частых операций должны быть предусмотрены «горячие» клавиши.

Организация графического пользовательского интерфейса должна препятствовать ошибочным действиям пользователей, в том числе:

Пользователь должен иметь возможность контролировать ввод данных:

§  просматривать введенные данные;

§  производить корректировку введенных данных;

§  отменить ввод данных.

При вводе должны максимально использоваться списки допустимых значений.

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

Программное обеспечение подсистемы

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

Предпочтительной является клиент серверная технология.

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

Базовое программное обеспечение должно поддерживать и использовать стандартные сетевые протоколы передачи данных.

Для запуска программы использовать браузер, желательно использовать Mozilla FireFox 3.0.11. В других браузерах корректное отображение страницы не гарантировано.

Техническое обеспечение подсистемы

В состав комплекса технических средств должны входить:

·        сервер баз данных на базе Oracle;

·        рабочие станции;

·        периферийное оборудование.

Количественный и качественный состав технических средств Системы должен быть определен на стадии «Технический проект».

АС должна быть построена на базе одного сервера данных. Минимальные характеристики сервера баз данных:

a)      возможность использования RAID-0 для жестких дисков с целью увеличения надежности;

b)      процессор Intel Celeron от 4 ГГц;

c)       объем оперативной памяти от 3 Гб;)      объем жестких дисков от 80 Гб.

Минимальные характеристики рабочей станции:

a)      процессор Intel Celeron от 1,4 ГГц;

b)      объем оперативной памяти от 512 Мб;

c)       объем жестких дисков от 20 Гб.

2. Специальная часть

 

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


Для определения информационных потоков системы как нельзя лучше подходит методология DFD (Data Flow Diagramming).

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

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

Наличие в диаграммах DFD элементов для обозначения источников, приемников и хранилищ данных позволяет более эффективно и наглядно описать процесс документооборота [8].

На основании собранной информации по бизнес-процессу распределения нагрузки на кафедре строится модель «AS-IS» («как есть»). Модель «как есть» отображает существующее состояние рассматриваемого бизнес процесса.

Диаграммы модели имеют древовидную структуру. Вершиной этой структуры является контекстная диаграмма (см. рис. 2.1).

Рисунок 2.1. Контекстная диаграмма бизнес-процесса распределения нагрузки на кафедре

Диаграмма построена согласно нотации Гейна-Сарсона, представляет собой общее описание системы и ее взаимодействия с внешней средой. На данной диаграмме хорошо видны подразделения ПГТУ, участвующие в процессе распределения учебной нагрузки на кафедре. Таким образом, в процессе задействованы Бюро расписания, Отдел планирования учебного процесса и Преподаватели кафедр ВУЗа. Отделы ОПУП является основным «поставщиком» информации, необходимой для процесса распределения. Минус такой диаграммы в том, что не видно основных механизмов процесса распределения учебной нагрузки.

Таблица 2.1. Описание объектов контекстной диаграммы

Блок

Определение

Вход

Выход

Распределение нагрузки


Электронный файл РНК

Форма «Нагрузка преподавателя» по плану



Выписки из учебного плана (незаполненные)

Выписки из учебного плана (заполненные)




Форма «Нагрузка преподавателя» по факту




Форма Отчет

АСУ ВУЗ

Подразделение ПГТУ, входит в состав УМУ


Файл РНК




Форма «Выписка из учебного плана»

УМУ. БР


Форма «Выписка из учебного плана»


УМУ. ОПУП


Форма Отчет


Преподаватель


Форма «Нагрузка преподавателя» по плану



После описания бизнес-процесса в целом производится функциональная декомпозиция контекстной диаграммы (см. Приложение А).

Процесс распределения учебной нагрузки на кафедре рассматривается с точки зрения заведующего кафедрой, так как непосредственно занимается распределением учебной нагрузки. Контекстная диаграмма была декомпозирована на три основных процесса: «Распределить нагрузку», «Заполнить документы» и «Сформировать Отчет».

В данном случае рассматривается весь процесс распределения учебной нагрузки за год. Хотя сам процесс условно можно разделить на два этапа. На первом распределяется нагрузка на следующий год, составляются формы «Нагрузка преподавателя», заполняются «Выписки из учебного плана» для последующей отправки в Отдел составления расписания. На втором этапе заполняется фактическая нагрузка за год прошедший и, согласно, данным по фактической и плановой нагрузке составляется Отчет о работе кафедры за предыдущий учебный год [9].

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

§  ППС - справочник;

§  аудиторный фонд - справочник;

§  план прошлого года;

§  фактическая нагрузка преподавателя;

§  плановая нагрузка преподавателя;

§  еженедельная нагрузка.

Декомпозируем процесс «Распределить нагрузку» (см. Приложение Б). Здесь рассматривается распределение учебной нагрузки между преподавателями. Фактически это закрепление дисциплин за преподавателями.

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

При распределении нагрузки заведующий кафедрой руководствуется формой «Расчет учебной нагрузки кафедры», которая формируется в Отделе АСУ ВУЗ, и отправляется на кафедру в печатном виде.

Таблица 2.2. Описание объектов процесса «Распределение нагрузки по преподавателям»

Блок

Описание

Входные данные

Выход данные

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


Электронный файл РНК

Форма «Нагрузка преподавателя» по плану



План прошлого года




Профессорско-преподавательский состав


1 - Распределить часы между преподавателями

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

Электронный файл РНК

Предварительное распределение по времени основных нагрузок



План прошлого года




ППС


2 - Посчитать время на консультации

Консультации рассчитываются как% от общего количества часов преподавателя

Предварительное распределение по времени основных нагрузок

Предварительное распределение нагрузки без учета ставок преподавателей

3 - Пересчитать ставки

Ставки рассчитываются в зависимости от часов и видов занятий

Предварительное распределение нагрузки без учета ставок преподавателей

Форма «Нагрузка преподавателя»



Электронный файл РНК


АСУ ВУЗ

Подразделение УМУ



План прошлого года

При распределении нагрузки кафедры используются данные с прошлого года



ППС

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



Форма «Нагрузка преподавателя» по плану

Формируется на основании распределенной нагрузки в двух экземплярах


 


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

Из диаграммы следует, что можно выделить еще два распределения: аудиторное и еженедельное. Аудиторное распределение предполагает собой закрепление аудиторий за видами занятий по дисциплине. Еженедельное распределение предполагает указание количества часов в неделю проведения занятий. Также заметим, что преподавателю на втором этапе распределения нагрузки предстоит заполнить форму «Нагрузка преподавателя» данными по фактической нагрузке, а заведующему кафедрой использовать эти данные при составлении отчета. Что занимает значительное количество времени, которое можно сократить за счет автоматического заполнения форм «Нагрузка преподавателя», так как в большинстве случаев нагрузка преподавателя за год изменяется не значительно. Время сократится за счет автоматизации процесса составления отчета, так как заведующему кафедрой не нужно будет тратить время на заполнение формы Отчета и выполнения математических операций для расчета итогов.

Таблица 2.3. Описание объектов процесса «Заполнить документы»

Блок

Описание

Вход

Выход

Заполнить документы

Заполнение всех документов процесса

Выписки из учебного плана (незаполненные) (АСУ ВУЗ)

Выписки из учебного плана (заполненные) (УМУ. БР)



Форма «Нагрузка преподавателя» по плану

Формы «Нагрузка преподавателя» по факту (Кафедра)



Аудиторный фонд


1 - Заполнить данные о нагрузке


Выписки из учебного плана (незаполненные) (АСУ ВУЗ)

Выписка из учебного плана (данные о нагрузке)



Форма «Нагрузка преподавателя» по плану


2 - Заполнить данные об аудиториях


Выписка из учебного плана (данные о нагрузке)

Выписка из учебного плана (данные об аудиториях)



Аудиторный фонд


3 - Календарный план


Форма «Нагрузка преподавателя» по плану

Выписка из учебного плана (заполненная)



Выписка из учебного плана (данные об аудиториях)


4 - Внести фактические данные


Форма «Нагрузка преподавателя» по плану

Форма «Нагрузка преподавателя» по факту

5 - Утверждение документов


Выписка из учебного плана (заполненная)

Выписка из учебного плана (заполненная)



Форма «Нагрузка преподавателя» по факту

Формы «Нагрузка преподавателя» по факту



Форма «Нагрузка преподавателя» по факту


АСУ ВУЗ

Подразделение УМУ



Аудиторный фонд

Используется при заполнении Выписок



Преподаватель

Получает форму Нагрузка и заполняет Выписки и Нагрузку по факту


 


Модель построена на основании документации, используемой кафедрой в процессе распределения учебной нагрузки на кафедре (см. главы «Входная информация», «Выходная информация»), опроса и анализа действий заведующего кафедрой ИТАС. Согласно построенной модели было выявлено:

§  основная часть времени тратится на заполнение документов (около 1/2 всего времени процесса распределения учебной нагрузки на кафедре);

§  многие данные, используемые при заполнении документов, повторяются;

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

§  трудоемкость лекций больше трудоемкости практических или лабораторных работ.

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

Форма «Выписка из учебного плана» печатается в двух экземплярах, один остается на кафедре, другой - отправляют в БР. Посмотреть документооборот в процессе распределения можно в Приложении Г [10].

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

 

.2 Входная и выходная информация процесса распределения нагрузки на кафедре


Процесс распределения нагрузки на кафедре предусматривает не только расчеты часов, ставок, разброс дисциплин по преподавателям, но и обмен документами с подразделениями ПГТУ, этими подразделениями являются АСУ ВУЗ и УМУ (бюро составления расписания и отдел планирования учебного процесса).

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

Таблица 2.4. Виды документов, которые используются в процессе распределения нагрузки

Вид эксплуатационного документа

Содержание эксплуатационного документа

Форма «Расчет нагрузок кафедры на ____/__ год по трудоемкости дисциплин»

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

Форма «Нагрузка преподавателя»

Нагрузка преподавателя на год в часах и общая информация по преподавателю (кафедра, факультет, фамилия преподавателя, разряд и должность), а также дисциплины, факультет и специальность, которым будет преподаваться эта дисциплина. Данный документ заполняется в соответствии с учебным планом кафедры и предоставляется преподавателю, согласно данным из этого документа заполняется выходная форма «Выписка из учебного плана». Форма «Нагрузка преподавателя» формируется в двух экземплярах: один - отправляется преподавателю, второй - остается на кафедре. К концу учебного года составляется форма «Нагрузка преподавателя» по факту.

Форма «Выписки из учебного плана»

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

 Форма «Отчет о выполнении учебной нагрузки преподавателей Кафедры ИТАС за _____-_____ учебный год»

В конце учебного года на основе двух документов: «Нагрузка преподавателя» по плану и «Нагрузка преподавателя» по факту составляется итоговый Отчет кафедры в двух экземплярах, один отправляется в Отдел планирования учебного процесса, второй экземпляр остается на кафедре. Данный отчет отражает распределение учебной нагрузки между преподавателями кафедры.

Форма «Проект штатного расписания ППС на _____-______ учебный год по кафедре ______»

В таблице отображено количество штатных единиц за прошедший учебный год («Факт») и на планируемый год («Проект») дифференцированных по должностям. Составляется для ОПУП и им же утверждается.


Внешний вид документов можно посмотреть в Приложениях Е - Л соответственно. Документооборот кафедры в процессе распределения нагрузки кафедры предполагает обмен документами между подразделениями ПГТУ: кафедрой, Бюро составления расписания и Отделом планирования учебного процесса. В рамках кафедры документооборот этого процесса предполагает участие заведующего кафедрой и преподавателя, причем преподавателя не только как механизма процесса распределения нагрузки, но и как получателя выхода данного бизнес-процесса.

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

Таблица 2.5. Комплектность формы «Расчет нагрузок кафедры на ____/__ год по трудоемкости дисциплин»

№ п/п

Обозначение

Определение

Значение

Примечание

1.

Факультет

Факультет, на который отправляется форма РНК для выполнения нагрузки.

Строковое значение

Полное название и аббревиатура

 2.

Кафедра

Кафедра, на которую отправляется форма РНК для выполнения нагрузки.

Строковое значение

Полное название и аббревиатура

3.

Наименование дисциплины

Перечень дисциплин, которые входят в нагрузку кафедры.

Строковое значение

Наименование дисциплины полностью. Все дисциплины пронумерованы

4.

Тип

Тип дисциплины. Существуют следующие типы дисциплин: специальная дисциплина (СД), общая профилирующая (ОПД), естественно - научная (ЕН), государственная специальная экзаменационная (ГСЭ).

Строковое значение

Аббревиатура

5.

Труд. (час)

Трудоемкость по каждой дисциплине.

Целое число


6.

Факультет/ специаль-ность

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

Строковое значение

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

7.

Курс

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

Целое число


8.

Студентов

Количество студентов курса - получателя. Указывается в формате «количество студентов бюджета + количество студентов контракта».

Строковое значение («Целое» + «Целое»)


 9.

Групп

Количество групп курса-получателя. Указывается в ячейке напротив соответствующей дисциплины.

Целое число


10.

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

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

Целое число

Формат одинаков для всех данных


Лекции

Лекция



 

Прак зан.

практические занятия




Лаб. зан.

лабораторные занятия




Экзамены

Экзамены




Зачеты

Зачеты




Курс. проек

курсовое проектирование




Кн.р. заоч.

контрольные работы заочников




Учеб. практ

учебная практика




ВКР

Выпускные квалификационные работы




ГАК

Государственная академическая комиссия




Рец. ВКР

Рецензирование выпускных квалификационных работ




Итого нагр.

Здесь указывается общая нагрузка по дисциплине суммированная в часах по всем видам нагрузок.



 11.

Количество ставок

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

Дробное число

Для всех данных


бюдж.





комм.




12.

Итого

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

Целое число



Данный документ создается на очную форму обучения и заочную отдельно.

Данные в таблице сгруппированы по семестрам, а каждый семестр по следующим параметрам: дисциплины; дисциплины магистров; практики; ВКР, ГАК; ВКР, ГАК (часовой фонд). После каждого блока сгруппированных данных считается общее количество часов по видам занятий.

Таблица 2.6. Комплектность формы «Выписка из учебного плана»

№ п/п

Обозначение

Определение

Значение

Примечание

1.

ПГТУ

Название университета.

Строковое значение

Сокращение

2.

2008/09 уч. год

Учебный год, на который составляется нагрузка.

Строковое значение


3.

(2202 АСУ 2001 г.)


Строковое значение


4.

АСУ-ВУЗ

Подразделение, которое печатает формы.

Строковое значение


5.

Ф.П2-1

Код формы.

Строковое значение


6.

Факультет

Факультет, на который распределяется нагрузку.

Строковое значение

Полное название и аббревиатура

 7.

Кафедра

Кафедра, на которую распределяется нагрузка

Строковое значение

Полное название и аббревиатура

8.

Дисциплина

Дисциплина, которая определена как нагрузка

Строковое значение

Полное название

9.

Специальность

Код специальности

Строковое значение

Сокращение

10.

Группы

Код групп и количество через запятую

Строковое значение

Сокрашение

11.

Семестр

Порядковый номер семестра (через запятую, если их несколько)

Целое


12.

Курс

Номер курса, который является потребителем дисциплины как услуги

Целое


13.

Факультет

Указывается код факультета, к которому прикреплена группа-получатель

Строковое значение


14.

Форма обучения

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

Строковое значение

Обозначение стандартное

15.

УП

Учебный план. Здесь же ставится индекс по учебному плану

Строковое значение

Имеет следующий вид: СД.ДС.01

16.

Трудоемкость (часов)

Подсчитывается трудоемкость по дисциплине, дифференцирована по видам нагрузок

Целое



Всего

Общее значение трудоемкости

Целое



Аудиторные занятия

Для удобства работы диспетчера, составляющего расписание

Целое



из них

Сумма по видам нагрузок

Целое



Лекции

Кол-во часов по лекциям

Целое



Практч. занятия

Кол-во часов по практическим занятиям

Целое



Лаборат. занятия

Кол-во часов по лабораторным занятиям

Целое



Самост. работа

Кол-во часов на самостоятельную работу студентов для данной дисциплины

Целое



Контрольн. работ

Кол-во часов на контрольные работы для данной дисциплины

Целое


 17.

Распределение занятий

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


Часы в неделю устанавливаются в следующем виде: первая строка - количество часов по лекциям, вторая - по практикам, третья - по лабораторным работам.

18.

Контингент

Данные о студентах. Кол-во групп контингента по данной дисциплине. Кол-во студентов в формате «количество студентов бюджета + количество студентов коммерции». Номер группы, число студентов (может быть несколько групп).

Целое

Данные по числу студентов заносятся в таблицу в формате «целое число + целое число».

19.

Количество часов

Данные в таблицу заносятся в часах

Целое


20.

Вид работы

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

Строковое значение

Сокращение

21.

1 Семестр, 2 Семестр

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




до смены, после смены

До смены расписания, после смены расписания.




неделя

Номер недели. В университете установлены две рабочие недели. Напротив каждой недели и вида работы устанавливается количество часов в неделю.




Количество недель

Количество недель, за которые преподаватели должны провести соответствующий вид занятий по данной дисциплине.



 

Всего часов

Указывается общее количество часов по виду работы.

Целое



Вид проверки

Указывается вид проверки на соответствующий вид работы.

Строковое значение


22.

Номер в расчете нагрузок кафедры

Номер порядковый дисциплины в форме РНК.

Целое


23.

Преподаватели

В данной части документа указываются данные о преподавателях.




Лектор/семестр

Вносятся преподаватели, которым предписано вести лекции по дисциплине. Может быть проставлен номер лекционной аудитории.

Строковое значение

В разные недели могут вести разные преподаватели. При этом форма записи: <Ф.И.О. преподавателя> - <номер недели>.


Ассистент/ семестр

Вносятся преподаватели, которым предписано вести практические или лабораторные занятия по дисциплине.

Строковое значение


 Продолжение таблицы 2.6

Лаборатория/ вместимость

Указывается вместимость лаборатории, также может быть указана лаборатория проведения занятий.

Строковое значение



Заведующий кафедрой

Предусматривается место для подписи заведующего кафедрой.

Строковое значение



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

Выходная информация представляет собой перечень отчетов. После распределения нагрузки преподавателей определяется три основных выходных: «Отчет о выполнении учебной нагрузки преподавателей Кафедры ИТАС за _____-_____ учебный год», «Выписка из учебного плана» и «Нагрузка на преподавателя» (далее Нагрузка).

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

Таблица 2.7. Комплектность формы «Нагрузка преподавателя»

№ п/п

Обозначение

Определение

Значение

Примечание

1.

Год

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

Строковое значение

Указывается в форме учебного года (например, 2007/2008).

2.

Кафедра

Кафедра, на которой числится преподаватель.

Строковое значение

Аббревиатура

3.

Факультет

Факультет, к которому прикреплена кафедра.

Строковое значение

Название полностью

4.

Семестр

Указывается семестр, на который распространяется нагрузка.

Строковое значение


5.

Преподаватель

Фамилия, имя, отчество преподавателя.

Строковое значение


6.

Разряд

Указывается разряд преподавателя.

Целое число


7.

Должность

Занимаемая преподавателем должность.

Строковое значение


8.

Порядковый номер строки.

Целое число


9.

Наименование дисциплины

В этом поле пишутся названия дисциплин, которые являются учебным поручением для преподавателя.

Строковое значение


10.

Факультет

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

Строковое значение

Аббревиатура

11.

Специальность

Указывается специальность, которая является получателем дисциплины как услуги.

Строковое значение

Сокращение

12.

Количество

Сюда вносят следующие поля:




Курс

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

Целое число



Групп

Количество групп курса-получателя. Указывается в ячейке напротив соответствующей дисциплины.

Целое число


 

Студентов (бюджет)

Количество студентов курса - получателя, учащихся на бюджете.

Целое число



Студентов (контракт)

Количество студентов курса - получателя, учащихся на контракте.

Целое число


13.

Количество часов по видам

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

Целое число

Виды нагрузки в данном документе содержат все, которые были представлены в форме РНК и консультации. Часы указываются как целые числа.

14.

Примечание

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

Строковое значение


15.

Итого

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

Целое число


16.

Заведующий кафедрой

Ставится фамилия заведующего кафедрой и предусматривается место для подписи.

Строковое число


17.

Преподаватель

Ставится фамилия преподавателя и предусматривается место для подписи.

Строковое число


18.

Дата

Предусматривается место для проставления даты.

Дата



Данные сгруппированы по семестрам, после каждого подведен предварительный итог.

По данным из формы Нагрузка заведующий кафедрой и преподаватели заполняют Выписки, которые далее отправляются в БР. Преподаватель также должен заполнить форму Нагрузка «по факту», которая далее используется при формировании итогового отчета.

Отчет содержит соответствие количества часов по разным видам занятий по преподавателям.

Таблица 2.8. Комплектность формы «Отчет о выполнении учебной нагрузки преподавателей Кафедры ИТАС за _____-_____ учебный год»

Обозначение

Определение

Значение

Примечание

1.

Фамилия, имя, отчество

Здесь указываются основные данные преподавателя.

Строковое значение

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

2. 

Учебные поручения (в часах)

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

Целое число

лекции

Лекция;


практич. занятия

практические занятия;


лаборат. занятия

лабораторные занятия;


экзамены

Экзамены;


зачеты

Зачеты;


Курсов. Проектир.

курсовое проектирование;


Консульт.

Консультации преподавателя;

Как правило, 10% от общего количества часов

практика

учебная практика;


диплом. проектир.

Выпускные квалификационные работы;


ГАК

Государственная академическая комиссия;


рецензир. ВКР

Рецензирование выпускных квалификационных работ;


проверка контр. работ

контрольные работы заочников.


ВСЕГО

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

 


2.3 Разработка модели «как должно быть»


Один из способов определения внешних и внутренних информационных связей - структурный анализ.

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

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

Разработка функциональной модели желаемой системы (модель «как должно быть»)

Для описания логики взаимодействия информационных потоков более подходит IDEF3, называемая также workflow diagramming, - методология моделирования, использующая графическое описание информационных потоков, взаимоотношений между процессами обработки информации и объектов, являющихся частью этих процессов [12].- это метод, имеющий основной целью дать возможность аналитикам описать ситуацию, когда процессы выполняются в определенной последовательности, а также описать объекты, участвующие совместно в одном процессе.может быть также использован как метод создания процессов. IDEF3 дополняет IDEF0 и содержит все необходимое для построения моделей, которые в дальнейшем могут быть использованы для имитационного анализа.

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

Рисунок 2.2 Контекстная диаграмма процесса «Распределение нагрузки на кафедре» с применением информационной системы

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

Здесь показаны основные отчеты, которые выдает система. Эти отчеты утверждаются, и согласно бизнес-процессу «Распределение нагрузки на кафедре» отправляются в соответствующие инстанции.

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

Рисунок 2.3 Диаграмма верхнего уровня процесса «Распределение нагрузки на кафедре» с применением информационной системы

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

Таблица 2.9. Описание стрелок диаграммы верхнего уровня

Блок

Вход

Выход

Механизм

1 - импортирование данных

Файл РНК

Расчетные данные

Информационная система

2 - распределение часов

Расчетные данные

Почасовая нагрузка

Заведующий кафедрой

3 - распределение аудиторий

Расчетные данные

Аудиторная нагрузка

Заведующий кафедрой

4 - распределение еженедельной нагрузки

Почасовая нагрузка

Еженедельная нагрузка

Преподаватель

5 - введение фактической нагрузки

Почасовая нагрузка

Фактическая нагрузка

Преподаватель

6 - формирование выходных документов

Аудиторная нагрузка

Отчет

Информационная система


Почасовая нагрузка

Формы «Выписка из учебного плана»


 Продолжение таблицы 2.9

Еженедельная нагрузка

Формы «Нагрузка преподавателя» плановая



Фактическая нагрузка

«Проект штатного расписания ППС»



Процесс распределения часов. Во время распределения почасовой нагрузки заведующий кафедрой может добавлять данные в справочник «Преподаватель». Алгоритм действий заведующего кафедрой представлен в Приложении М. Аналогично представлен в Приложении Н алгоритм действий заведующего кафедрой в процессе распределения аудиторий. Если при распределении аудиторий нужной аудитории нет в списке, ее можно создать в системе, либо выбрать другую. В Приложении O представлен алгоритм действий пользователя при внесении фактической нагрузок соответственно.

Декомпозируем процесс «Формирование выходных документов». Он декомпозируется на основании методологии IDEF3 для того, чтобы показать использование информационных ресурсов системой при формировании отчетов.

Рисунок 2.4 Диаграмма второго уровня. Процесс «Формирование выходных документов»

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

При этом на диаграмме имеются четыре блока синхронизирующего «И», J1, который собирает все данные, необходимые для формирования формы «Выписка из учебного плана», и J2, который собирает все данные, необходимые для формирования Итогового Отчета.

Проведя анализ построенных диаграмм, определяем пользователей подсистемы:

Таблица 2.10. Роли пользователей подсистемы и их функции

Роль

Функции

Распределитель (Составитель Отчета)

Распределение нагрузок: § дисциплинарное распределение; § аудиторное распределение; § распределение календарной нагрузки. Ведение справочников: § справочник преподавателей; § справочник аудиторий; Просмотр печать отчетов и документов: § «Расчет учебной нагрузки»; § «Нагрузка преподавателя»; § «Выписка из учебного плана»; § «Отчет по нагрузке кафедры»; § «Проект штатного расписания».

 Преподаватель

1. Распределение календарной нагрузки: 2. Просмотр и печать отчетов и документов: § «Нагрузка преподавателя»; § «Занятость преподавателя».

Администратор

Распределение нагрузок: § дисциплинарная нагрузка; § аудиторная нагрузка; § распределение календарной нагрузки. 2. Ведение справочников: § справочник преподавателей; § справочник аудиторий; 3. Просмотр и печать отчетов и документов: § «Расчет учебной нагрузки»; § «Нагрузка преподавателя»; § «Выписка из учебного плана»; § «Отчет по нагрузке кафедры»; § «Проект штатного расписания». 4. Регистрация пользователей.

Простой пользователь

1. Просмотр и печать отчетов и документов: § «Расчет учебной нагрузки»; § «Нагрузка преподавателя»; § «Выписка из учебного плана»; § «Отчет по нагрузке кафедры»; § «Проект штатного расписания».


Рассмотрим функции, которые доступны каждому из участников процесса.

Функции Распределителя нагрузки.

1.      Обеспечение полноты и избыточности данных в справочниках «Преподаватели кафедры» и «Аудиторный фонд».

2.      Указание пожеланий преподавателей по времени преподавания.

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

.        Распределение аудиторного фонда между дисциплинами.

.        Внесение календарной нагрузки преподавателей.

.        Контрольная проверка учебной нагрузки и Выписок.

.        Утверждение документов: учебной нагрузки и Выписок.

.        Изменение учебной нагрузки (как не утвержденной, так и утвержденной).

.        Ввод поправочных коэффициентов.

.        Заполнение данных по фактической нагрузке преподавателей (форма Нагрузка по факту).

.        Возможность добавления комментариев при заполнении Выписок.

.        Печать всех доступных в подсистеме документов. См. файл «Выходные документы подсистемы».

.        Для Выписок должна быть организована выборка по дисциплине.

.        Для Нагрузки должны быть организована выборка по преподавателю.

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

После проведения работ по распределению нагрузки, составляется итоговый Отчет о нагрузке кафедры. Функции составителя Отчета:

1.      Проверка данных, необходимых для составления Отчет, а именно распределение нагрузки плановое и фактическое.

2.      Составление итогового Отчета по нагрузке кафедры.

.        Контрольная проверка Отчета.

.        Печать документов: Нагрузка (по плану и по факту) и Отчет.

.        Отчет может печататься с выборкой по критерию семестр.

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

Преподаватель может изменять еженедельную нагрузку по дисциплинам, которые имеются в его листе нагрузок, редактировать свою фактическую нагрузку, просматривать форму «Нагрузка преподавателя».

В процессе распределения нагрузки может участвовать простой пользователь, ему позволено просматривать выходные формы. Простой пользователь не регистрируется в системе и входит, вводя данные: логин и пароль - «user» для обоих полей. Роль простого пользователя позволяет удовлетворить потребности диспетчера в просмотре форм «Выписка из учебного плана» и работника ОПУП в просмотре формы Отчет.

 


2.4 Построение даталогической модели


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

Одной из основных частей информационного обеспечения является информационная база. Информационная база (ИБ) представляет собой совокупность данных, организованная определенным способом и хранимая в памяти вычислительной системы в виде файлов, с помощью которых удовлетворяются информационные потребности управленческих процессов и решаемых задач. Разработка БД выполняется с помощью моделирования данных. Цель моделирования данных состоит в обеспечении разработчика ИС концептуальной схемой базы данных в форме одной модели или нескольких локальных моделей, которые относительно легко могут быть отображены в любую систему баз данных. Наиболее распространенным средством моделирования данных являются диаграммы «сущность-связь» (ERD).

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

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

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

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

Каждая сущность может обладать любым количеством связей с другими сущностями модели.

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

Логический уровень - это абстрактный взгляд на данные, когда данные представляются так, как выглядят в реальном мире, и могут называться так, как они называются в реальном мире, например «Постоянный клиент», «Отдел» или «Фамилия сотрудника». Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных может быть построена на основе другой логической модели, например на основе модели процессов. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД [15].

Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т.д.

Рисунок 2.5 Логическая модель базы данных подсистемы распределения учебной нагрузки на кафедре

Спецификацию на таблицы можно посмотреть в Приложении П.

Ввиду того, что в университете существует база данных на Oracle и именно ее предполагается использовать, стыкуем существующие таблицы с существующими в БД. Посмотреть получившуюся даталогическую модель можно на рис. 2.6.

Состав и описание таблиц, которые существуют в системе АСУ ВУЗ, можно посмотреть в документации к соответствующим частям базы данных [13, 14]. Далее рассмотрим структуру таблиц, которые необходимо будет создать.

Рисунок 2.6 Даталогическая модель базы данных подсистемы распределения учебной нагрузки на кафедре

Таблица 2.11. Описание таблицы «Выполняет» - Vipoln

R

Поле

Тип

Название

Примечание

¬

Kod_vipoln

NUMBER (10)

Код выполнения

#

®

yng

NUMBER (10)

Код нагрузки

NKR_NAG

®

KeyPrep

NUMDER (10)

Ключ преподавателя



Kol_hour

NUMBER (4)

Количество часов



StOnNag

DOUBLE (2,3)

Ставка по виду нагрузки



Plan_fact

NUMBER (1)

План_факт

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


Zakritie

NUMBER (1)

Закрытие

Закрыть для редакции


Таблица 2.12. Описание таблицы «Учебная неделя» - UchNed

R

Поле

Тип

Название

Примечание

¬

yng

NUMBER (10)

Код выполнения

#, NKR_NAG


NumWeek

NUMBER (2)

Номер недели



CountHour

NUMDER (2)

Количество часов в неделю



CountWeek

NUMBER (2)

Количество недель



Tip_week

DOUBLE (1)

Тип недели

«0» - до смены расписания, «1» - после смены расписания


Таблица 2.13. Описание таблицы «Преподаватели» - Prepod

R

Поле

Тип

Название

Примечание

¬

KeyPrep

NUMDER (10)

Ключ преподавателя

#, RAR_Prep, Prepod

®

ykf

NUMBER (10)

Ключ записи кафедры

SHR_RKF


Fam

NUMBER (25)




Name

NUMBER (25)




Otch

NUMBER (25)



®

KodShtat

INTEGER

Код штата

RAC_PrepShtat

®

KodDolg

INTEGER

Код должности

RAC_PrepDolg


Таблица 2.14. Описание таблицы «Предпочтения преподавателей» - PredPoch

R

Поле

Тип

Название

Примечание

®

KeyPrep

NUMDER (10)

Ключ преподавателя

RAR_Prep, Prepod


Hour1

NUMBER (2)

Время_с



Hour2

NUMBER (2)

Время_до



DayОfWeek

NUMBER (1)

День недели



NumWeek

NUMBER (1)

Номер недели

«1» - первая, «2» - вторая недели соответственно


TipPred

NUMBER (1)


Тип предпочтения


Таблица 2.15. Описание таблицы «Коэффициенты пересчета» - Koef_Sta

R

Поле

Тип

Название

Примечание

®

kng

NUMDER (10)

Ключ нагрузки

#

®

ykf

NUMBER (10)

Ключ записи кафедры

#


Koef

NUMBER (2,3)

Коэффициент перерасчета



Таблица 2.16. Описание таблицы «Аудиторный план» - AudPlan

R

Поле

Тип

Название

Примечание

®

yng

NUMDER (10)

Код нагрузки

#, NKR_NAG

®

KeyAud

INTEGER

Ключ записи аудитории

#, RAR_Aud


Таблица 2.17. Описание таблицы «Дисциплина_аудитория» - Disc_aud

R

Поле

Тип

Название

Примечание

®

kdn

NUMDER (10)

Код записи дисциплины

#, UP_CDS

®

KeyAud

INTEGER

Ключ записи аудитории

#, RAR_Aud


Таблица 2.18. Описание таблицы «Учебный поток кафедры» - UchPotKaf

R

Поле

Тип

Название

Примечание

®

ygr

NUMDER (10)

Код записи группы

#, KN_RGR

®

y_pot

INTEGER

Код потока

#, 0 - не поток


K_pgr

NUMBER (2)

Подгруппа



Таблица 2.19. Описание таблицы «Наименование потока» - PotokNaim

R

Поле

Тип

Название

Примечание

¬

y_pot

INTEGER

Код потока

#


N_pot

Полное наименование потока




Таблица 2.20. Описание таблицы «Пользователи» - Users

R

Поле

Тип

Название

Примечание

®

ykf

NUMBER (10)

Ключ записи кафедры

SHR_RKF

¬

Login

CHAR (10)

Псевдоним

#

¬

Parol

CHAR (10)

Пароль

#

®

KODPREP

NUMBER (10)

Ключ преподавателя

Prepod, RAR_Prep


ROL

NUMBER (2)

Роль

«0» - администратор, далее по убыванию

 

.5 Расчеты, производимые в подсистеме


Процесс распределения нагрузки строится на понимании распределяющего всей ответственности его действий. Программное средство является лишь помощником в самом процессе распределения нагрузки на кафедре [15]. Реализация информационной подсистемы автоматического распределения учебной нагрузки на кафедре сводилась бы к полномасштабным исследованиям предметной области, анализу человеческих характеристик пользователей и преподавателей, и, в конце концов, к созданию системы искусственного интеллекта с учетом всех аналитических данных и созданием искусственного разума, обладающего характеристиками Распределителя (см. пункт 2.3 Разработка модели «как должно быть»). Однако этот процесс не только весьма трудоемок, но и дорогостоящ, следовательно, выполнить его в рамках ВКР без соответствующего финансирования не представляется возможным.

Исходя из вышесказанного, можно говорить об автоматизации только части расчетов. Таким образом, Распределитель решает, какое количество часов дать преподавателю на выполнение, но программа способна выполнять простейшие расчеты. К таким относится:

·  вычисление количества времени на консультации;

·        суммирование ставок преподавателей;

·        пересчет ставок.

Первое следует из того, что в учебных планах нет ограничений на количество часов на консультации для дисциплины, и расчет данной величины УМУ не производит. Но на консультации по дисциплине должно отводиться не менее 10% от времени аудиторных нагрузок по данной дисциплине. Пользователю подсистемы предоставляется возможность ввода коэффициента расчета самостоятельно, в процентном соотношении в справочнике коэффициентов (см. пункт 2.6 Описание графического интерфейса пользователя). Следовательно, вводим следующую формулу расчета:

, где

сконс. [часов] - количество часов на консультации по дисциплине;

 [часов] - сумма часов на аудиторную нагрузку по дисциплине;

kконс. [%] - коэффициент консультаций, введенный пользователем в справочник коэффициентов.

Второе следует из понимания термина количество ставок преподавателя. Необходимо отображать для Распределителя, чтобы информировать, не превышает ли количество ставок преподавателя максимальное количество. Максимальное количество ставок для преподавателя определяется самим Распределителем. Введение автоматического анализа количества ставок преподавателя в подсистему может рассматриваться как желательная задача доработки подсистемы. Получаем формулу расчета:

, где

сстав. - общее количество ставок для преподавателя, по условию ;

 - ставка преподавателя по i-ому дисциплине.

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

, где

ст - общее количество ставок по дисциплине;

стi - ставка на определенный вид занятия по дисциплине;

ai - коэффициент пересчета:

, где

сi [часов] - количество часов по i-ому виду занятий;

ki - коэффициент пересчета, введенный пользователем.

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

 

.6 Описание графического интерфейса пользователя


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

На основании требований, предъявляемых пользователями подсистемы, и результатов анализа уже существующих решений был разработан макет интерфейса подпрограммы. Иерархию рабочих форм подсистемы можно посмотреть в Приложении Р. Для входа в подсистему пользователь обязан зарегистрироваться. Существует четыре основные роли подсистемы (см. пункт 2.3 Разработка модели «как должно быть). Согласно изначальной договоренности у ролей Администратор и Простой пользователь значения логина и пароля уникальны. Простой пользователь может попасть в подсистему, набрав в ячейках запроса логина и пароля слова «user» и «user». Администратор назначает пароль и логин самостоятельно, так как имеет доступ не только ко всем функциям подсистемы, но также и к базе данных.

Рассмотрим функции, которые доступны на формах программы. Функции программы рассматриваются на основании макетов представленных в Приложении С.

1.      Авторизация пользователей

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

Регистрация. Необходимо, если пользователь не зарегистрирован в системе.

2.      Общие функции для всех форм

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

Выход. При выходе из программы пользователь попадает на форму Авторизации.

3.      Распределение нагрузки

Фильтры. Пять фильтров представлено в пункте «Фильтры», используются для удобства работы пользователя. Выборка может осуществляться по форме обучения, факультету, специальности, семестру и курсу. Наложение фильтров учитывается только для форм, входящих в подменю «Распределение нагрузки». В каждом фильтре предусматривается пункт «Все», т.е. не накладывать этот фильтр на информацию. Далее пользователь должен выбрать пункт «Применить», чтобы изменения были приняты подсистемой. Также пользователь может выбрать пункт «Отменить фильтры», чтобы снять все фильтры с информации.

3.1.   Распределение дисциплинарной нагрузки

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

Выбрать из списка дисциплину можно кликом по этой дисциплине. После выбора в таблице «данные по видам занятий по дисциплине» отображаются:

·            план - данные по плану согласно форме Расчет;

·        факт - количество уже распределенных нагрузок по данной дисциплине;

·        остаток - сколько осталось нераспределенных нагрузок.

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

Пользователь выбирает преподавателя кликом по таблице «Преподаватели», либо в списке внизу дисциплины.

Сохранить нагрузку пользователь может нажав кнопку «Сохранить».

Можно Удалить преподавателя выбрав пункт «Удал.» напротив преподавателя.

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

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

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

3.2.   Распределение аудиторной нагрузки

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

Выбрать из списка аудиторию можно кликом по аудитории в списке аудиторий. Данные по аудитории (какие виды занятий и по каким дисциплинам уже распределены на данную аудиторию) отображены в таблице «Данные по аудитории».

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

3.3.   Распределение календарной нагрузки

Выбрать из списка дисциплину можно кликом по этой дисциплине. Данные о лекторе, ассистенте и аудитории отображаются справа от таблицы.

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

4.      Справочники

4.1.   Справочник «Преподаватели»

Пользователь выбирает преподавателя кликом по таблице «Преподаватели». Данные преподавателя отображаются в полях ввода.

Изменить данные преподавателя можно, изменив данные в полях ввода и нажав «Сохранить».

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

Добавить предпочтения преподавателю можно, указав соответствующие параметры (неделю, день недели, время) и выбрав пункт: «Ставить» или «Не ставить».

4.2.   Справочник «Аудитории»

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

Добавить новую аудиторию можно введя новые данные и нажав «Добавить новую аудиторию».

4.3.   Справочник «Коэффициенты пересчета»

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

Исключение - время на консультации. Вводится положительное число в процентном соотношении. По умолчанию - 10, 10% от аудиторной нагрузки.

5.      Просмотр и печать документов

Просмотр документов осуществляется непосредственно на странице, но также имеется функция «Печать» для открытия документа в формате электронных таблиц Excel компании MicroSoft.

Исключениями являются документы «Выписка из учебного плана» и «Нагрузка преподавателя», так как все остальные документы (см. пункт 1.3.2 Требования к структуре и функционированию подсистемы) составляются на год и не требуют дополнительной информации для пользователя. Для распечатки «Выписки из учебного плана» необходимо выбрать дисциплину, для которой формируется документ. Для Нагрузки необходимо выбрать преподавателя.

 

.7 Выбор средств разработки


В связи с тем, что задача АСУ ВУЗ является сетевой, то было решено использовать web-технологии для реализации подсистемы.

Выбор языков и технологий

Интерфейс CGI

CGI (Common Gateway Interface - «общий интерфейс шлюза») - стандарт интерфейса, служащего для связи внешней программы с web-сервером [17]. Программу, которая работает по такому интерфейсу совместно с web-сервером, принято называть шлюзом, хотя многие предпочитают названия скрипт (сценарий) или CGI-программа.

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

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

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

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

Технологии ASP и ASP.NET

ASP (Active Server Pages - активные серверные страницы) - технология от Microsoft, позволяющая разрабатывать приложения для World Wide Web. ASP работает на платформе операционных систем линии Windows NT и на web-сервере IIS. ASP не является языком программирования - это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования Web-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонент.

Возможность встраивания в web-страницы скриптов (кода, написанного на языке программирования, например VBScript или JScript) позволяет объединить оформление с данными полученными из различных источников, например, из баз данных.

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

Использование Active Server Pages не требует специфичных браузеров. Все ASP-скрипты запускаются и выполняются на web-сервере, причем браузер получает только результирующие HTML-файлы.

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

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

Язык C#

C# - язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции [18, 19]. Разработан в 1998-2001 гг. группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET. Компилятор с C# входит в стандартную установку самой.NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.

Синтаксис C# близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников - языков С++, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++) или вывода типов (как в Haskell).

Язык PHP

PHP - язык программирования, созданный для генерации HTML-страниц на web-сервере и работы с базами данных. Ныне поддерживается подавляющим большинством предоставителей хостинга. Входит в LAMP (Linux, Apache, MySQL, PHP) - «стандартный» набор для создания web-сайтов.

В области программирования для сети PHP - один из популярнейших скриптовых языков (наряду с JSP и языками, используемыми в ASP) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP выделяется наличием ядра и подключаемых модулей, наличием расширений: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т.п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к web-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, Linux, Windows и Mac OS X. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

Синтаксис языка подобен тому языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI, например, обрабатывать данных форм, генерировать динамические страницы или отсылать и принимать cookies. Но PHP способен выполнять и множество других задач.способен не только выдавать HTML. Возможности PHP включают формирование изображений, файлов PDF и даже роликов Flash (с использованием libswf и Ming), создаваемых «на лету». PHP также способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных, в том числе Oracle.поддерживает «общение» с другими сервисами с использованием таких протоколов, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, вы получаете возможность работать с сетевыми сокетами «напрямую». PHP поддерживает стандарт обмена сложными структурами данных WDDX. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP.включает средства обработки текстовой информации, начиная с регулярных выражений Perl или POSIX Extended и заканчивая парсером документов XML. Для парсинга XML в PHP 4 используются стандарты SAX и DOM. Для преобразования документов XML существует возможность использовать расширение XSLT. В PHP 5 обработка XML-документов стандартизирована и происходит на базе библиотеки libxml2. Также добавлены два новые расширения для работы с XML: SimpleXML и XMLReader.

Последним по порядку, но не по значению, является поддержка многих других расширений, таких, как функции поисковой машины mnoGoSearch, функции IRC Gateway, функции для работы со сжатыми файлами (gzip, bz2), функции календарных вычислений, функции перевода.

Технология AJAX

Сайт, сделанный с помощью AJAX, субъективно работает гораздо быстрее обычного сайта. По крайней мере, быстрее откликается на любые действия пользователя. Классические и, пожалуй, лучшие примеры использования AJAX - проекты Google Maps и Gmail. Запросы пользователей обрабатываются очень быстро, потому что использование технологии AJAX позволяет не перезагружать страничку целиком, а обновлять на ней только те элементы, которые требуют обновления.расшифровывается как Asynchronous JavaScript + XML (асинхронный JavaScript+XML) и технологией в строгом смысле слова не является. Это просто аббревиатура, обозначающая подход к созданию Web-приложений с помощью следующих технологий:

·              стандартизированное представление силами XHTML и CSS;

·              динамическое отображение и взаимодействие с пользователем с помощью DOM;

·              обмен и обработка данных в виде XML и XSLT;

·              асинхронные запросы с помощью XMLHttpRequest;

·              JavaScript.

Если в стандартном Web-приложении (Рис. 2.7) обработкой всей информации занимается сервер, тогда как браузер отвечает только за взаимодействие с пользователем, передачу запросов и вывод поступившего HTML, то в AJAX-приложении (Рис. 2.8) между пользователем и сервером появляется еще один посредник - движок AJAX. Он определяет, какие запросы можно обработать «на месте», а за какими необходимо обращаться на сервер.

Рисунок 2.7 Классическое Web-приложение

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

Рисунок 2.8 Web-приложение, использующее идеологию AJAX

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

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

До сих пор AJAX нельзя назвать совместимым со всеми видами клиентских браузеров. На многих браузерах AJAX-приложения просто не работают (хотя последние версии IE, Firefox и даже Opera - начиная с восьмой версии - нормально его поддерживают). Кроме того, сейчас на AJAX возлагаются определенные надежды (по крайней мере, компанией Adaptive Path, которая придумала саму аббревиатуру и усиленно продвигает этот подход к созданию Web-приложений), и очень вероятно, что AJAX их оправдает не в полной мере.

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

Однако писать такие приложения - задача трудоемкая. Нужно написать и отладить на JavaScript движок из десяти или двадцати тысяч строк кода плюс реализовать серверную часть. Причем копировать удачные решения практически не у кого: по большому счету, несколькими действительно масштабными AJAX-проектами может похвастаться только Google, но у них проекты довольно специфические - Google Suggest (сервис, подсказывающий наиболее популярные запросы), Gmail и Google Maps.

Выбор сервера приложений

Выбор сервера приложений - один из важнейших моментов при разработке web-приложения.

Web-сервер - это сервер, предоставляющий доступ к сайтам World Wide Web. Когда пользователь даёт браузеру команду открыть тот или иной документ на том или ином сайте, браузер подключается к соответствующему серверу и запрашивает у него содержимое документа. Таким образом, любой сайт расположен на каком-либо web-сервере.

Кроме того, термин web-сервер обозначает также программное обеспечение, работающее на сервере, которое отвечает за предоставление клиентам (например, браузерам) доступа к сайтам по запросу. Обычно такое программное обеспечение работает по протоколам HTTP и / или HTTPS. На сегодня наиболее распространёнными web-серверами являются:

·              Apache (свободно распространяемый web-сервер с открытым исходным кодом; наиболее часто используется в Unix-подобных операционных системах);

·              IIS от компании Microsoft (работает на системах линии Windows NT).

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

Для создания web-приложений используются разнообразные технологии и языки программирования, например:

·              PHP.

·              ASP.

·              ASP.NET.

·              JSP.

·              CGI.

·              C#.

Ряд из них, такие как PHP, имеют открытый код, распространяются свободно и могут использоваться практически на любых web-серверах, другие (ASP.NET) - привязаны к конкретным web-серверам.

Таким образом, от выбора web-сервера и языка программирования зависят архитектура, идеология и бизнес-логика системы.

Tomcat

Tomcat - программа - web-сервер, написанная на языке Java и реализующая спецификацию сервлетов и спецификацию JavaServer Pages (JSP), которые являются стандартами для разработки web-приложений на языке Java. Таким образом, Tomcat позволяет запускать web-приложения реализующие указанные выше спецификации и дополнительно содержит ряд программ для конфигурирования самого себя. Tomcat разрабатывается фондом Apache Software Foundation под лицензией Apache License и является программой с открытым исходным кодом.

Web-сервер IIS

IIS 6.0 - это мощный web-сервер, который предоставляет весьма надежную, управляемую, масштабируемую и безопасную архитектуру для web-приложений [21]. IIS 6.0 позволяет организациям любых размеров быстро и легко развертывать web-узлы и предоставляет высокопроизводительную платформу для приложений, разработанных с использованием Microsoft ASP.NET и Microsoft.NET Framework.6.0 позволяет повысить надежность web-инфраструктуры и безопасность информационных систем, снизить совокупную стоимость поддержки информационной инфраструктуры благодаря упрощенной системе управления и объединения серверов, а также создать условия для повышения производительности труда разработчиков.

Web-сервер Apache

В данный момент параллельно развиваются две ветки Apache - версии 2.0 и 1.3. Вторая версия претерпела значительное количество изменений, которые в первую очередь коснулись ядра программы и некоторых важных модулей [22].- это полнофункциональный, расширяемый web-сервер, полностью поддерживающий протокол HTTP/1.1 и распространяющийся с открытым исходным кодом. Сервер может работать практически на всех распространенных платформах. Существуют готовые исполняемые файлы сервера для Windows, OS/2, Netware и нескольких UNIX-систем. При этом он очень прост в установке и конфигурации.настраивается с помощью текстовых конфигурационных файлов. Основные параметры уже настроены «по умолчанию» и будут работать в большинстве случаев. Если не хватает функциональности штатного Apache, то стоит присмотреться к распространяемым модулям, написанным Apache Group и сторонними разработчиками. Немаловажным преимуществом является то, что создатели активно общаются с пользователями и реагируют на все сообщения об ошибках.

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

Функция, которая заложена в протоколе HTTP/1.1 - аутентификация пользователей. С помощью штатных средств сервера Apache вы можете разграничить доступ к определенным страницам сайта для разных пользователей. Это нужно, например, для того чтобы сделать администраторский интерфейс к сайту. Для этого используются файлы.htaccess и.htpasswd, а также модули mod_auth и mod_access. Пользователи могут быть разбиты на группы, и для каждой из них можно назначить свои права доступа.

Для разделения дизайна и функциональной части сайта, а также для упрощения изменения статических объектов существует технология SSI. Она позволяет поместить всю повторяющуюся информацию в один файл (например, top.inc), а затем вставлять в страницы ссылку на нее. Затем, если понадобится изменить несколько строк в этой информации, то придется поменять их только в одном файле. Сервер Apache поддерживает эту технологию и позволяет использовать серверные включения в полном объеме.

Если на одном сервере с установленной операционной системой семейства Unix и сервером Apache заведено несколько пользователей, то каждому из них можно создать отдельную директорию. Точнее, она будет создаваться автоматически вместе с псевдонимом. Это делается с помощью модуля mod_userdir и директивы UserDir. Так, например, можно папке public_html в домашней папке пользователя сопоставить адрес www.site.ru/~user. Администратор сервера может разрешить или запретить определенным пользователям создавать домашние страницы, использовать SSI и другие функции сервера. Полноценный же хостинг обычно предусматривает создание отдельного виртуального сервера для каждого пользователя.

Сервер Apache был одним из первых серверов, которые начали поддерживать виртуальные сервера (хосты). Эта возможность позволяет размещать на одном физическом сервере несколько полноценных сайтов. У каждого из них может быть свой домен, администратор, IP-адрес и так далее.

Если нужно разместить на сервере домены domain.ru и domain.com, то для начала надо сделать так, чтобы в системе DNS им был сопоставлен ваш IP-адрес. После этого в конфигурационном файле Apache создаете две директивы <VirtualHost>, где описываете каждый виртуальный хост. Таким образом, сервер будет знать, на какую папку «отправлять» пришедший запрос.

В данный момент большинство интернет-страниц являются динамическими. Это значит, что их внешний вид и наполнение формируется с помощью программного скрипта, написанного на одном из «языков» (их нельзя в полной мере назвать языками, определение достаточно условно). В данный момент наиболее сильно распространены технологии CGI и PHP. Разумеется, в Apache существует поддержка и того, и другого, плюс возможность подключать другие языки.

Модуль mod_cgi позволяет размещать на сервере CGI-скрипты. Вообще, это исполняемые файлы, написанные на одном из допустимых языков программирования. Они могут содержаться как в откомпилированном виде (например, так делают, если пишут CGI на языке C++), так и в виде исходного текста (если на сервере установлен Perl, то программист может помещать и такие файлы. Иногда они имеют расширение.pl).

Что касается PHP, то возможность интеграции его в Apache предусмотрена разработчиками самого PHP. Apache же выполняет только функции посредника между скриптом и компилятором. Существует два способа интеграции PHP в Apache. Первый - установка специального модуля, расширяющего возможности сервера, и тогда он сам становится способным «компилировать» скрипты. И второй - установка в конфигурационных файлах связей между php-файлами и самим компилятором (он находится на диске в виде файлов.cgi или.exe).

На основе сервера Apache можно создавать не только простые любительские сайты, но и ресурсы, требующие серьезной криптографической защиты передаваемых данных. Специально для этого был разработан протокол SSL/TLS, а его поддержка была встроена в Apache 2.0. С помощью специального модуля можно осуществлять аутентификацию на основе именных сертификатов, что позволяет практически наверняка гарантировать подлинность пользователя.

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

Наиболее простым и эффективным приемом применения Apache в связке с Oracle является использование программного продукта Zend Core.

Zend Core

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

Zend Core базируется на версии PHP 5.2 и предлагает множество инноваций, позволяющих повысить надежность и эффективность создаваемых приложений.

Zend Core теперь сертифицирована для Windows Server 2008, давая возможность развертывания высокоэффективным приложениям на новой серверной платформе.

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

Системные требования:

·              Linux SLES V9 & V10 on IBM pSeries (Zend Core for IBM only)

·              Linux RHEL V4 & V5 on IBM pSeries (Zend Core for IBM only)

·              Windows XP & 2003 (32 bit), Vista (32 & 64 bit)

·              IBM AIX V5.2 & V5.3 on IBM pSeries (Zend Core for IBM only)

·              Solaris V8, V9 & V10 on Sparc (Zend Core for Oracle only)

·              i5/OS V6R1, V5R3 & V5R4 (Zend Core for i5/OS only)

Поддержка баз данных:

·              DB2, DB2 Express-C, Informix

·              MySQL

·              Oracle Database 10g, 9i

·              MS SQL Server

·              PostgresSQL

Поддержка веб-серверов:

·              Apache 1.3.x

·              Apache 2.0.x (compiled in prefork mode only)

·              Apache 2.2.x (compiled in prefork mode only)

·              IIS 5, 6, 7

·              Oracle HTTP Server (Zend Core for Oracle only)

·              i5/OS HTTP Server (Zend Core for i5/OS only)

Поддержка PHP IDE:

·              Zend Studio v5.5

·              Zend Studio for Eclipse V6.0

·              Zend Studio for i5/OS v5.5

·              Zend Studio for Eclipse i5 Edition v6.0

Выбор связок «сервер+технология»

Apache + PHP

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

Apache + CGI

Универсальный вариант, подходит для создания интернет проектов низкого уровня сложности. Функциональность зависит от выбора языка программирования, на котором будет написано приложение, работающее через CGI-шлюз. Обеспечивает высокую производительность, особенно при использовании интерпретатора Perl. Типовые функции и библиотеки обеспечиваются выбранным языком программирования. С увеличением объёма проекта значительно повышается сложность написания программы и количество потребляемого трафика и оперативной памяти сервера, так как для каждого обращения к сайту запускается отдельная копия приложения.

Выбор среды разработки

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

IBM Visual Age for Smalltalk

IBM Visual Age for Smalltalk (далее VA Smalltalk) является наиболее мощной реализацией чистого объектно-ориентированного языка Smalltalk. Он предназначен для проектирования прикладного программного обеспечения разных масштабов: от автоматизации работы на мелких фирмах до транснациональных корпораций и охватывает все направления современного бизнеса: производство, банковское дело, финансы, страхование и т.д.

Семейство сред визуального программирования IBM Visual Age, частью которого является Smalltalk, предоставляет самую широкую и мощную поддержку языков и платформ, обеспечивая единую среду визуального программирования. Все это позволяет пользователям выбрать язык, который они сочтут более приемлемым: Java, Smalltalk, C++, Basic, Cobol, 4GL для тех аппаратных платформ, операционных сред и серверного программного обеспечения, которое используется в организациях. Все продукты интегрированы и являются кросс-платформенными.Smalltalk дает возможность работать с различными серверами баз данных, мониторами транзакций, промежуточным коммуникационным программным обеспечением, с программным обеспечением на мэйнфреймах; поддерживается возможность построения информационных систем для Internet/ Intranet - сетей; может быть обеспечена возможность коллективной разработки; поддерживается контроль версий и изменений при ведении проекта. Перенос приложений с платформы на платформу можно осуществлять без редакции исходного кода.

Замечательная черта сред Visual Age - визуальная сборка приложений из компонент, которые создаются единожды, а затем используются в различных частях проекта. Этап сборки реально, в отличии от других средств RAD (Rapid Application Development - средство быстрой прикладной разработки), может происходить без ручного кодирования. Что еще более важно, логические взаимосвязи между компонентами системы представляются визуально, что существенно облегчает ведение проекта на протяжении всего его жизненного цикла.

В новой версии Visual Age Smalltalk 4.5, которая появляется на рынке в конце лета текущего года, добавляются, в том числе UML Designer, служащий для автоматизации анализа и проектирования программного обеспечения, и ObjectExtender, облегчающий создание сложных масштабируемых программ, использующих различные СУБД. Основное внимание при ведении проекта с появлением новых возможностей переносится на этапы анализа и проектирования, осуществляемые в соответствии с парадигмой объектно-ориентированного проектирования, наиболее полной реализацией которой является UML (Unified Modeling Language). При этом существует двусторонняя связь между модулями проектирования и полученным / измененным кодом. Все это позволяет, используя среду VA Smalltalk, реализовывать полный жизненный цикл информационной системы.

К сожалению, Smalltalk практически неизвестен российским специалистам. Возможно, одной из причин этого, является отсутствие сколько-нибудь заметного числа публикаций. В тоже время, на Западе, в особенности в США, он является наряду с C++ распространенным средством разработки прикладного ПО, лидируя при этом в отдельных прикладных областях (см., например, IDC White Paper: Smalltalk Strength Stand Out).

Microsoft Visual Studio 2003

Набор средств разработки Microsoft Visual Studio 2003, сопутствующая ему платформа разработки приложений Microsoft.NET Framework и подписка MSDN - ключевые элементы стратегии Microsoft Open Tools Platform по разработке приложений и дальнейшего развития комплекса Web-сервисов на основе XML [23]. Visual Studio 2003 и.NET Framework - краеугольные камни платформы.NET и важный этап реализации стратегии Microsoft в отношении Web-сервисов XML []. С появлением.NET Framework линейка поставляемых средств разработки Microsoft разделилась на 2 группы: пакеты продуктов (интегрированные системы разработки) и отдельно взятые инструменты разработки.

Интегрированная система разработки Visual Studio поставляется как в виде коробочных версий, так и по программам корпоративного лицензирования.Studio - первая полностью интегрированная среда разработки для создания Web-сервисов XML и Internet-приложений, предлагающая разработчикам в сочетании с.NET Framework новые перспективные возможности для быстрой разработки (rapid application development, RAD) и развертывания самых разнообразных Web-приложений для любых устройств и платформ.

Macromedia Dreamweaver CS3

Промышленный стандарт для разработки web-приложений, позволяющий пользователям эффективно проектировать, разрабатывать и поддерживать web-сайты и приложения.

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

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

Smart Web Builder 1.531

Сервисные средства:

§  FTP-эксплорер;

§  автоматическая замена;

§  вставка закладок.

Подсветка синтаксиса языков программирования (Assembler, ASP, Bat, C++, CORBA IDL, CSS, Html, Ini, Java, JavaScript, Pascal, Perl, PHP, Python, SQL, Tcl/Tk, UNIX Shell, VBScript, XML). › Подсветка парных скобок. Расширенный поиск и замена (поддержка регулярных выражений). Удобный подбор цвета в трёх шкалах (RGB, HSV, CMYK). Экспорт исходного кода в Html, RTF, TeX с учётом подсветки синтаксиса.

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

› Суфлёр кода JavaScript и Html.

› Оптимизация и проверка html-кода.

› Диалоги конфигурирования и вставки html-тегов.

› Быстрая вставка всех основных тегов html.

› Вставка html-кодов символов.

› Бесплатные скрипты для web-страниц.

› Просмотр редактируемой web-страницы в различных браузерах и под сервером.

Проекты

› Создание и управление проектами.

› Импорт проектов из других редакторов.

HTML-редактор предоставляет пользователю:

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

Мощные сервисные средства и инструменты вставки HTML-кода, делающие процесс создания web-страниц быстрым, качественным и функциональным. Далее будут рассматриваться именно эти возможности редактора.

Внушительное количество готовых к использованию скриптов и шаблонов страниц уменьшающих ресурсоёмксть разработки.

Менеджер сайтов, который позволяет создать проект и с удобством управлять им. Благодаря высокой скорости загрузки может быть обеспечена работа с большими проектами, от 1000 файлов и более.Web Builder включает в себя удобную справочную систему. Команда Справка→Справка вызывает окно Справка, в котором в разделе Главное меню представлена информация о работе каждого пункта меню. Команда Справка→Справочники вызывает диалоговое окно Справочники, в котором представлена информация о большинстве тэгов языка HTML, их назначении, атрибутах и событиях, которые могут происходить с объектом, заключенным в конкретный тэг.

Вывод

Проанализировав все вышесказанное, решено было использовать следующее программное обеспечение:

§  среда разработки - Smart Web Builder 1.531;

§  сервер приложений - Zend Core For Oracle v2.5 (PHP Version 5.2.5);

§  технологии программирования - AJAX.

Данные продукты были выбраны, так как позволяют реализовать требования, поставленные перед системой, и являются свободно распространяемыми.

 

.8 Руководства

 

Руководство администратора

Для развертки программы «Распределение нагрузки на кафедре», которая представляет собой web-интерфейс, необходимо выполнить следующие действия в определенном порядке:

1.      Установить СУБД Oracle поддерживающую кодировку UTF-8. Внесение изменений в конфигурации Oracle не требуется.

2.      Восстановить «дамп» (dump) базы данных, если требуется. «Дамп» можно восстановить с помощью утилиты «TOAD», позволяющей работать с базами данных Oracle.

2.1.   Выполнить: Меню -> DBA-> data import/export->data utility import. Помощник утилиты поможет импортировать «дампы» без лишних усилий.

3.      Не забудьте! Поменять конфигурацию подключения к базе данных в настройках сервера в файле «config/config_db_connect.xml». Укажите свои ЛОГИН и ПАРОЛЬ, который вы указали при установке СУБД Oracle.

4.      Установить сервера PHP - Apache. Для этого можно использовать Zend Core - пакет разработки в среде PHP. Который включает в себя стабильную версию PHP, проверенные расширения PHP, драйверы баз данных и позволяет работать вышеперечисленным серверам, как единое целое.

.        Произвести настройки сервера PHP при помощи Zend Core Administration используя пароль администратора указанный при установке. На вкладке Configurations\PHP измените значение параметров:

5.1.   register_globals на ON. Позволяет использовать глобальные переменные.

5.2.   display_errors на OFF. Позволяет выводить ошибки на странице HTML.

6.      Поместить все исходные файлы в папку, указанную в параметрах хоста. Для Zend Core значение по умолчанию C:\Program Files\Zend\Apache2\htdocs\

Руководство разработчика

Введение

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

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

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

·              уровень доступа к информационным ресурсам (реализующий фундаментальные функции хранения и управления информационно-вычислительными ресурсами).

Браузер в данном случае выступает в роли «тонкого» клиента, который при помощи модуля JavaScript обращается к серверу Apache для получения необходимой выборки данных. Сервер, в свою очередь, делает запрос к базе данных Oracle при помощи прослойки Web-сервисов.

Рассмотрим подробнее механизм обмена данными между сервером приложений и СУБД Oracle.

После поступления запроса на выборку данных, сервер Apache обращается к Web-сервису, которому передает запрос на выборку данных из базы Oracle. Далее происходит процесс аутентификации на сервере баз данных. Если аутентификация завершена положительно, то база данных генерирует требуемый набор информации и возвращает результат выборки в Web-сервис.

Web-сервис производит сжатие данных и отправляет результат серверу Apache. Далее происходит процесс визуализации информации и вывод её на экран.

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

Контрольный список программного обеспечения

Для разработки данной системы необходимо следующее программное обеспечение:

§  операционная система - Microsoft Windows XP SP2;

§  среда разработки - Adobe Dreamweaver CS3 или Smart Web Builder 1.531;

§  web-сервер для тестирования и отладки - Zend Core For Oracle v2.5 (PHP Version 5.2.5);

§  web-браузер для тестирования и отладки - Mozilla FireFox 3.0.11.

Динамический НТML

Dynamic HTML или DHTML - это способ создания интерактивного web-сайта, используя сочетание статичного языка разметки HTML, встраиваемого (и выполняемого на стороне клиента) скриптового языка JavaScript, CSS (каскадных таблиц стилей) и DOM (объектной модели документа).

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

DHTML приложения, которые вполне автономны в браузере, без серверной поддержки, такой как база данных, иногда вынуждены обращаться к Single Page Applications, или SPA. Конкурирующая техника включает в себя Macromedia Flash для анимации и апплеты (applets).

Одно из неудобств DHTML - это сложность разработки и отладки, из-за различной степени поддержки среди web-браузеров вышеупомянутой технологии, а также разнообразие размеров экрана означает, что правильно отображаться будет только в ограниченном количестве браузеров и комбинаций размера экрана. Развитию последних браузеров, таких как Internet Explorer 5.0+, Netscape 6.0+, and Opera 7.0+, Mozilla FireFox 3.0.11 помогает общая DOM.

Технология AJAX

AJAX (Asynchronous JavaScript and XML) - подход к построению пользовательских интерфейсов web-приложений, при котором web-страница, не перезагружаясь, сама догружает нужные пользователю данные. AJAX - один из компонентов концепции DHTML.

Об Ajax заговорили после появления в феврале 2005-го года статьи Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к web-приложениям». Ajax - не самостоятельная технология. Это идея.

Ajax, как подход к разработке пользовательских интерфейсов, базируется на двух основных принципах.

·  Использование DHTML для динамичного изменения содержания страницы.

·        Использование XMLHttpRequest для обращения к серверу «на лету», не перезагружая всю страницу полностью (также существует альтернативный вариант - динамическая подгрузка JavaScript с использованием DOM).

Использование этих двух подходов позволяет создавать намного более удобные web-интерфейсы пользователя на тех страницах сайтов, где необходимо активное взаимодействие с пользователем. Использование Ajax стало наиболее популярно после того как компания Google начала активно использовать его при создании своих сайтов, таких как Gmail, Google maps и Google suggest. Создание этих сайтов подтвердило эффективность использования данного подхода.

Классическая модель web-приложения

·        Пользователь заходит на web-страницу и нажимает на какой-нибудь её элемент.

·        Браузер формирует и отправляет запрос серверу.

·        В ответ сервер генерирует полностью новую web-страницу и отправляет её браузеру и т.д.

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

Модель AJAX

·        Пользователь заходит на web-страницу и нажимает на какой-нибудь её элемент.

·        Скрипт (JavaScript) определяет требуемую для изменений часть страницы

·        Браузер отправляет соответствующий запрос на сервер.

·        Сервер отдает только ту часть документа, на которую пришел запрос.

·        Скрипт (JavaScript) вносит изменения с учетом полученной информации (без перезагрузки страницы)

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

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

Сверхдинамичные web-интерфейсы

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

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

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

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

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

JavaScript

Благодаря JavaScript определенное количество программной логики можно перенести в HTML-страницу, что позволит быстро реагировать на действия пользователя. Но есть и ряд проблем. Первая проблема заключается в том, что как только JavaScript попадает в браузер пользователя вместе со страницей, программная логика доступна для просмотра невооруженным глазом. В случае, например, с проверкой правильности введенного адреса e-mail это может быть и не страшно, но если проверка связана с серийным номером, алгоритм проверки становится доступным всем, кто скачал страницу.

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

Объект XMLHttpRequest

Решением этой проблемы может стать объект XMLHttpRequest. Этот объект впервые был реализован компанией Microsoft в виде объекта ActiveX, но сейчас он доступен как встроенный объект во всех браузерах Mozilla и Safari. Этот объект позволяет JavaScript-у осуществлять HTTP-запросы к удаленному серверу без необходимости перезагружать страницу. По сути HTTP-запросы отправляются и получаются полностью за «кулисами» страницы, а пользователь их даже не замечает.

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

Из-за своей противоречивой истории объект XMLHttpRequest еще не является частью какого-либо стандарта (хотя нечто подобное уже было предложено в спецификации W3C DOM Level 3 Load and Save). Поэтому существует два отличных друг от друга метода вызова этого объекта в коде скрипта. В Internet Explorer объект ActiveX вызывается так:req = new ActiveXObject («Microsoft.XMLHTTP»);

В Mozilla и Safari это делается проще (так как там это объект, встроенный в JavaScript):

var req = new XMLHttpRequest();

Формы подсистемы

Подсистема имеет следующие формы:

1.      Авторизация пользователей;

2.      Распределение нагрузки:

·  распределение дисциплинарной нагрузки;

·        распределение аудиторной нагрузки;

·        распределение еженедельной нагрузки;

3.      Ведение справочников:

·  справочник преподавателей;

·        справочник аудиторий;

·        ввод коэффициентов перерасчета;

4.      Просмотр и печать выходных документов:

·  «Расчет учебной нагрузки кафедры»;

·        «Нагрузка преподавателя»;

·        «Выписка из учебного плана»;

·        «Отчет о выполнении учебной нагрузки кафедры»;

·        «Проект штатного расписания ППС».

Фактически форма одна, так как выбор года, варианта расчета, а также параметров, выбираемых в части «Фильтры», не изменяется. Подгружается оставшаяся часть страницы путем использования технологии AJAX.

Функции подсистемы

В данном пункте перечислены основные функциональные особенности форм.

1.      Регистрация пользователей.

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

2.      Распределение нагрузки.

·  Для распределения любого вида нагрузки используются фильтры для облегчения работы пользователя с большим объемом информации в виде списка дисциплин.

·        Пользователь имеет возможность выбрать все фильтры, доступные в подсистеме или только часть.

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

3.      Распределение дисциплинарной нагрузки.

·  При нажатии на кнопку «Добавить весь остаток» перенести все остаточные данные во временные ячейки, если у преподавателя уже предварительно имеются часы по данному вопросу, то данные суммируются.

·        Кнопка «Сформировать поток» должна действовать только, если в списке дисциплин выбраны минимум две нагрузки.

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

4.      Распределение еженедельной нагрузки.

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

5.      Обеспечить переход от одной формы к другой с сохранением выбора фильтров.

Обработка введенных данных

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

Похожие работы на - Проект информационной системы 'Распределение учебной нагрузки на кафедре'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!