Диссертация (1091077), страница 16
Текст из файла (страница 16)
Таким образом, типправила определяет подпрограмму из базы подпрограмм, а значение типа правилапозволяет настроить выполнение подпрограммы под конкретную работу. Приэтом механизм запуска этих подпрограмм может быть реализован одинаково длявсех ОЦВК. Базовый состав этих подпрограмм одинаковый для каждого ОЦВК,но подпрограммы могут дополняться и расширяться в них. При этомположительный опыт этих изменений можно будет распространить и на другиеОЦВК через изменение базового состава этих подпрограмм. Такая возможность102позволит каждому ОЦВК быстро и гибко настраивать ПП в соответствии с егополитикой и направлением развития, чтобы своевременно соответствоватьтекущим образовательным потребностям пользователей и рынку труда.Предполагается,чтокаждомуновомуОЦВКбудетпредоставленодинаковый (базовый) набор ПП/ПодПП, который он может изменять идополнять.
Например, реализация конкретного ПП/ПодПП в разных ОЦВК можетотличаться количеством работ, логикой их выполнения, наличием/отсутствиемвложенного ПодПП.Каждый ПП/ПодПП обязательно содержит системную работу «Начало» и«Завершение», которые предназначены для автоматического, соответственно,запуска и завершения ПП/ПодПП [54].Работа связана с Web-ресурсом, который реализует её логику и формупредставления. Работа может выполняться либо автоматически (системнаяработа), либо пользователем [46]. Системная работа не имеетформыпредставления.
Переход срабатывает в порядке приоритета [46]. В процессевыполнения ПП могут создаваться, изменяться и применяться контекстныепеременные [46], которые могут влиять на характер выполнения ПП/ПодПП,например, на выполнение правила, перехода или логики работы.Сочетание ДМРД и ДМПП обеспечивает сквозное представление ИСЭОразличных ОЦВК, благодаря этому взаимодействие ИСЭО настраивается впроцессе их функционирования, а не на этапе их создания или доработки [54, 55].Таким образом, алгоритм организации ПП на основе ДМПП можно описатьследующим образом [54]:1) заводятся недостающие роли;2) создается группа для ПП;3) определяются основные участники группы;4) создается ПП;5) создаются работы и Web-ресурсы (например, ИСЭО) к ним;6) указываются правила (при необходимости дорабатываются существующиеили создаются новые правила) создания и завершения работ;1037) описываются контекстные переменные ПП;8) создаются переходы между работами;9) если среди работ ПП есть системные работы, которые запускают ПодПП, то кэтому ПодПП снова применяется этот алгоритм (т.е.
с п. 1).А также алгоритм выполнения ПП на основе ДМПП можно описать так [54]:1. Создается экземпляр ПП.2. Создается экземпляр системной работы «Начало».3. Выполняется переход в порядке приоритета, учитывающий правиласоздания/завершения работы и контекстные переменные.4. Создается экземпляр следующей работы. Если работа системная, тоавтоматически выполняется логика Web-ресурса, затем выполняется п. 3.Если работа пользовательская, то она выполняется пользователем, затемвыполняется п. 3.
Если работа системная, которая запускает ПодПП, то кэтому ПодПП снова применяется этот алгоритм. Кроме того, в ПодППмогут передаваться из ПП, и наоборот, определенные контекстныепеременные, образуя связь между ПП и его ПодПП. В ПодПП создаетсягруппа либо на основе группы ПП, либо формируется новая группа. Группаи контекстные переменные доступны только в рамках экземпляраПП/ПодПП.5.
Когда создается экземпляр работы «Завершение» в ПП, то происходитокончательное завершение ПП, если эта работа создается в ПодПП, тоуправление передается системной работе ПП, которая его запустила, далеевыполняется п. 3 (выполняется следующая работа ПП).104AP_ПроцессШаблонPKAP_Переход1IDPKКодНазваниеОписаниеСтатусДатаОткрытияДатаЗакрытияPKIDКодНазваниеТипОписаниеСтатусДатаОткрытияДатаЗакрытияНазваниеПараметрыПриоритетОписаниеID_AP_ПроцессШаблонID_AP_Работа$1ID_AP_Работа$2СтатусДатаОткрытияДатаЗакрытияMAP_ПравилаIDPKPKIDНазваниеЗначениеОписаниеID_AP_Процесс_1M1НазваниеОписаниеID_AP_ПравилаТипЗначениеПриоритетСобытиеПримененияБазовоеID_AP_РаботаШаблонID_AP_ПравилаТипСтатусДатаОткрытияДатаЗакрытияMAP_ПравилаТипЗначение1 1IDPKНазваниеОписаниеБазовоеСтатусДатаОткрытияДатаЗакрытияMIDЗначениеОписаниеБазовоеID_AP_ПравилаТипСтатусДатаОткрытияДатаЗакрытияMM1AP_РаботаШаблонPKPKIDAP_ПеременнаяAP_Роль1AP_ПравилаТипIDAP_UserРольГруппа_3КодНазваниеТипWEB-ресурсОписаниеID_AP_РольID_AP_ПроцессШаблонID_AP_ПроцессШаблон$ПодПроцессШаблонСтатусДатаОткрытияДатаЗакрытияAP_Работа1M1AP_ГруппаPK1IDMОписаниеID_AP_РаботаШаблонID_AP_Процесс_1ID_AP_Процесс_1$ПодПроцессСтатусДатаОткрытияДатаЗакрытия1AP_UserРольГруппа_1PKPKIDНазваниеОписаниеID_AP_ПроцессШаблонСтатусДатаОткрытияДатаЗакрытияMAP_UserРольГруппа_33IDPKID_РеальныйКодОрганизацииСтатусДатаОткрытияДатаЗакрытияID_AP_UserРольГруппа_3ID_AP_UserРольГруппа_33MMPKM1IDID_AP_ГруппаID_AP_РольID_USERСтатусДатаОткрытияДатаЗакрытияID_AP_UserРольГруппа_1ID_AP_UserРольГруппа_3_1IDID_USERСтатусДатаОткрытияДатаЗакрытияID_AP_UserРольГруппа_1MAP_UserРольГруппа_3_11AP_Процесс_1PKAP_РаботаРасширение_1PK1AP_Процесс_2AP_Процесс_3311PKMMIDPKОписаниеСтатусДатаОткрытияДатаЗакрытияID_AP_Процесс_1IDID_AP_Работа$РодПроцессаСтатусДатаОткрытияДатаЗакрытияID_AP_Процесс_1MPKMAC_USERIDID_AP_ПроцессШаблонID_AP_Работа$РодПроцессаID_AP_ГруппаСтатусДатаОткрытияДатаЗакрытияID_AP_Процесс_1ID_AP_Процесс_3_1MM1IDID_РеальныйКодОрганизацииСтатусДатаОткрытияДатаЗакрытияID_AP_РаботаРасширение_2ID_AP_РаботаРасширение_3ID_AP_РаботаРасширение_33ID1IDID_РеальныйКодОрганизацииСтатусДатаОткрытияДатаЗакрытияID_AP_Процесс_2ID_AP_Процесс_3ID_AP_ПроцессE_33PKAP_Процесс_3AP_РаботаРасширение_21PKMM1IDОписаниеСтатусДатаОткрытияДатаЗакрытияID_AP_РаботаРасширение_1AP_РаботаРасширение_33PKMIDID_USERСтатусДатаОткрытияДатаЗакрытияID_AP_РаботаРасширение_1MPKMIDAC_AP_Работа$РодПроцессаAP_РаботаРасширение_311AP_Процесс _3_11PKIDID_AP_РаботаID_USERСтатусДатаОткрытияДатаЗакрытияID_РаботаРасширение_1ID_РаботаРасширение_3_1Рисунок 3.21 – Даталогическая модель прикладных процессов для ВКИСЭО [46, 54]AP_РаботаРасширение_3_11MPKIDAC_USER105Примечания к рисунку 3.21 [46, 54]:• «AP_ПроцессШаблон» – описание ППАтрибутОписаниеКодУникальный код (для всех ОЦВК)• «AP_РаботаШаблон» – описание работы ППАтрибутОписаниеКодУникальный код (для всех ОЦВК)Тип работы:• BEGIN – системная работа, запускающая ПП;• END – системная работа, завершающая ПП;Тип• USUALLY – обычная работа;• SUBPROCESS – системная работа,запускающая ПодППWEB-ресурсWeb-ресурс, реализующий логику работыID_AP_РольИдентификатор роли исполнителя работыID_AP_ПроцессШаблонИдентификатор описания ППИдентификатор ПодПП, который эта работаID_AP_ПроцессШаблон$ПодПроцессШаблон запускает (заполняется, если тип работы –SUBPROCESS)• «AP_Переход» – описание переходов между работамиАтрибутОписаниеПараметрыПараметры перехода (через «;» в формате: «<param>=<value>;..»)ID_AP_Работа$1Идентификатор описания работы, из которой осуществляется переходID_AP_Работа$2Идентификатор описания работы, в которую осуществляется переходID_AP_ПроцессШаблон Идентификатор описания ПП• «AP_Группа» – ГруппаАтрибутОписаниеID_AP_ПроцессШаблон Идентификатор описания ПП• «AP_Переменная» – контекстные переменные ППАтрибутОписаниеID_AP_Процесс_1 Идентификатор ПП• «AP_Роль» – роли исполнителей работыАтрибутОписаниеКодУникальный код (для всех ОЦВК)ТипТип (лектор, учащийся, администратор и т.п.)• «AP_UserРольГруппа_3» – принадлежность пользователя к группе и ролиАтрибутОписаниеID_AP_Группа Идентификатор группыID_AP_Роль Идентификатор ролиID_USERИдентификатор пользователя• «AP_UserРольГруппа_33» – принадлежность пользователя к группе и ролиАтрибутОписаниеID_USER Идентификатор пользователя• «AP_UserРольГруппа_3_1» – принадлежность пользователя к группе и ролиАтрибутОписаниеКод ОЦВК, в котором находится запись с идентификатором «ID_USER» изAC_USER таблицы «AP_UserРольГруппа_3»106• «AP_Процесс_3» – ППАтрибутID_AP_ПроцессШаблонОписаниеИдентификатор описания ППИдентификатор работы родительского ПП,ID_AP_Работа$РодПроцессаесли данный ПП является ПодППID_AP_ГруппаИдентификатор группы• «AP_Процесс_33» – ППАтрибутОписаниеИдентификатор работы родительского ПП,ID_AP_Работа$РодПроцессаесли данный является ПодПП• «AP_Процесс_3_1» – ППАтрибутОписаниеКод ОЦВК, в котором находится запись сAC_AP_Работа$РодПроцесса идентификатором «ID_AP_Работа$РодПроцесса»из таблицы «AP_Процесс_3»• «AP_Работа» – работаАтрибутОписаниеID_AP_РаботаШаблонИдентификатор описания работыID_AP_Процесс_1Идентификатор ППID_AP_Процесс_1$ПодПроцесс Идентификатор ПодПП, который запустила данная работа• «AP_РаботаРасширение_3» – дополнение к работе ППАтрибутОписаниеID_AP_Работа Идентификатор работыID_USERИдентификатор исполнителя работы• «AP_РаботаРасширение_33» – дополнение работы ППАтрибутОписаниеID_USER Идентификатор исполнителя работы• «AP_РаботаРасширение_3_1» – дополнение к работе ППАтрибутОписаниеКод ОЦВК, в котором находится запись с идентификаторомAC_USER«ID_USER» из таблицы «AP_РаботаРасширение_3»• «AP_Правила» – правилаАтрибутОписаниеID_AP_ПравилаТипЗначение Идентификатор значения типа правилаСобытие, которое определяет применение правила:СобытиеПрименения• 0 – при создании работы;• 1 – при завершении работыБазовое1 – общеизвестное; 0 – создано в конкретном ОЦВКID_AP_ПравилаТипИдентификатор типа правилаID_AP_РаботаШаблонИдентификатор описания работы• «AP_ПравилаТип» – тип правилаАтрибутОписаниеБазовое1 – общеизвестное; 0 – создано в конкретном ОЦВК• «AP_ПравилаТипЗначение» – значения типа правилаАтрибутОписаниеЗначениеЗначение типа правила107ID_AP_ПравилаТипБазовоеИдентификатор типа правила1 – общеизвестное; 0 – создано в конкретном ОЦВК3.4.