23
1 На правах рукописи СВЯТОВ КИРИЛЛ ВАЛЕРЬЕВИЧ МЕТОДЫ И СРЕДСТВА ПСЕВДОКОДОВОГОИНТЕРФЕЙСНОГО ПРОТОТИПИРОВАНИЯ ПРОЕКТНЫХ РЕШЕНИЙ Специальность: 05.13.12 – «Системы автоматизации проектирования (промышленностьАВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Ульяновск, 2011

АВТОРЕФЕРАТ - ulstu.ru

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

1

На правах рукописи

СВЯТОВ КИРИЛЛ ВАЛЕРЬЕВИЧ

МЕТОДЫ И СРЕДСТВА ПСЕВДОКОДОВОГОИНТЕРФЕЙСНОГО

ПРОТОТИПИРОВАНИЯ ПРОЕКТНЫХ РЕШЕНИЙ

Специальность: 05.13.12 – «Системы автоматизации проектирования (промышленность)»

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук

Ульяновск, 2011

2

Работа выполнена на кафедре «Вычислительная техника» Ульяновского государственного технического университета

Научный руководитель: доктор технических наук, профессор

Соснин Пётр Иванович

Официальные оппоненты: доктор технических наук, профессор Валеев Султан Галимзянович кандидат технических наук Семенов Владимир Геннадьевич

Ведущая организация:ФНПЦ ОАО «НПО «МАРС»,

г. Ульяновск.

Защита состоится «02» ноября 2011 г. в 15:00на заседании диссертационного Совета Д212.277.01 при Ульяновском государственном техническом университете по адресу: 432027, г. Ульяновск, ул. Северный Венец, д. 32. ауд. 211, гл. корпус.

С диссертацией можно ознакомиться в научной библиотеке Ульяновского государственного технического университета.

Автореферат разослан «__»________ 2011 г.

Учёный секретарь Смирнов диссертационного совета Виталий Иванович д.т.н., профессор

3

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность работы. Успешность разработок и результативность функционирования сложных

автоматизированных систем в существенной мере зависит от рационального и качественного включения в автоматизированные системы (АС) человеко-компьютерных взаимодействий. Осуществление таких взаимодействий, распределенных по жизненному циклу АС и между лицами, вовлеченными в этот цикл, обеспечивают интерфейсные средства, в совокупности образующихинтерфейсное обеспечение (ИО) АС. Наразных этапах проектирования ИО помогает решать различные задачи, в число которых, например, входит «интерактивное взаимодействие пользователя с АС» и «интерактивное связывание проектных решений в проектный прототип».

Создание интерфейсного обеспечения конкретной АС представляет собой специфический поток проектных работ, который базируется на распределении действий, вложенных в АС, между ее пользователями и техникой. При этом статистика последних пятнадцатилет констатирует безоговорочный успех разработок АС только на уровне 30-40%. Работы по созданию интерфейсного обеспечения занимают до 40% от всего времени разработки системы, что указывает на исключительную важность обеспечения качества интерфейсов для обеспечения итогового качества и успешности в целом разрабатываемой АС.

Успешность проектирования АС определяется тремя ключевыми показателями: установленным сроком проекта, его бюджетом и соответствием требованиям по качеству, для достижения которых часто используют тотальный контроль качества.Отсутствие возможности установки тотального контроля над проектом в рамках указанных показателей вызывает рост количества необоснованных решений, увеличивает финансовые и проектные риски, связанные с разработкой и внедрением АС.

Тотальный контроль качества, предполагающий контроль каждого из проектных решений, становится осуществим при использовании нормативных метрик (ISO 9126, ISO 9241, ISO 9001 и др.). При этом использование апробированных подходов в управлении качеством разработки и внедрения крупных программных систем значительно повышает предсказуемость проектов, снижает финансовые и ресурсные издержки.

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

В настоящее время существует множество средств быстрого прототипирования, решающих частные задачи, но низкий процент успешности

4

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

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

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

Направление исследований в диссертации связано с инструментально-технологическими методами и средствами, которые введены в процесс разработки АС специально дляпсевдокодового прототипирования проектных решений АС.

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

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

Цель исследований. Целью исследований является повышение степени успешности разработок

АС за счет выгод от использования быстрого псевдокодового прототипирования проектных решений.

Задачи диссертационного исследования: 1. Выявить способы поиска точек интерактивных взаимодействий в проектируемой АС. 2. Исследовать и разработать механизмы построения интерфейсных диаграмм, абстрактных и конкретных моделей прототипов АС. 3. Создать систему прецедентов, обслуживающих процессы псевдокодового прототипирования проектных решений, и материализовать её в виде базы прецедентов.

5

4. Разработать механизмы псевдокодового прототипирования проектных решений в версии, допускающей комплексирование с инструментально-технологическими средствами разработки АС. 5. Создать методическое обеспечение комплекса средств, обеспечивающих псевдокодовое прототипирование проектных решений АС. Провести испытания комплекса средств псевдокодового прототипирования проектных решений.

На научную новизнупретендуют: 1. Метод псевдокодового интерфейсного прототипирования

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

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

3. Интерпретируемый язык описания интерфейсных прецедентов, определяющий правила трансформации интерфейсных диаграмм в абстрактные модели и абстрактных моделей в прикладные исполняемые модели с указанием свойств элементов управления, их событий и связей с другими элементами проектного решения.

4. Библиотека метрик интерфейсного обеспечения АС, объединяющая типовые интерфейсные решения стандартов и их расширений, зарекомендовавших себя на практике, в которой каждая метрика представлена в виде модели прецедента, интегрирующей текстовую, логическую, графическую, псевдопрограммную и исполняемую версию ее продукционного представления, что упрощает выбор и настройку метрики по месту ее использования.

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

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

6

2. Метод построения интерфейсных диаграмм, в реализации которого для связывания частей решения любых типов («заглушка», исполняемый код, функциональность, вызываемая извне и другие артефакты) в единое целое используются диаграммные (графические) средства, подобные диаграммам прецедентов языка UML. 3. Совокупность трансформаций, преобразующая шаг за шагом графику интерфейсных диаграмм в исполняемый прототип так, что в прототип включаются базовая интерфейсная схема (вопросно-ответное представление), элементы управления, связываемые составляющие проектных решений и исполняемый код (платформонезависимый и/или платформозависимый). 4. Библиотека интерфейсных прецедентов, представленная в виде совокупности продукционных форм (текстовая, графическая, вопросно-ответная, логическая, исходный исполняемый код), обеспечивающая автоматический или автоматизированный выбор интерфейсных метрик в любой момент процесса формирования интерфейсного прототипа.

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

интерфейсного прототипирования проектных решенийАС, создана библиотека прецедентови метрик интерфейсных решений, основанная на руководстве по созданию интерфейсов Microsoft, стандартах ISO 9126, ISO 9241, разработан комплекс методик про псевдокодовому интерфейсному прототипированию проектных решений.

Реализация и внедрение результатов работы. Разработанные программные средства и комплекс методик их

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

Апробация работы. Основные положения и результаты диссертационной работы докладывались

и обсуждались на следующих конференциях:«Континуальные алгебраические логики, исчисления и нейроинформатика в науке и технике – КЛИН» (Международная НТК, г. Ульяновск, 2005, 2006, 2007); «InteractiveSystemsAndTechnologies: TheProblemsofHuman-ComputerInteraction» (Международная НТК, г. Ульяновск, 2005, 2007, 2009); «Современные технологии учебного процесса в вузе»(Научно-методическая конференция УлГТУ, г. Ульяновск, 2007); «InformationTechnologies: ProceedingofRussian-Germanscientificconferencedevotedto 10-yearscooperationofUlyanovskStateTechnicalUniversityandDarmshtadtUniversityofAppliedScience» (Международная НТК, г. Ульяновск, 2007); «Информатика и вычислительная техника– ИВТ» (Всероссийская НТК, г. Ульяновск, 2009, 2010, 2011); «Информатика, моделирование, автоматизация проектирования - ИМАП» (Всероссийская НТК, г. Ульяновск, 2010); «Системный анализ и семиотическое моделирование» (Всероссийская конференция с Международным участием, г. Ульяновск, 2011).

7

Публикации.Поматериаламдиссертационнойработыопубликована21печатнаяработа.

Структураиобъёмработы. Диссертационнаяработа состоит из введения, четырёх глав с выводами, заключения, библиографического списка использованной литературы (135наименований) и шести приложений, общим объемом 221 страница машинописного текста. Диссертация содержит 39рисунков и 9 таблиц.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ В первой главедиссертационной работы раскрываются вопросы, связанные

с системной инженерией, жизненным циклом АС, человеко-компьютерным взаимодействием и дизайном, ориентированным на пользователя, обосновывается необходимость использования псевдокодового прототипирования проектных решений в жизненном цикле АС. Обосновывается необходимость учета коллективной деятельности во время реализации АС. Упоминаются вопросы профессиональной зрелости процессов разработки АС. Приводится обзор парадигм, методов и средств прототипирования пользовательских интерфейсов и проверки проектных решений на ранних стадиях разработки АС.

Приводятся аргументы, доказывающие целесообразность псевдокодового прототипирования проектных решенийАС, исходя из следующих положений: 1. Функциями базовых единиц, на основе которых предлагается осуществлять псевдокодовое прототипирование проектных решений, целесообразно возложить на тексты постановки проектных задач и проектных решений и модели пользовательских действий, получаемые путем трансформаций моделей интерфейсных диаграмм в абстрактные, а затем конкретные модели. 2. Интеграция предлагаемых методов и инструментальных средств в процесс разработки АС для согласованности всех решений и взаимодействия со всеми процессами разработки АС. 3. Так как автор диссертационной работы является членом рабочей группы «Вопросно-ответные процессы, технологии и системы», создавшей ряд версий инструментально-технологического комплекса WIQA, основное назначение которого связано с поддержкой процессов концептуального проектирования АС, то функции средств псевдокодового прототипирования проектных решений целесообразно включить в функциональный потенциал комплекса WIQA, что существенно упростит программирование разрабатываемых средств.

Приведена общая схема области интересов человеко-компьютерного взаимодействия в привязке к проектированию АС.

8

 

Рис. 1 Область интересов человеко-компьютерного взаимодействия

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

Приведены примеры существующих языков описания пользовательских интерфейсов и обоснована необходимость создания нового языка согласованного с основными возможностями вопросно-ответного процессора WIQA.NET.Основные критерии оценки возможности использованияязыка в системе псевдокодового прототипирования проектных решенийследующие:согласованность–язык должен быть согласованным с другими подсистемами системы автоматизированного проектирования; платформонезависимость – язык должен быть поддерживаемым на нескольких программных платформах; расширяемость – язык должен быть расширяемым описанием новых свойств, объектов и атрибутов; возможность быстрого прототипирования – язык должен поддерживать возможность быстрого создания исполняемых прототипов (иметь интерпретатор); практичность – язык должен быть легко читаемым неспециалистами в области программирования.

9

Проведён вопросно-ответный анализ обобщённой постановки задачи с ответами на вопросы: Каким образом осуществляется «псевдокодовое прототипирование»

«интерфейсного обеспечения» как процесс повышения качества АС на этапе концептуального проектирования АС?

Как средства прототипирования помогут уменьшить время разработки АС? В каком виде хранятся единицы базы опыта, являющиеся элементарными

единицами разрабатываемого интерфейсного прототипа проектных решений?

Каким образом осуществляется внедрение единиц опыта прототипирования пользовательских интерфейсов в структуру задач проекта?

Каким образом осуществляется генерация прототипа и его отображение в виде исполняемого приложения?

Каким образом типовые модели проектирования пользовательского интерфейса будут использоваться в процессе вопросно-ответного интерфейсного прототипирования? Во второй главепредставлены модели интерфейсных диаграмм,

абстрактной и конкретной моделей пользовательского интерфейса, языка объектно-вопросно-ответных трансформаций, языка представления интерфейсных прецедентов, объединенных в библиотеку, описание языка псевдокодового представления интерфейсных прототипов проектных решений, механизмы трансформации моделей, кодогенерации и языка трансформаций элементов управления.

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

При описании модели диаграмм используются следующие типы переменных: Z – множество всех целых чисел; N – множество всех натуральных чисел; R – множество всех действительных чисел; Strings – множество всех строк; Images – множество всех графических рисунков; Bool – логический тип; DateTime – множество всех дат и времен,

пустое множество. Интерфейсная диаграмма Idg – это пара элементов, имеющая вид:

, , (1) где – название интерфейсной диаграммы, DomainModel – модель предметной области и задач пользователя (см. формулу 1.1), NavModel – модель навигации (см. формулу 1.2).

Модель предметной области и задач пользователя описывает общую структуру задач пользователя проектируемой системы и объекты предметной области, в рамках которой осуществляется прототипирование проектных решений. Модель имеет следующие составляющие:

, , , ,   (1.1)

10

Где Roles – роли пользователей в системе (см. формулу 1.1.1), Tasks – абстрактные задачи пользователей (см. формулу 1.1.2), Actions – действия пользователей над элементами объектов предметной области (см. формулу 1.1.3), Elements – элементы объектов предметной области (1.1.4), DomainObjects – объекты предметной области (см. формулу 1.1.5).

Роли пользователей в системе Roles представляют собой множество пар акторов и связей между ними:

 ,

, : , , 

(1.1.1)

Каждая связь между акторами описывается множеством акторов, с которым связывается i–ый актор:

:    , , 

(1.1.1.1)

Каждая связь i-ого актора с задачами описывается множеством задач, с которыми связан данный актор:

  :    , , 

) (1.1.1.2)

Каждый актор описывается идентификатором , именем актора и дополнительным описанием

. , , (1.1.1.3)

Абстрактные задачи представляют собой множество задач , связей между ними и связей задач с действиями над элементами объектов предметной области:

 

,

: , , 

(1.1.2)

где – задача пользователя, – ссылки i-ой задачи на другие задачи, – ссылки i-ой задачи на действия над элементами объектов предметной области.

, ,   (1.1.2.1) 

    , , 

(1.1.2.2)

  :     , , 

(1.1.2.3)

Действия пользователей над элементами объектов предметной области определяются множеством пар действий и связей действий с элементами .

 ,:     , ,   , ,

  ,   (1.1.3)

Каждое действие представляет собой четверку:   , , , (1.1.3.1),

где – имя действия,   – уникальный идентификатор действия,   – дополнительное описание действия, – тип действия (один из вариантов):

11

 Старт , Стоп , Выбор , Создание ,

Удаление , Модификация , Перемещение ,Дупликация , Переключение , Просмотр

(1.1.3.2)

 ,

:  

  , ,  , ,

  , 

(1.1.4) 

Элементы объектов предметной области представляют собой множество пар объектов предметной области и элементов , каждый из которых описывается четверкой:

 , ,

,, (1.1.4.1)

  – имя элемента, - уникальный идентификатор элемента, – дополнительное описание элемента, – тип элемента объектов предметной области:

Элемент , Контейнер ,Операция , Коллекция

(1.1.4.2)

Объекты предметной области DomainObjects представляют собой множество пар объектов :

    : , , 

(1.1.5)

Каждый объект предметной области описывается четверкой элементов: 

 , ,, (1.1.5.1)

где – имя объекта, – уникальный идентификатор объекта, - дополнительное описание объекта, – свойства объекта, которые описываются следующим образом:

, : , ,

  (1.1.5.2)

Каждое свойство состоит из пятерки элементов: 

,  , , , ,

, , , ,

, , (1.1.5.3)

где , – имя свойства, , – уникальный идентификатор, , - тип доступа к свойству, , - тип данных свойства,

, – значение свойства по умолчанию.

,  Открытый,  Закрытый ,

  Защищенный (1.1.5.4)

12

,    

Строка , Целое число ,Вещественное число ,Символ , Время ,

Список , Изображение

(1.1.5.5) 

,  

, если  , Строка , Список  , если  , Целое число

, если  , Вещественное число, если  , Изображение

, если  , Время

(1.1.5.6)

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

.

:  , , 

(1.2)

, , ,, ,,

(1.2.1)

 , ,

,  

где – параметры вызова внешней библиотеки, – имя контекста навигации,   – его

дополнительное описание,   – уникальный идентификатор контекста навигации, - путь к файлу внешней библиотеки,

- метод типа во внешней библиотеке для вызова, - тип во внешней библиотеке, - параметры

метода во внешней библиотеке, – тип контекста навигации.

 Обычный , Внешняя библиотека ,Внешняя библиотека из объекта ,

методика

 

 

  ‘Внешняя библиотека’   ‘Внешняя библиотека из объекта’   

, , ,

 , если   ‘Внешняя библиотека’

, если    ,

при этом   , ,   , ,

13

  ,   , если Внешняя библиотека из объекта

где   , , , , ,   , ,,  

Интерфейсные диаграммы составляются в визуальном редакторе и могут

быть сохранены в UXMLфайл с описанием всех объектов и связей между ними. Абстрактная модель пользовательского интерфейса позволяет подробнее

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

В общем виде в системе поддерживаются четыре вида трансформаций: из XML-описания интерфейсных диаграмм в вопросно-ответный протокол; из вопросно-ответного представления абстрактной модели в вопросно-

ответное представление конкретной модели; из вопросно-ответного представления конкретной модели в XML-

представление псевдокодового описания прототипа проектных решений; из псевдокодового описания прототипа проектных решений в исходные

коды на целевой платформе (Microsoft .NETWindowsForms 3.5). Трансформация интерфейсных диаграмм в абстрактную модель в вопросно-

ответном протоколе основана на средствах объектно-вопросно-ответных преобразований, правила которых описываются на языке объектно-вопросно-ответных преобразований.

Язык объектно-вопросно-ответных преобразований основан на XML и предназначен для описания правил трансформаций объектов языков программирования в вопросно-ответный протокол. В настоящее время разработан универсальный интерпретатор этого языка, на вход которого подается XML описание правил трансформации и объект, который необходимо представить в вопросно-ответном виде.

Приведем формальное описание языка объектно-вопросно-ответных преобразований.

Язык описывается контекстно-свободной грамматикой G = (VT, VN, P, S), где VT – алфавит терминальных символов (терминалов) определяется

множеством натуральных чисел, символов и букв русского и английского алфавитов.

VN – алфавит нетерминальных символов (нетерминалов), описанных в левой части правил, представленных ниже для языка объектно-вопросно-ответных преобразований.

S –цель грамматики (ШАБЛОН). P – правила вывода.

14

Правила вывода P в расширенной форме Бэкуса-Наура описываются следующим образом:

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

Каждый элемент базы прецедентов описывается: a. Текстом описания. b. Свойствами компонента. c. Логическим видом, задающим условия срабатывания кода прецедента:

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

d. Графическим представлением. e. Вопросно-ответным протоколом с рекомендациями к использованию. Каждый элемент базы прецедентов предназначен для выбора конкретного

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

Язык интерфейсных прецедентовпредназначен для описания интерфейсных прецедентов, используемых в системе формирования конкретной интерфейсов проектных решений. Каждый интерфейсный

ИМЯ_ШАБЛОНА_QAЗАКР_СКОБКА ИМЯ_ШАБЛОНА_QA = ‘QA’ АТРИБУТЫ_XML = [СВОЙСТВО_МОДЕЛИ] ТИП_МОДЕЛИ ТЕКСТ_МОДЕЛИ [МНОЖЕСТВЕННОСТЬ_МОДЕЛИ] СВОЙСТВО_МОДЕЛИ = ИМЯ_МОДЕЛИ ПРИСВАИВАНИЕ ЛИТЕРАЛ ИМЯ_МОДЕЛИ = ‘Model’ ПРИСВАИВАНИЕ = ‘=’ ТИП_МОДЕЛИ = ИМЯ_ТИПА ПРИСВАИВАНИЕ ЛИТЕРАЛ ИМЯ_ТИПА = ‘Type’ ТЕКСТ_МОДЕЛИ = ИМЯ_ТЕКСТА ПРИСВАИВАНИЕ ЛИТЕРАЛ ИМЯ_ТЕКСТА = ‘Text’ МНОЖЕСТВЕННОСТЬ_МОДЕЛИ = ИМЯ_МНОЖЕСТВЕННОСТИ ПРИСВАИВАНИЕ ЛИТЕРАЛ ИМЯ_МНОЖЕСТВЕННОСТИ = ‘Multiplicity’

ШАБЛОН = ОТКР_ТЕГ_ШАБЛОНА {ШАБЛОН_QA_ПРОТОКОЛА} ЗАКР_ТЕГ_ШАБЛОНА ОТКР_ТЕГ_ШАБЛОНА = ОТКР_СКОБКА ИМЯ_ШАБЛОНА ЗАКР_СКОБКА ЗАКР_ТЕГ_ШАБЛОНА = ОТКР_СКОБКА_ЗАКРЫТИЯ ИМЯ_ШАБЛОНА ЗАКР_СКОБКА ИМЯ_ШАБЛОНА = ‘QATemplate’ ОТКР_СКОБКА = ‘<’ ЗАКР_СКОБКА = ‘>’ ОТКР_СКОБКА_ЗАКРЫТИЯ = ‘</’ ЗАКР_СКОБКА_ЗАКРЫТИЯ = ‘/>’ ШАБЛОН_QA_ПРОТОКОЛА = ОТКР_СКОБКАИМЯ_ШАБЛОНА_QAАТРИБУТЫ_XMLЗАКР_СКОБКА {АТРИБУТЫ_QA}

15

прецедент состоит из описания правила для его встраивания в вопросно-ответный протокол, описания правил автоматизированного выбора, автоматизированных правил его использования, свойств и событий.

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

Часть грамматики языка представлена ниже.

После определения точек встраивания прецедентов становится возможным

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

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

Генерация псевдокодового прототипа осуществляется на основе данных конкретной модели путем обратных объектно-вопросно-ответныхпреобразований. При этом в псевдокод встраиваются элементыXML, представляющие собой формы (окна), элементы управления, их свойства и события, параметры для вызова методов внешних библиотек, параметры для вызова методик из системы WIQA.NETи параметры для вызова функциональности, запрограммированной в системе прецедентов WIQA.NET.

Псевдокодовое представление проектных решений осуществляется автоматически с использованием средств вопросно-ответных-объектных преобразований, когда из вопросно-ответного протокола с используемой системой атрибутики формируются объекты, представляющие собой конкретный прототип системы. Эта объектная модель автоматически средствами языка C# преобразуется в XML представление, которое затем может быть трансформировано на целевую платформу.

ПРЕЦЕДЕНТ = ОТКР_СКОБКА  ИМЯ_ПРЕЦЕДЕНТА  СВОЙСТВА_ПРЕЦЕДЕНТА  ЗАКР_СКОБКА ПРАВИЛА_ВЫБОРА   ПРАВИЛА_ИСПОЛЬЗОВАНИЯ ОТКР_СКОБКА_ЗАКРЫТИЯ ИМЯ_ПРЕЦЕДЕНТА   ЗАКР_СКОБКА = ‘>’ ИМЯ_ПРЕЦЕДЕНТА = ‘Precedent’ ОТКР_СКОБКА = ‘<’ ЗАКР_СКОБКА = ‘>’ ОТКР_СКОБКА_ЗАКРЫТИЯ = ‘</’ ЗАКР_СКОБКА_ЗАКРЫТИЯ = ‘/>’ СВОЙСТВА_ПРЕЦЕДЕНТА = ИМЯ_СВОЙСТВА ПРИСВАИВАНИЕ ЛИТЕРАЛ  ОПИСАНИЕ_СВОЙСТВА ПРИСВАИВАНИЕ  ЛИТЕРАЛ ИМЯ_СВОЙСТВА = ‘name’ ОПИСАНИЕ_СВОЙСТВА = ’description’ ПРИСВАИВАНИЕ = ’=’ ПРАВИЛА_ВЫБОРА = ОТКР_СКОБКА ИМЯ_ВЫБОРА ЗАКР_СКОБКА АВТОМАТИЧЕСКИЙ_ВЫБОР АВТОМАТИЗИРОВАННЫЙ_ВЫБОР ОТКР_СКОБКА_ЗАКРЫТИЯ ИМЯ_ВЫБОРА ЗАКР_СКОБКА 

16

Язык псевдокодового представления интерфейсных прототипов проектных решенийпредназначен для описания интерфейсных прототипов проектных решений, автоматически формируется средствами системы псевдокодового прототипирования на основе данных вопросно-ответного протокола и представляет собой XML-описание пользовательского интерфейса разрабатываемого решения, на основе которого генерируется исполняемый прототип на целевой платформе.

Часть грамматики языка представлена ниже.

Генерация исполняемого прототипа осуществляется из псевдокода в проект

WindowsFormsдля интегрированной среды разработки VisualStudio 2010.Механизмы генерации основаны на простом восстановлении программной модели псевдокодового прототипа.

В третьей главедиссертации раскрыта общая алгоритмическая схема псевдокодового прототипирования проектных решенийАС и приведены его детали.Для представления деталей используются методики и UML-диаграммы.

В обобщенном виде алгоритм применения метода псевдокодового прототипирования проектных решенийАС выглядит следующим образом: 1. Сформировать интерфейсную диаграмму с использованием встроенного редактора. 2. Сформировать в вопросно-ответном протоколе абстрактную модель пользовательского интерфейса на основе построенной интерфейсной диаграммы. 3. Сформировать конкретную модель пользовательского интерфейса в вопросно-ответном протоколе на основе данных абстрактной модели и интерфейсных прецедентов. 4. Конкретизировать конкретную модель в автоматизированном режиме с целью выбора необходимых элементов управления и определения условий их использования. 5. Если достигнут необходимый уровень детализации, то сформировать псевдокодовое представление пользовательского интерфейса АС. 6. Из псевдокодового представления сформировать прототип на целевой платформе. 7. Если необходимо - внести изменения в необходимые модели и повторить методику с нужного шага до генерации исполняемого прототипа на целевой платформе.

ПРОТОТИП = ОТКР_СКОБКА ИМЯ_ПРОТОТИПА ЗАКР_СКОБКА ОКНА АКТОРЫ ОБРАБОТЧИКИ ОТКР_СКОБКА_ЗАКРЫТИЯ ИМЯ_ПРОТОТИПА ЗАКР_СКОБКА ИМЯ_ПРОТОТИПА = ‘CodePrototype’ ОТКР_СКОБКА = ‘<’ ЗАКР_СКОБКА = ‘>’ ОТКР_СКОБКА_ЗАКРЫТИЯ = ‘</’ ЗАКР_СКОБКА_ЗАКРЫТИЯ = ‘/>’

17

В общем виде алгоритм выглядит следующим образом:

Интерфейсные прецеденты

I. Построение интерфейсной диаграммы

II. Формирование абстрактного прототипа

III. Формирование конкретного прототипа

IV. Формирование псевдокодового представления интерфейсного прототипа

V. Генерация исполняемого потототипа на целевой

платформе

Файл UXML с описанием моделей интерфейсной диаграммы

QA-Протокол с QA представлением объектов интерфейсной диаграммы

QA-Протокол конкретного прототипа

PXML Файл с псевдокодовым представлением интерфейсного прототипа

Редактор интерфейсных диаграмм

Интерпретатор QA-Шаблонов в привязке к модели UXML

Многоагентная система на основе

прецедентов

Интерфейсный прецедент:1. QA-правило автоматического выбора

2.QA-Правило автоматизированного выбора3. Свойства4. События

5. QA-Протокол использования6. Объектная модель

7. Исходный код шаблона8. Графическое представление

Интерфейсный прецедент:1. QA-правило автоматического выбора

2.QA-Правило автоматизированного выбора3. Свойства4. События

5. QA-Протокол использования6. Объектная модель

7. Исходный код шаблона8. Графическое представление

Интерфейсный прецедент:1. QA-правило автоматического выбора

2.QA-Правило автоматизированного выбора3. Свойства4. События

5. QA-Протокол использования6. Объектная модель

7. Исходный код шаблона8. Графическое представление

Формирователь псевдокода

Интерпретатор псевдокода под

целевую платформу. Компилятор целевого

языка программирования

Интерпретатор псевдокода под

целевую платформу. Компилятор целевого

языка программирования

Интерпретатор псевдокода под

целевую платформу. Компилятор целевого

языка программирования

VI. Проверка и модификация исполняемого прототипа на целевой платформе (Windows

Forms, HTML, ...)

<Precedent Name="TextBox" Description=""><Selection>

<Automate><SelectionRule>

<QATemplate><QA Select="false">

<Attribute Name="object"></Attribute><QA Select="true">

<Attribute Name="propertyname"></Attribute>

Вопросно-ответные прецеденты

Интерфейсный прецедент:1. QA-правило автоматического выбора

2.QA-Правило автоматизированного выбора3. Свойства4. События

5. QA-Протокол использования6. Объектная модель

7. Исходный код шаблона8. Графическое представление

Интерфейсный прецедент:1. QA-правило автоматического выбора

2.QA-Правило автоматизированного выбора3. Свойства4. События

5. QA-Протокол использования6. Объектная модель

7. Исходный код шаблона8. Графическое представление

Вопросно-ответный прецедент:1. Символьное имя

2.QA-Протокол условий использования3. QA-Протокол использования

4. Исходный код на C# С возможностью динамической компиляции

5. Исходный код на JavaScript/HTML6. Исходный код на С/С++

7. ...

Вопросно-ответные программы

Внешние библиоте

Рис. 2 Алгоритмическая схемапсевдокодового прототипирования проектных решенийАС

В реализацию метода псевдокодового прототипирования интерфейсного обеспечения АС входят: Формирование интерфейсной диаграммы. Формирование абстрактной модели. Формирование конкретной модели, автоматизированный выбор элементов управления, определение свойств и внешних связей.

Формирование псевдокодового представления. Формирование исполняемого прототипа на целевой платформе.

В четвёртой главе раскрываются вопросы реализации системы псевдокодового прототипирования проектных решенийАС.

Разработанный комплекс псевдокодового прототипирования проектных решений включает в себя (Рис. 3): систему атрибутики, позволяющую совершать объектно-вопросно-ответные

преобразования;

18

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

систему генерации исполняемых прототипов для технологии Microsoft.NETFramework 3.5 WindowsForm, основанную на правилах преобразований в XML;

модуль псевдокодового прототипирования проектных решенийАС, включающий в себя:

o модуль трансформации интерфейсных диаграмм в абстрактную модель в QA-протоколена основе вопросно-ответных XMLшаблонов с атрибутами;

o модуль трансформации абстрактной модели в конкретную, использующий библиотеку интерфейсных прецедентов, описанных как множество вопросно-ответных XMLшаблонов с атрибутами;

o модуль формирования псевдокода, представленного в XML-файле из конкретной QA-модели;

o систему управления всеми модулями системы, предоставляющую визуальные средства управления всеми модулями системы.

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

Проведены экспериментальные исследования методапсевдокодового прототипирования проектных решенийАС.

В процессе проведения эксперимента оценивались следующие показатели: 1. Время, затраченное на создание исполняемого прототипа с

использованием системы псевдокодового прототипирования проектных решений.

2. Количество ситуаций, в которых в конкретной модели необходимо исправить выбор контрола с предложенного системой на необходимый.

3. Качество сгенерированного кода. Измерение проводилосьдля двух типов прототипов: созданного в системе

псевдокодового прототипированияпроектных решений и созданного с использованием VisualStudio 2010 (Рис. 4), т.к. эта IDE имеет средства автоматического анализа исходного кода и предоставляет возможности по построению прототипов проектных решений, аналогичным прототипам, получаемым в предлагаемых решениях.

19

Рис. 3 Компонентная модель системы псевдокодового прототипирования проектных

решений АС (Cl – клиентская часть модуля, C- коннектор, S-сервер) Эксперимент осуществлялся на восемнадцати примерах: 6 примеров

созданы сотрудниками предприятия, на котором проводилось внедрение системы псевдокодового интерфейсного прототипирования проектных решений, 6 примеров созданы студентами УлГТУ, 6 примеров созданы в качестве обучающих для программистов предприятия, при этом для этих сотрудников был проведен мастер-класс по обучению прототипированию в предлагаемом комплексе средств.

Результаты эксперимента в виде графиков выглядят следующим образом:

Рис. 4 Эффективность системы псевдокодового прототипирования по сравнению с

прототипированием в VisualStudio 2010 для аналогичных прототипов

y = 12,90ln(x) ‐ 23,44

0

10

20

30

40

50

0 50 100 150

Время созд

ания прототипа в 

WIQA.NET

Время создания прототипа в VS 2010

Время для подготовленного разработчика, мин

Логарифмическая (Время для подготовленного разработчика, мин)

20

Рис. 5 Зависимость количества строк сгенерированного кода от количества элементов

интерфейсной диаграммы В результате проведенного эксперимента было выявлено, что временная

эффективность использования метода и инструментально-технологических средств псевдокодового прототипирования проектных решенийАС по сравнению с прототипированием в VisualStudio составляет 38%, по сравнению с нормативными значениями, взятыми из модели COCOMOII – 98% (такая высокая эффективность обусловлена низким качеством генерируемого исходного кода, оценка которого производилась встроенными средствами VisualStudio 2010).

Основные результаты работы Подводя обобщающий итог диссертационному исследованию и

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

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

Предложена, исследована и проверена совокупность новых методов и моделей, на базе которых осуществляется псевдокодовое программирование интерфейсных прототипов в проектировании АС.

Получены новые научные результаты: 1. Метод псевдокодового интерфейсного прототипирования концептуальных проектных решений, интегрирующий сценарно-ориентированный подход с подходом к проектированию, управляемом моделями, в их приложении к созданию оперативных интерфейсных прототипов в форме исполняемых кодов, удобных для экспериментирования. 2. Модель интерфейсных диаграмм, развивающих диаграммное представление use-caseдиаграммы проектного решения на языке UMLза счёт её дополнения объектной моделью, моделью навигации и абстрактной моделью пользовательского интерфейса, представленной в вопросно-ответном виде с расширением в виде системы атрибутов.

y = 13,19ln(x) ‐ 55,52

0

5

10

15

20

25

30

35

40

45

0 500 1000 1500

Количество строк сгенерированного кода

Количество элементов диаграммы

Логарифмическая (Количество элементов диаграммы)

21

3. Конкретная модель пользовательского интерфейса, получаемая из абстрактной модели путем автоматического выбора интерфейсных прецедентов визуальных элементов управления с возможностью последующего автоматизированного выбора с целью конкретизации получаемого исполняемого прототипа. 4. Язык описания интерфейсных прецедентов и интерпретатор правил, описанных на этом языке, осуществляющий трансформацию моделей с целью их конкретизации: из интерфейсных диаграмм в абстрактные модели и из абстрактных в конкретные. 5. Библиотека прецедентов интерфейсного обеспечения АС, содержащая элементы интерфейсных прототипов с описанием предусловий их использования, рекомендаций по выбору среди нескольких альтернативных элементов управления, описанием свойств соответствующих элементов интерфейсных прецедентов, представленные в виде вопросно-ответных XML шаблонов с назначенными атрибутами (17 прецедентов, включающих в себя около 500 метрик интерфейсного обеспечения, основанных на рекомендациях Microsoft, ISO 9126, ISO 9241 и других источниках).

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

псевдокодового интерфейсного прототипирования проектных решенийАС, комплекс методик по использованию данного комплекса, а также библиотека интерфейсных прецедентов и метрик.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ Публикации в изданиях, рекомендованных ВАК РФ

1. К.В.Святов, П.И.Соснин. Псевдокодовое программирование интерфейсных прототипов в проектировании автоматизированных систем. // Научно-технический журнал «Автоматизация процессов управления». №3(21)2010. Ульяновск: ФНПЦ ОАО НПО «Марс». С.-81

Публикации в иных изданиях 1. К.В.Святов, А.А.Салмов. Организация web-доступа к вопросно-ответным базам

проектов. // Информатика, системы искусственного интеллекта и моделирование технических систем: Труды международной конференции «Континуальные алгебраические логики, исчисления и нейроинформатика в науке и технике -КЛИН-2005» (г.Ульяновск, 17-19 мая 2005 г.)/ Под общей ред. Л.И.Волгина. -Ульяновск: УлГТУ, 2005.

2. K.Svyatov. Web interface of question-answer database of projects. // Interactive Systems And Technologies: The Problems of Human-Computer Interaction. - Proceedings of the International Conference, 26-30 September 2005, Ulyanovsk. - Ulyanovsk: U1STU, 2005.

3. К.В.Святов. Результат оценки практичности пользовательского интерфейса WEB-оболочки вопросно-ответного процессора NetWIQA. // Информатика, системы искусственного интеллекта и моделирование технических систем: Труды международной конференции «Континуальные алгебраические логики, исчисления и нейроинформатика в науке и технике - КЛИН-2006» (г.Ульяновск, 16-18 мая 2006 г.)/ Под общей ред. Л.И.Волгина. - Ульяновск: УлГТУ, 2006.

4. К.В.Святов. Сквозное проектирование метрик качества в автоматизированных системах // Информационные и интеллектуальные технологии: Труды

22

международной «Конференции по логике, информатике, науковедению - КЛИН-2007»(г.Ульяновск, 17-18 мая 2007 г.) - Ульяновск:УлГТУ, 2007.

5. К.В.Святов. Процесс разработки семейства web-интерфейсов вопросно-ответного процессора NetWIQA // Информационные и интеллектуальные технологии: Труды международной «Конференции по логике, информатике, науковедению - КЛИН-2007»(г.Ульяновск, 17-18 мая 2007 г.) - Ульяновск:УлГТУ, 2007.

6. K.Svyatov. Question-answer processor NetWIQA web interface family development process // Information Technologies: Proceeding of Russian-German scientific conference devoted to 10-years cooperation of Ulyanovsk State Technical University and Darmshtadt University of Applied Science. –Ulyanovsk: U1STU, 2007.

7. K.Svyatov. Software ergonomics metrics views // Interactive systems and technologies: The Problems of Human-Computer Interaction. - Collection of scientific papers. -UJyanovsk:UlSTU, 2007.

8. K.Svyatov. System of ergonomic specifications and metrics adoption// Interactive systems and technologies: The Problems of Human-Computer Interaction. - Collection of scientific papers. - Ulyanovsk:UlSTU, 2007

9. К.В.Святов. Распределение метрик качества программного обеспечения с использованием принципов аспектно-ориентированного проектирования. // Информационные и интеллектуальные технологии: Труды международной «Конференции по логике, информатике, науковедению - КЛИН-2007»(г.Ульяновск, 17-18 мая 2007 г.) - Ульяновск:УлГТУ, 2007.

10. К.В.Святов. Разработка web-интерфейса процессора NetWIQA как инструментально-технологической среды вопросно-ответного моделирования // Вестник Ульяновского государственного технического университета (Вестник УлГТУ)2/2007. - Ульяновск:УлГТУ, 2007.

11. К.В.Святов. Принципы аспектно-ориентированного распределения метрик эргономики программного обеспечения с использованием возможностей вопросно-ответного моделирования. // Информационные технологии: межвузовский сборник научных трудов. Ульяновск: УлГТУ, 2008.

12. К.В.Святов. Интегрированная экспертная система поддержки проектирования пользовательских интерфейсов. // Информатика и вычислительная техника: сборник научных трудов / под науч. ред. П.И.Соснина. - Ульяновск. УлГТУ, 2009.

13. K.Svatov. Expert system for user-centered design. // Interactive systems and technologies: the Problems of Human-Computer Interaction. Volume III. - Collection of scientific papers.- Ulyanovsk: U1STU, 2009

14. K.Svatov. Aspect-oriented design of automated system's user interfaces. // Interactive systems and technologies: the Problems of Human-Computer Interaction. Volume III. -Collection of scientific papers.- Ulyanovsk: U1STU, 2009.

15. К.В.Святов. Трансформации моделей в прототипировании пользовательских интерфейсов в вопросно-ответных средах. // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. Н.Н.Войта. -Ульяновск: УлГТУ, 2010.

16. А.С.Пронин, К.В.Святов. Механизмы дополнительной атрибутики шаблонов представления документов системыDocWIQA.NET с применением средства редактирования MicrosoftOfficeWord 2007. // Информатика и вычислительная техника: сборник научных трудов / под. Ред. В.Н.Негоды - Ульяновск: УлГТУ, 2010

23

17. А.С.Пронин, К.В.Святов. Разработка шаблонов представления системы DocWIQA.NET с примененим средства редактирования MicrosoftOfficeWord 2007. // Информатика и вычислительная техника: сборник научных трудов / под. Ред. В.Н.Негоды - Ульяновск: УлГТУ, 2010

18. К.В.Святов. Интерфейсные диаграммы в псевдокодовом прототипировании проектных решений. // Информатика и вычислительная техника: сборник научных трудов / под. Ред. Н.Н.Войта - Ульяновск: УлГТУ, 2011

19. К.В.Святов. Оценка эффективности средств псевдокодового прототипирования проектных решений// Информатика и вычислительная техника: сборник научных трудов / под. Ред. Н.Н.Войта - Ульяновск: УлГТУ, 2011.

20. П.И.Соснин, К.В. Святов. Псевдокодовое моделирование прецедентов . Материалы Всероссийской конф. с международным участием "Системный анализ и семиотическое моделирование", - Казань, Изд-во ФЭН Академия наук РТ, 2011.

ПЕРЕЧЕНЬПРИНЯТЫХСОКРАЩЕНИЙ

АС Автоматизированная система РР Плансодержания ГОСТ Государственныйстандарт QA Question-Answer КС Корпоративнаяинструментально- RUP RationalUnifiedProcess

технологическаясреда UX UserExperience WIQA.NET WorkingInQuestionsandAnswers

АВТОРЕФЕРАТ

СВЯТОВ КИРИЛЛ ВАЛЕРЬЕВИЧ

МЕТОДЫ И СРЕДСТВА ПСЕВДОКОДОВОГО ИНТЕРФЕЙСНОГО

ПРОТОТИПИРОВАНИЯ ПРОЕКТНЫХ РЕШЕНИЙ

Подписано в печать __.__.2011. Формат 60x84/16.

Усл. п. л. 1,17.

Уч.-изд.л. 1,00. Тираж 100 экз. Заказ № ____.

Типография УлГТУ. 432027. Ульяновск, Сев. Венец, 32