Зубкова Т.М. (bars87@mail.ru) - Оренбургский государственный университет (профессор), Оренбург, Россия, доктор технических наук, Наточая Е.Н. (en_ischa@mail.ru) - Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации (Оренбургский филиал) (доцент), Оренбург, Россия, кандидат педагогических наук | |
Ключевые слова: по, пользовательский интерфейс, шаблон интерфейса, прототип интерфейса, техническое задание, экспертная оценка, база знаний, нечеткие отношения |
|
Keywords: software, user interface, template interface, interface prototype, technical specification, expert estimation, knowledge base, fuzzy relations |
|
|
При проектировании программных продуктов необходимо учитывать требования, пожелания, а также знания и возможности потенциального контингента пользователей, которые отражаются в техническом задании на ПО. Для получения единого представления о создаваемом ПО предусматривается активное взаимодействие разработчика с заказчиком. Заказчики разрабатывают концепцию (часто подсознательную и неполную) того, как их приложение будет работать. Разработчикам же необходимо учитывать аппаратные ресурсы, базовое ПО, операционную систему и другое. Кроме того, требуется знать возможности целевой аудитории пользователей, варианты использования ПО или сценарии работы, которые формируются из пользовательских историй. Одним из способов взаимодействия с заказчиком и получения единого видения ПО является разработка прототипа интерфейса [1]. Прототип пользовательского интерфейса представляет собой макет (черновую, пробную версию) интерфейса, разрабатываемый с целью проверки пригодности предлагаемых для применения концепций, технологических решений, а также для представления программы заказчику на ранних стадиях процесса разработки. Постановка задачи Задача заключается в разработке программного средства с функцией поддержки принятия решения по подборке альтернативного варианта шаблона интерфейса на основании экспертной оценки и теории нечетких множеств. Для автоматизации принятия решения необходимо разработать шаблоны пользовательского интерфейса с учетом целевой аудитории [2]. Под шаблоном пользовательского интерфейса будем понимать сочетание одного или нескольких элементов, широко используемых для предоставления навигации, команд и содержимого, которые используются большинством приложений и служат основой для разработки собственного пользовательского интерфейса. Характеристиками контингента пользователей являются их уровень знаний, физические и психологические качества. Каждая из характеристик оценивается по трехбалльной шкале: высокий, низкий и средний уровень развития. С учетом разных градаций выделенных характеристик пользователи разделены на пять групп (табл. 1). Таблица 1 Характеристики групп пользователей Table 1 User group dimensions
Декомпозиция функций программной системы представлена в нотации IDEF0 (Integrated DEFinition) на рисунке 1. Входными данными программной системы являются характеристики групп пользователей, требования заказчика, лицензия разработчика, лицензия заказчика, шаблоны интерфейсов. В качестве управляющего воздействия выступают Федеральный закон «О персональных данных», ГОСТ19.201-78, экспертные оценки специалистов в данной предметной области, нечеткие отношения. На выходе программной системы формируется фрагмент технического задания на разработку ПО с прототипом интерфейса. Реализация поставленной задачи Входные данные для задачи проектирования интерфейса программных средств характеризуются той или иной степенью неопределенности, обусловленной неполнотой, внутренней противоречивостью, неоднозначностью, и представляют собой приближенные количественные или качественные оценки параметров процессов проектирования и управления проектированием [3]. Таким образом, так как исходные данные задачи трудно формализуемы, целесообразно применить один из методов искусственного интеллекта, основанный на нечеткой логике. Нечеткие алгоритмы, оперирующие лингвистическими переменными, значения которых задаются нечеткими множествами, удобны для описания слабо формализуемых процессов. Такие алгоритмы интуитивно более понятны. Их автоматизация поз- воляет повысить объективность и оперативность решений, принимаемых разработчиком ПО [4]. Методология нечеткого логического вывода достаточно успешно применяется при построении систем управления объектами [5], в частности, при разработке компонентов ПО [6, 7] и минимизации рисков программных проектов [8, 9]. Этап 1. Формирование и оценка компетентности группы экспертов. Экспертная оценка – процедура получения оценки проблемы на основе мнения специалистов с целью принятия решения. Экспертное оценивание предполагает создание некоего разума, обладающего большими способностями по сравнению с отдельным человеком. Основной сложностью этого метода является подбор экспертов, которые должны иметь опыт в соответствующих решаемым задачам областях. При подборе экспертов следует учитывать личную заинтересованность, которая может стать существенным препятствием для получения объективного суждения. При формировании группы экспертов на стадии выявления знаний учитывались следующие характеристики: - компетентность (степень квалификации эксперта в данной области знаний); - креативность (способность решать творческие задачи); - отношение к экспертизе (негативное или пассивное отношение, занятость, существенно влияющие на качество работы эксперта в группе); - конформизм (подверженность влиянию авторитетов, при котором их мнение может подавлять лиц, обладающих более высокой компетентностью); - коллективизм и самокритичность. Авторами реализован один из возможных путей количественного описания характеристик эксперта, основанный на вычислении относительных коэффициентов компетентности по результатам высказываний специалистов о составе экспертной группы. Суть методики сводится к тому, что ряду специалистов предлагается высказать мнение о списочном составе экспертной группы. Если в этом списке появляются лица, не вошедшие в исходный список, им тоже предлагается назвать специалистов для участия в экспертизе. После нескольких этапов будет получен достаточно полный список кандидатов в группу [10]. По результатам опроса составляется матрица, по строкам и столбцам которой записываются фамилии экспертов, а элементами таблицы являются переменные: При этом эксперт может включать или не вклю- чать себя в экспертную группу (то есть xij = 0 или xij = 1). По данной таблице можно вычислить относительные коэффициенты компетентности, используя алгоритм решения задач о лидере. Относительные коэффициенты компетентности h-порядка для каждого эксперта имеют следующий вид: где m – число экспертов в списке (размерность матрицы ║xij║); h – номер порядка коэффициента компетентности. Коэффициенты компетентности нормированы так, что их сумма равна единице: (1) По формуле (1) можно вычислить значение компетентности для различных порядков, начиная с первого. При h = 1 выражение (1) будет иметь вид (2) Таким образом, коэффициент компетентности первого порядка – это относительное число экспертов, высказавшихся за включение i-го эксперта в группу. Относительный коэффициент компетентности второго порядка получаем из (1) для h = 2 при условии, что , определены по (2): Коэффициенты второго порядка представляют собой относительное количество голосов взвешенных коэффициентов компетентности первого порядка. Последовательно вычисляя относительные коэффициенты компетентности более высокого порядка, можно убедиться, что процесс быстро сходится после 3-4 вычислений, то есть относительные коэффициенты быстро стабилизируют- ся [10]. В общем случае коэффициенты относительной компетентности определяются как Этап 2. Групповая экспертная оценка объектов при непосредственном оценивании. Пусть m экспертов провели оценку n объектов по l показателям. Результаты оценивания представ- лены величинами где i – номер объекта; j – номер эксперта; h – номер показателя. Величиныполученные методом непосредственного оценивания, представляют собой числа из некоторого отрезка числовой оси или баллы. В качестве групповой оценки для каждого из объектов можно принять среднее взвешенное значение его оценки:
где qh – коэффициенты весов показателей сравнения объектов; kj – коэффициенты компетентности экспертов. Величины qh и kj являются нормированными, то есть Коэффициенты qh могут быть определены экспертным путем как средний коэффициент веса h-го показателя по всем экспертам, то есть При h=1 алгоритм вычисления групповых оценок и коэффициентов компетентности экспертов имеет вид: а) начальные условия при t=0: то есть начальное значение коэффициентов компетентности для всех экспертов принимается одинаковым; б) рекуррентные соотношения для t=1, 2, 3, … представлены в таблице 2; Таблица 2 Рекуррентные отношения для итераций Table 2 Recurrence formula for iterations
в) признак окончания итерационного процесса: Этап 3. Построение нечеткой модели на бинарных нечетких отношениях. Пусть имеются два множества: совокупность групп пользователей и совокупность шаблонов интерфейсов, которые нужно максимально эффективно подобрать для пользователей с заданными характеристиками. Таким образом, входными данными являются указанные множества, а выходными – степени соответствия шаблонов интерфейсов пользователям. В общем случае нечетким отношением или, точнее, нечетким k-арным отношением, заданным на множествах (универсумах) X1, X2, …, Xk, называется некоторое фиксированное нечеткое подмножество декартова произведения этих универсумов. Другими словами, если обозначить произвольное нечеткое отношение через Q, то по определению Q = {áx1, x2, ..., xkñ, mQ(áx1, x2, ..., xkñ)}, где mQ(áx1, x2, ..., xkñ) – функция принадлежности данного нечеткого отношения, которая определяется как отображение µQ: X1 ×X2×…×Xk → [0,1]. Здесь через áx1, x2, ..., xkñ обозначен кортеж из k элементов, каждый из которых выбирается из своего универсума: x1ÎX1, x2ÎX2, ..., xkÎXk. Бинарное нечеткое отношение задается на базисных множествах Х1, Х2 и определяется как нечеткое отношение Q = {áxi, xjñ, mQ(áxi, xjñ)}. Здесь mQ(áxi, xjñ) – функция принадлежности бинарного нечеткого отношения, которая определяется как отображение µQ: X1×X2 → [0, 1], а через áxi, xjñ обозначен кортеж из двух элементов, при этом x1ÎX1, x2ÎX2. Кроме того, для построения решения задачи необходимы композиции нечетких бинарных отношений. Пусть Q и R – конечные или бесконечные бинарные нечеткие отношения. Причем нечеткое отношение Q = {áxi, xjñ, mQ(áxi, xjñ)} задано на декартовом произведении универсумов X1×X2, а нечеткое отношение R = {áxj, xkñ, mQ(áxj, xkñ)} – на декарто- вом произведении универсумов X2×X3. Нечеткое бинарное отношение, заданное на декартовом произведении X1×X3 и обозначаемое через Q×R, называется композицией бинарных нечетких отношений Q и R, а его функция принадлежности определяется следующим выражением: (" áxi, xkñÎX1´X3). Определенную таким образом композицию бинарных нечетких отношений называют (max-min)-композицией или максиминной сверткой нечетких отношений. Нечеткое бинарное отношение, заданное на декартовом произведении X1×X3 и обозначаемое че- рез Q*R, называется (max-*)-композицией бинарных нечетких отношений Q и R, если его функция принадлежности определяется следующим выражением:
(" áxi, xkñÎX1´X3). В частности, если в этом выражении вместо операции «*» использовать операцию алгебраического умножения, получим определение (max-prod)-композиции. Нечеткое бинарное отношение, заданное на декартовом произведении X1×X3 и обозначаемое через Q+R, называется (min-max)-композицией бинарных нечетких отношений Q и R, если его функция принадлежности определяется следующим выражением: (" áxi, xkñÎX1´X3). С учетом введенных понятий построим нечеткую модель, основанную на двух бинарных нечетких отношениях S и T. Первое из этих нечетких отношений строится на двух базисных множествах Х и Y, а второе – на двух базисных множествах Y и Z. Здесь X={x1, x2, x3, x4, x5} описывает множество интерфейсов, Y={y1, y2, y3, y4, y5, y6, y7, y8, y9, y10} – множество характеристик пользователей, а Z={z1, z2, z3, z4, z5} – множество групп пользователей. В данном контексте нечеткое отношение S содержательно описывает характеристики интерфейсов, а Т – характеристики пользователей. Элементы универсумов имеют следующий содержательный смысл: 1) x1 – шаблон интерфейса 1, x2 – шаблон интерфейса 2, x3 – шаблон интерфейса 3, x4 – шаблон интерфейса 4, x5 – шаблон интерфейса 5; 2) y1 – компьютерная грамотность, y2 – системный опыт, y3 – опыт работы с подобными программами, y4 – машинопись, y5 – мышление, y6 – память, y7 – моторика, y8 – дальтонизм, y9 – концентрация внимания, y10 – эмоциональная устойчивость; 3) z1 – новичок, z2 – обычный пользователь, z3 – уверенный пользователь, z4 – квалифицированный, z5 – программист, хакер, администратор. Для определения соответствия интерфейса группе пользователей воспользовались композициями исходных нечетких отношений. Так, (max-min)- и (max-prod)-композиции дают информацию о степени соответствия шаблона интерфейса группе пользователей, а (min-max)-композиция позволяет определить шаблон, который не подходит для данной группы пользователей [11]. Таким образом, применяются три модели: max-min, max-prod, min-max. Способы для определения результата компо- зиции нечетких отношений могут быть следующими. Max-min-композиция, или максимальная нечеткая свертка: . Max-prod-композиция: . Min-max-композиция: . Max-max-композиция: . Min-min-композиция: . Max-average-композиция: . Sum-prod-композиция: . Результаты применения разработанной методики Рассмотренная методика реализована в программном средстве «Автоматизированная информационная система составления технического задания с экспертной оценкой принятия решения», предназначенном для поддержки руководителя программного проекта при разработке технического задания на ПО с подбором альтернативного варианта интерфейса [12]. Главное окно програм- много средства показано на рисунке 2. Одной из функций разработанного програм- много средства является тестирование пользователя, реализованное в форме «Оценка пользователем», в которой можно выбрать характеристику и ее градацию из ниспадающих меню (http://www. swsys.ru/uploaded/image/2017_1/2017-1-dop/5.jpg). Оценка пользователя экспертами (выбор его характеристик и их градаций) основывается на результатах тестирования пользователя и проводится в форме «Оценка пользователя экспертами» (http:// www.swsys.ru/uploaded/image/2017_1/2017-1-dop/6. jpg). Результаты вычислений выводятся в окне «Анализ» (http://www.swsys.ru/uploaded/image/2017_1/ 2017-1-dop/7.jpg). По нажатии кнопки «Сохранить отчет» генерируется документ, в котором заполнены следующие разделы: наименование ПО, материально ответственное лицо (руководитель проекта), наименование заказчика, характеристики пользователя, рекомендуемый шаблон интерфейса, назначение и область применения ПО, требования к функциональным характеристикам ПО, требования к составу и параметрам технических средств, требования к информационной и программной совместимости, состав программной документации, стадии, этапы разработки и сроки сдачи ПО. Во вкладке «Справочники» обеспечивается работа с информацией: должности, тип юридического лица, тип предметной области, тип характеристик пользователя, тип шаблона, физическое лицо, группа пользователей, единицы измерения. Эту информацию можно корректировать, добавлять и удалять. Заключение Разработанное программное средство ведет базу знаний о различных категориях пользователей с учетом их компьютерной грамотности, моторики, памяти, мышления, дальтонизма, концентрации внимания и др. На основе этих характеристик разрабатываются различные варианты пользовательского интерфейса, которые согласуются с заказчиком и реализуются в конечном ПО. Основными результатами работы является программное и математическое обеспечение для решения задач интеллектуального проектирования пользовательского интерфейса ПО с учетом индивидуальных характеристик пользователей. Решены следующие научно-практические задачи: - выявлены основные параметры, по которым можно классифицировать пользователей при разработке интерфейсов ПО; - разработана методика проектирования адаптированных пользовательких интерфейсов с элементами искусственного интеллекта; - разработана нечеткая модель на бинарных нечетких отношениях для подбора альтернативного шаблона интерфейса ПО. Предложенная методика позволит автоматизировать процесс проектирования пользовательского интерфейса, конкретизировать техническое задание на ПО, что в конечном итоге повысит объективность и оперативность решений, принимаемых разработчиками. Литература 1. Брауде Э. Технология разработки программного обеспечения. СПб: Питер, 2004. 655 с. 2. Кулямин В.В. Технологии программирования. Компонентный подход. М.: ИНТУИТ; БИНОМ. Лаборатория знаний, 2011. 463 с. 3. Таганов А.И., Гильман Д.В. Методологические основы анализа и аттестации уровней зрелости процессов программных проектов в условиях нечеткости: монография. М.: Горячая линия-Телеком, 2014. 168 с. 4. Ишакова Е.Н., Зубкова Т.М. Автоматизация управления рисками программных проектов на основе нечеткого логического вывода // Науч.-технич. вестн. информ. технологий, механики и оптики. 2015. № 5. С. 877–885. 5. Kudinov Yu.I. Synthesis of a fuzzy-logic control system. Jour. of Comp. and Syst. Sc. Intern. 1999, no. 1, pp. 158–164. 6. Chen J., Rine D.C. Training fuzzy logic controller software components by combining adaptation algorithms. Advances in Engineering Software. 2003, no. 3, pp. 125–137. 7. Kandel A., Zhang Y.-Q., Henne M. On use of fuzzy logic technology in operating systems. Fuzzy Sets And Systems. 1998, no. 3, pp. 241–251. 8. Wang J. A fuzzy project scheduling approach to minimize schedule risk for product development. Fuzzy Sets And Systems. 2002, no. 2, pp. 99–116. 9. Carr V., Tah J.H.M. A fuzzy approach to construction project risk assessment and analysis: construction project risk management system. Advances in Engineering Software. 2001, no. 10–11, pp. 847–857. 10. Джарратано Д., Райли Г. Экспертные системы: принцип разработки и программирование. 4-е изд. М.: Вильямс, 2007. 1152 с. 11. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб: БХВ-Петербург, 2005. 736 с. 12. Зубкова Т.М., Колобов А.Н. Автоматизированная информационная система составления технического задания с экспертной оценкой принятия решения. Свид. о гос. регистр. прогр. для ЭВМ № 2016616452. Заявл. 18.04.2016. Опубл. 10.06.2016. |
http://swsys.ru/index.php?id=4240&lang=.&page=article |
|