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

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

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

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

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

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

IDEF3 может быть также использован как метод создания процессов. 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. Указание пожеланий преподавателей по времени преподавания.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В процессе распределения нагрузки может участвовать простой пользователь, ему позволено просматривать выходные формы. Простой пользователь не регистрируется в системе и входит, вводя данные: логин и пароль - «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

CHAR(10)

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

Таблица 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» - администратор, далее по убыванию

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

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

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

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

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

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

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

, где

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

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

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

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

, где

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

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

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

, где

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

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

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

, где

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

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

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

2.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 Требования к структуре и функционированию подсистемы) составляются на год и не требуют дополнительной информации для пользователя. Для распечатки «Выписки из учебного плана» необходимо выбрать дисциплину, для которой формируется документ. Для Нагрузки необходимо выбрать преподавателя.

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 способен выполнять и множество других задач.

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

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

PHP поддерживает «общение» с другими сервисами с использованием таких протоколов, как LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows) и многих других. Кроме того, вы получаете возможность работать с сетевыми сокетами «напрямую». PHP поддерживает стандарт обмена сложными структурами данных WDDX. Обращая внимание на взаимодействие между различными языками, следует упомянуть о поддержке объектов Java и возможности их использования в качестве объектов PHP.

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

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


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

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