Описание процедур и функций программного комплекса — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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

Описание процедур и функций программного комплекса

2020-08-20 156
Описание процедур и функций программного комплекса 0.00 из 5.00 0 оценок
Заказать работу

    Основные функции программного комплекса были перечислены в параграфе 2.3.1. Рассмотрим каждую из процедур более подробно.

Процедура addJournal (Листинг 2.1)предназначена для добавления новых записей в журнал определённого преподавателя. На вход процедура получает 7 параметров: номер нагрузки преподавателя, дату проведённого занятия, кол-во требуемых часов, тип занятия, тему занятия, файл и название файла. Сначала процедура ищет существует ли в таблице запись с похожим номером нагрузки преподавателя, если в таблице нет такой записи, то процедура сравнивает количество доступных часов у нагрузки с количеством часов, введённых преподавателем на день. Если количество часов, введённых преподавателем меньше часов доступных у нагрузки, то процедура создаёт запись, указывает количество часов, введённых преподавателем и отнимает данное количество часов из записи нагрузки. В противном случае процедура делает те же самые сравнения с уже существующей записью, после чего обновляет данные увеличивая количество часов по данному предмет и уменьшая количество часов у записи нагрузки.

Листинг 2.1

Процедура addPrepodHours (Листинг 2.2)предназначена для добавления часов нагрузки преподавателю. Процедура принимает на вход 3 параметра: номер записи часов предмета, номер записи часов преподавателя и количество часов. Первым делом процедура проверяет доступно ли введённое преподавателем количество часов у предмета. Если количество часов у предмета больше чем введённое преподавателем, то часы добавляются в нагрузку преподавателя, а из часов предмета отнимаются. Также процедура проверяет существует ли данная запись в таблице, если запись существует, то данные обновляются в противном случае запись создаётся.


 

Листинг 2.2

Процедура delPrepodHours (Листинг 2.3)предназначена для удаления часов нагрузки у преподавателя. На вход принимается 3 параметра: номер записи часов предмета, номер записи часов преподавателя и количество часов. Процедура выполняет те же сравнения и действия, что и addPrepodHours, но с точностью наоборот. Вместо прибавления она отнимает часы нагрузки у преподавателя по данному предмету, а в случае сравнения часов у предмета и преподавателя проверяет не упадёт ли количество часов нагрузки данного предмета у преподавателя меньше нуля.

Листинг 2.3

Процедуры allInPrepodHours (Листинг 2.4)и clearPrepodHours (Листинг 2.5) также предназначены для добавления и уменьшения часов нагрузки у преподавателя. Процедуры получают на вход 2 параметра: номер записи часов предмета и номер записи часовпреподавателя. Процедуры выполняют все те же сравнения, но в момент уменьшения или добавления часов они указывают максимально доступное количество часов у предмета в случае добавления часов или же максимальное количество часов у преподавателя по этому предмету в случае уменьшения.

 

Листинг 2.4

Листинг 2.5

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


 

Листинг 2.6

Процедура authUser (Листинг 2.7)предназначена для авторизации пользователя в системе. Процедура принимает на вход 2 параметра и возвращает 1 параметр. Входные параметры: имя пользователя и пароль. Выходной параметр: результат авторизации.В данной процедуре идёт простая выборка записи по совпадению. Если процедура находит данную запись, то возвращает 1 иначе 0.

Листинг 2.7

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


 

Листинг 2.8

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

Листинг 2.9

Процедура insImportTable (Листинг 2.10)предназначена для создания часов предметов. Процедура импортирует данные из учебного плана в базу данных создавая группы, предметы и часы предметов. На вход принимается 8 параметров: шифр предмета, название предмета, название группы, курс, семестр, тип занятия, количество доступных часов и год. Сначала процедура проверяет существуют ли такой предмет, если предмет существует, то процедура сохраняет номер записи предмета иначе создаёт данную запись. После создания предмета те же процедуры выполняются для группы. В последнюю очередь создаётся запись с часами преподавателя, где процедура использует ранее выбранные номера записей группы и предмета.

Листинг 2.10

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

Листинг 2.11

Процедура replacePrepodJournal (Листинг 2.12)предназначена для замены пары преподавателя в журнале. Имеется в виду, что если пару преподавателя заменяли, то надо отметить эту замену в журнале. Процедура получает на вход те же параметры что и addJournal, но в добавок номер записи часов преподавателя, который заменяет этот предмет. Эта процедура выполняет внутри себя выше описанные, а в частности:

· delPrepodHours;

· addPrepodHours;

· addJournal;

Изначально процедура обновляет данные нагрузки часов преподавателя, указывая что преподавателя заменяли введённым количеством. Затем процедура удаляет введённое количество часов у преподавателя, который ведёт данный предмет и добавляет эти часы заменяющему преподавателю. Часы добавляются и удаляются через процедуры delPrepodHoursи addPrepodHours. Последним этапом процедуры становится обновление пометки у преподавателя, который ведёт данный предмет на «YES», что означает, что его заменяли.

Листинг 2.12


 


Поделиться с друзьями:

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.