МОДЕЛЬ УПРАВЛЕНИЯ ПРАВАМИ В СЕРВИСЕ ГРУППОВОЙ

advertisement
МОДЕЛЬ УПРАВЛЕНИЯ ПРАВАМИ В СЕРВИСЕ ГРУППОВОЙ
РАЗРАБОТКИ СИСТЕМЫ ТЕСТИРОВАНИЯ
Парфёнова Ирина Александровна (г. Москва, Негосударственное образовательное
учреждение «Институт Актуального образования «ЮрИнфоР-МГУ», (495) 971-73-96,
irina.a.parfenova@gmail.com)
THE MODEL OF MANAGEMENT RIGHTS IN THE TEAM DEVELOPMENT
OF THE TEST SYSTEM SERVICE
Parfenova Irina (Moscow, Institute «JurInfoR-MSU» (495) 971-73-96,
irina.a.parfenova@gmail.com)
Введение. Увеличение в геометрической прогрессии объема информации,
содержащейся в практикумах, повышает ее разнообразие, скорость распространения,
требует больших ресурсов для хранения и обработки. Также информация имеет свойство
быстро устаревать, то есть возрастает ее несоответствие нуждам потребителей. При этом
взгляды потребителей могут различаться. В связи с этим актуальным видится создание
сервисов, позволяющих группе экспертов сопровождать практикумы, согласовывая свои
действия, что способствует 1) повышению качества практикумов, 2) повышению
актуальности практикумов, 3) аккумулированию экспертных мнений нескольких
потребителей, 4) снижению количества дублирующей информации. Существующие
системы управления контентом обучения (LCMS), а также системы смежных классов
содержат широкий спектр функциональных возможностей по разработке практикумов, но
не предлагают специализированных механизмов поддержки, согласующих работу группы
экспертов, учитывая их авторские права. Предлагаемая модель управления правами
разработана с применением теории типов, в частности фрагментов алгебры фреймов, и
линейной алгебры. Разработаны методы и средства концептуального описания прав
экспертов, учитывающие накладываемые авторские ограничения, их функциональнотематические роли и статусы.
Постановка задачи. Ставится задача разработки модели управления правами и ее
реализации в рамках Сервиса групповой разработки системы тестирования (СГРСТ).
Описываемая модель позволит обеспечить коллективную разработку и сопровождение
практикумов, содержащих критичное количество информации, за счет наличия
механизмов разделения прав экспертов.
Варианты использования СГРСТ. Функциональность СГРСТ описана через
варианты использования (См. Рис. 1), отражающие возможности системы с точки зрения
получения значимого результата для пользователей.
Вариант использования СГРСТ «Разработка / Сопровождение практикумов»
представляет собой описание действий над практикумами, которые может осуществлять
СГРСТ в ответ на внешнее воздействие пользователей. Детализация варианта
использования «Редактирование вопроса», наследуемого от варианта использования
«Разработка / Сопровождение практикумов», представлен на Рис. 2.
Каждый из вариантов использования, являющийся не абстрактным, доступен
пользователю только при наличии соответствующего права.
Самостоятельно-действующий
эксперт
Эксперт-волонтер
Эксперт, представляющий интересы
Юр Лица
СГРСТ
Администрирование
Доступны некоторые
варианты использования
Администратор
...
Разработка / Сопровождение практикумов
Юр Лицо
Эксперт
Проигрывание практикумов
Пользователь
Рис. 1. Фрагмент диаграммы вариантов использования СГРСТ
Наличие права
определяется функциональной ролью
эксперта в теме вопроса с учетом
авторских ограничений на редактирование
каждой из конструкций вопроса
Редактирование вопроса
Изменить название вопроса
Изменить стоимость ответа
Изменить комментарий к вопросу
Добавить альтернативу ответа
Изменить ответ к вопросу
Вариант использования
доступен при наличии
соответствующего права
Рис. 2. Диаграмма детализации варианта использования «Редактирование вопроса»
Теоретические вопросы построения модели управления правами. Вводится
функция из декартова произведения доменов 𝐷1, 𝐷2, 𝐷3 и 𝐷4 на истинные значения
«𝑡𝑟𝑢𝑒» или «𝑓𝑎𝑙𝑠𝑒».
(*) 𝜑: |𝐷1| × |𝐷2| × |𝐷3| × |𝐷4| → {𝑡𝑟𝑢𝑒, 𝑓𝑎𝑙𝑠𝑒}
Домену 𝐷𝑑1 ставится в соответствие множество действий над практикумами, а
домену 𝐷2 множество экспертов СГРСТ, домену 𝐷3 множество практикумов, домену 𝐷4
множество тем практикумов. Функция 𝜑 возвращает значение 𝑡𝑟𝑢𝑒, если действие,
определенное на домене 𝐷𝑑1, разрешено эксперту, определенному на домене 𝐷2 в теме,
определенной на домене 𝐷4, практикума 𝐷3. СГРСТ модифицирует данные при
воздействии пользователя в случае, если 𝜑 возвращает значение 𝑡𝑟𝑢𝑒.
Пользователи СГРСТ расположены в 𝐼𝑆𝐴 иерархии:
(*) Эксперт 𝐼𝑆𝐴 Пользователь
(*) Администратор 𝐼𝑆𝐴 Пользователь
(*) Юр Лицо 𝐼𝑆𝐴 Администратор 𝐼𝑆𝐴 Пользователь
Домен 𝐷𝑑1 является объединением доменов 𝐷𝑑𝑖.
(*) 𝐷𝑑1 = ⋃𝑛𝑖=1 𝐷𝑑𝑖
Каждому из доменов 𝐷𝑑𝑖 ставится в соответствие множество действий над
практикумами, соответствующих 𝑖 − ой подсистеме компоненты управления правами.
Множество действий задается экстенсионально. Компонента управления правами (the
component of management rights) состоит из следующих подсистем:
1. Подсистема работы над практикумами
2. Подсистема работы над метаданными практикумов
3. Подсистема работы над темами практикумов
4. Подсистема работы над метаданными тем практикумов
5. Подсистема работы над вопросами
6. Подсистема управления авторскими правами
Для каждой из перечисленных подсистем формируется матрица 𝑀𝑖 ролей размерности
𝑚𝑖 × 𝑛𝑖, где 𝑚𝑖 – количество функциональных ролей, введенных Администратором, а 𝑛𝑖
– мощность множества |𝐷𝑑𝑖|. Пример фрагмента матрицы 𝑀1:
𝑛𝑒𝑤
𝑑𝑒𝑙𝑒𝑡𝑒
007
1 0 0 1 0
𝑖𝑚𝑝𝑜𝑟𝑡
(*) 𝑀1 = (1 1 1 1 1), 𝑀𝑚 = (𝑓𝑢𝑙𝑙_𝑟𝑖𝑔ℎ𝑡𝑠), 𝑀𝑛 =
𝑒𝑥𝑝𝑜𝑟𝑡
𝑓𝑖𝑟𝑠𝑡
0 1 1 0 0
(𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑒)
Семантика строк матрицы 𝑀1 приведена в матрице 𝑀𝑚, а столбцов в 𝑀𝑛.
Некоторые элементы множества |𝐷𝑑1| содержатся в нескольких из множеств |𝐷𝑑𝑖|.
Например, действие «создать тему» принадлежит подсистемам работы над практикумами
и работы над темами практикумов:
(*) 𝑐𝑟𝑒𝑎𝑡𝑒 𝑡ℎ𝑒𝑚𝑒 ∶ 𝐷1 и 𝑐𝑟𝑒𝑎𝑡𝑒 𝑡ℎ𝑒𝑚𝑒 ∶ 𝐷3
Некоторые элементы множества |𝐷𝑑1|
представляют собой объединение
подмножеств множества |𝐷𝑑𝑖|. Например, действие «редактировать вопрос» в подсистеме
работы над вопросами представляет собой объединение трех действий в подсистеме
управления авторскими правами: «редактировать название вопроса», «редактировать
текст вопроса» и «редактировать комментарий к вопросу».
(*) 𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡 = 𝑈𝑁𝐼𝑂𝑁(𝑒𝑑𝑖𝑡 𝑛𝑎𝑚𝑒, 𝑒𝑑𝑖𝑡 𝑡𝑒𝑥𝑡, 𝑒𝑑𝑖𝑡 𝑐𝑜𝑚𝑚𝑒𝑛𝑡)
(*) 𝑒𝑑𝑖𝑡 𝑛𝑎𝑚𝑒 𝐼𝑆𝐴 𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡
(*) 𝑒𝑑𝑖𝑡 𝑡𝑒𝑥𝑡 𝐼𝑆𝐴 𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡
(*) 𝑒𝑑𝑖𝑡 𝑐𝑜𝑚𝑚𝑒𝑛𝑡 𝐼𝑆𝐴 𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡
(*) 𝑒𝑑𝑖𝑡 𝑛𝑎𝑚𝑒, 𝑒𝑑𝑖𝑡 𝑡𝑒𝑥𝑡, 𝑒𝑑𝑖𝑡 𝑐𝑜𝑚𝑚𝑒𝑛𝑡: 𝐷6; 𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡: 𝐷5
Для вычисления функции 𝜑 на действиях, подобных описанным выше, в СГРСТ
построены матрицы перехода между подсистемами. Фрагмент матрицы 𝑃56 размерности
𝑚𝑝 × 𝑛𝑝, где 𝑚𝑝 – мощность множества |𝐷𝑑5|, а 𝑛𝑝 – мощность множества |𝐷𝑑6|,
перехода между подсистемами 5 и 6 представлен далее.
𝑒𝑑𝑖𝑡 𝑞𝑢𝑒𝑠𝑡
1 1 1 0 0 0
(*)𝑃56 = (
),
𝑃56𝑚𝑝 = (
) , 𝑃56𝑛𝑝 =
0 0 0 1 1 1
𝑒𝑑𝑖𝑡 𝑎𝑛𝑠𝑤
𝑒𝑑𝑖𝑡 𝑛𝑎𝑚𝑒
𝑒𝑑𝑖𝑡 𝑡𝑒𝑥𝑡
𝑒𝑑𝑖𝑡 𝑐𝑜𝑚𝑚𝑒𝑛𝑡
𝑒𝑑𝑖𝑡 𝑎𝑛𝑠𝑤 𝑡𝑒𝑥𝑡
𝑒𝑑𝑖𝑡 𝑎𝑛𝑠𝑤 𝑐𝑜𝑠𝑡
(𝑒𝑑𝑖𝑡 𝑎𝑛𝑠𝑤 𝑐𝑜𝑚𝑚𝑒𝑛𝑡)
(*) 𝑀5 ∗ 𝑃56 = 𝑀56
Ранг матрицы 𝑀56 равен рангу матрицы 𝑀6.
Инструментальные
средства
реализации
СГРСТ.
Функциональные
возможности СГРСТ, в том числе компоненты управления правами, реализованы на
серверном языке PHP 5.4. Для хранения отношений использована база данных MySQL
5.6., практикумы хранятся в XML-документах. Пользовательские интерфейсы
реализованы на HTML 4.0. Для хранения матриц 𝑀𝑖 (𝑖 ∈ [1; 5]) ролей и матриц 𝑃𝑖𝑗
переходов от одной подсистемы к другой используются отношения базы данных. Матрица
𝑀6 вычисляется по заданным авторским ограничениям на редактирование вопроса [6],
поэтому для ее хранения используется ассоциативный двумерный массив:
(*) $prava[] = array("Действие" => "название действия", "Значение" => 0/1).
Корректная интерпретация программного кода СГРСТ была проверена на серверах Apache
и IIS, что свидетельствует об кроссплатформенности СГРСТ.
Заключение. Построена модель управления правами в СГРСТ, решающая задачу
разделения прав экспертов при разработке / сопровождении практикумов в различных
подсистемах СГРСТ. Для построения модели использовались следующие теоретические
методы: теория типов и линейная алгебра. Реализованы инструментальные средства,
удовлетворяющие поставленным требованиям. Реализован пользовательский интерфейс
создания ролей для шести компонент управления правами, доступный администратору
СГРСТ. Реализована описанная функция 𝜑. Таким образом, обеспечено детальное
разделение прав экспертов на каждый вариант использования СГРСТ, входящий в вариант
использования «разработка / сопровождение практикумов», что предоставляет
возможность повысить качество подготавливаемых практикумов, а также понизить цену
их сопровождения.
ЛИТЕРАТУРА
1. Косиков С.В., Исмаилова Л. Ю. Интенсиональные операторы для специализации
моделей имитационных симуляторов // Современные проблемы науки и образования. 2013. - No. 2; 9 c. URL: www.science-education.ru/108-8574 (дата обращения: 26.05.2013).
2. Маслов М.А., Исмаилова Л. Ю., Косиков С. В., Вольфенгаген В. Э. Подход к
поддержке кросс-идентификации в системах динамичных таксономий // Современные
проблемы науки и образования. - 2013. - No. 2; 9 с. URL: www.science-education.ru/1089024 (дата обращения: 11.05.2013).
3. Вольфенгаген В.Э., И.А. Александрова, И.А. Волков, Л.Ю. Исмаилова, С.В.
Косиков, И.А. Парфенова Вычислительная модель для восстановления безопасного
режима работы информационной системы // Безопасность информационных технологий. 2013. -- N 1, с. 86-89. URL: http://www.pvti.ru/articles_36.htm (дата обращения: 30.05.2013).
4. Вольфенгаген В.Э., А.А. Борзяк, А.С. Доронин, Л.Ю. Исмаилова, С.В. Косиков,
В.В. Навроцкий Безопасность информационной системы в условиях возникновения
семантической нестабильности // Безопасность информационных технологий. - 2013. -- N
1, с. 90-93. URL: http://www.pvti.ru/articles_36.htm (дата обращения: 30.05.2013).
5. Исмаилова Л.Ю., Косиков С.В. Парадигмы аппликативного программирования:
от логики через редукцию к программированию. Раздел в книге: Парадигма
функционального программирования. / Под ред. к.т.н. Исмаиловой Л.Ю., Москва: АО
«Центр ЮрИнфоР», 2012. - с. 60-94
6. Парфенова И.А. Построение авторских ограничений на редактирование
конструкций практикума в сервисе групповой разработки системы тестирования. Аппликативные вычислительные системы: Труды 3-й международной конференции по
аппликативным вычислительным системам (АВС`2012), Москва, 26-28 ноября 2012г. / Под
ред. Л.Ю. Исмаиловой. - М.: НОУ Институт Актуального образования «ЮрИнфоР-МГУ»,
2012. -с.94.
Download