Научная статья на тему 'Разработка web-интерфейса процессора NetWIQA как инструментально-технологической среды вопросно-ответного моделирования'

Разработка web-интерфейса процессора NetWIQA как инструментально-технологической среды вопросно-ответного моделирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
122
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВОПРОСНО-ОТВЕТНОЕ МОДЕЛИРОВАНИЕ / ASP.NET / ИНТЕРФЕЙС / ПРАКТИЧНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Святов Кирилл Валерьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка web-интерфейса процессора NetWIQA как инструментально-технологической среды вопросно-ответного моделирования»

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

пределах 0,5°. Таким образом, рассмотренный алгоритм является более подходящим для задачи оценивания путевого угла корабля.

Для последнего алгоритма были проведены исследования зависимости дисперсии ошибки оценивания путевого угла при разных дисперсиях шумов наблюдений скоростей по СНС и ускорений с ИНС (рис. 5).

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Соловьёв, Ю. А. Системы спутниковой навигации / Ю. А. Соловьёв. - М. : Эко-Трендз, 2000.

2. Васильев, К. К. Оптимальное стохастическое управление движением корабля / К. К. Васильев // Вестник УлГТУ. - Ульяновск : УлГТУ, 2000.-С. 27-37.

3. Сейдж, Э. П., Меле Дж. Теория оценивания и её применение в связи и управлении: пер. с англ. / под ред. Б. Р. Левина. - М. : Связь, 1976.

4. Лукомский, Ю. А. Навигация и управление движением судов / Ю. А. Лукомский, В. Г. Пошехонов, Д. А. Скороходов. - СПб. : Элмор, 2002.

Наместников Сергей Михайлович, кандидат технических наук, доцент кафедры «Телекоммуникации» Ульяновского государственного технического университета. Область научных интересов - статистическая обработка сигналов.

*

Полканов Алексей Сергеевич, аспирант кафедры «Телекоммуникации» УлГТУ. Область научных итпересов: алгоритмы обработки навигационной информации.

УДК 685.512

К. В. святов

РАЗРАБОТКА WEB-ИНТЕРФЕЙСА ПРОЦЕССОРА NetWIQA КАК ИНСТРУМЕНТАЛЬНО-ТЕХНОЛОГИЧЕСКОЙ СРЕДЫ ВОПРОСНО-ОТВЕТНОГО МОДЕЛИРОВАНИЯ

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

Ключевые слова: вопросно-ответное моделирование, ASP.NET, интерфейс, практичность.

Введение

К настоящему времени в рамках исследований и разработок рабочей группы «Вопросно-ответные процессы, технологии и системы» на кафедре «Вычислительная техника» УлГТУ создано несколько \уеЬ-интерфейеов к вопросно-ответному процессору NetWIQA [6], открывающих инструментальный доступ к ресурсам вопросно-ответного моделирования [1], соответствующих базовой функциональности статического клиента [6].

К. В. Святов, 2007

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

Первая оболочка вопросно-ответного процессора NetWIQA была создана с использованием технологии ASP со скриптовым языком написания сценариев Visual Basic. Она предоставляла пользователю возможность осуществления базовых действий при работе с вопросно-ответным протоколом [1]. Однако созданная программа обладала рядом недостатков, ведущих к сниже-

нию быстродействия, надёжности и безопасности:

■ одновременная загрузка всего дерева вопросно-ответных единиц;

■ отсутствие механизмов проверки соединения с сервером;

■ отсутствие механизмов защиты ресурсов сайта.

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

Постановка задачи

Перед созданием новой \уеЬ-оболочки была сформулирована постановка задачи, которая раскрывалась в следующем:

■ разработать открытую интерактивную систему шеЬ-доступа к ресурсам вопросно-ответного моделирования, упрощающую инсталляцию процессора №1\У1С>А, развертывание дополнительных рабочих мест и расширение его функциональных возможностей;

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

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

Поставленная задача предусматривает реализацию \¥еЬ-оболочки как удобного инструмента вопросно-ответного моделирования в руках проектировщика автоматизированных систем в корпоративной среде. Задача ■\\геЬ-интерфейса, так же как и статического клиента, заключается в обеспечении выгодного сочетания этого процесса, т. е. набора его правил, и инструментальных средств для организации эффективного проектирования [2].

Интерактивность системы подразумевает взаимодействие проектировщика с системой посредством набора диалоговых окон, в которых он определяет неформальное представление вопросно-ответных моделей в виде интерактивных объектов типа «вопрос» и «ответ». Внутреннее представление рассуждений определяется набо-

ром их атрибутов и свойств (формальное представление). На этом основано определение во-просно-ответной модели как «полуформального представления рассуждений» [1].

Открытость системы подразумевает возможность доступа к ресурсам вопросно-ответного моделирования не только членам проектной группы, но и всем, кто входит в окружение про-екта. Это реализуется созданием в системе анонимного пользователя с ограниченными правами, у которого при работе с \уеЬ-оболочкой отсутствуют элементы интерфейса, открывающие доступ к изменению вопросно-ответного протокола. .

Использование шеЬ-технологий при реализации программы позволяет значительно упростить развертывание дополнительных рабочих мест процессора №1\У1(2А, т. к. инсталляция производится лишь на один \уеЬ-сервер, рабочим же местом может быть любой компьютер с установленным \уеЬ-браузером, подключённый к Мете! или имеющий доступ через сеть к \veb-серверу с установленной системой.

Расширение функциональных возможностей системы производится параллельно группой программистов. Для ‘успешного и наиболее удобного выполнения поставленной задачи в системе предусмотрены конфигурируемые универсальные средства, которые помогут максимально избежать повторно используемого кода, упростить разработку и повысить её скорость. Это реализуется использованием компонентного подхода и принципов ООП.

Кроме того, система удовлетворяет предъявленным требованиям безопасности и надёжности:

■ предусмотрены системы идентификации и авторизации;

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

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

Этапы реализации

Реализация \уеЬ-интерфейса была осуществлена с использованием технологии ASP.NET с языком написания сценариев С#, т. к. эта технология обладает обширным набором готовых технологических средств создания \veb-pecypcoB любой степени сложности, предоставляет программисту удобную визуальную среду разработки и хорошо документирована.

Создание новой шеЬ-оболочки, реализующей поставленную задачу, осуществлялось в три эта-

па. На первом разработано дерево вопросно-ответных единиц с динамической подгрузкой новых уровней данных, реализован механизм соединения с СОМ сервером вопросно-ответного процессора NetWIQA, который является сервером приложения, и получение от него данных путём вызова методов клиентской библиотеки.

Дерево вопросно-ответных единиц было реализовано посредством динамической генерации HTML кода из XML шаблонов средствами С#. Шаблон представлял собой один узел дерева и состоял из четырёх частей: «картинка», соответствующая состоянию узла дерева (раскрыт / свернут); контейнер для текста единицы (div); невидимый контейнер для дочернего уровня единиц (8iv); невидимый фрейм, в который загружался дочерний уровень единиц при клике на картинку.

Шаблон заполняется данными, уникально идентифицирующими в DOM (Document Object Model) новые элементы HTML. Динамическая загрузка осуществляется посредством загрузки нового уровня единиц в невидимый фрейм и записи содержимого этого фрейма в контейнер для дочернего уровня единиц средствами JavaScript.

Недостатками данного дерева являлись: запись загрузки каждого уровня в историю браузера; повторное использование кода при создании нового дерева при дальнейшей разработке; ненадёжность работы; отсутствие кеширования на стороне клиента; поддержка работы в одном браузере.

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

Функциональность данной web-оболочки была аналогична функциональности первого web-интерфейса и обладала теми же недостатками, кроме недостатков дерева.

Второй этап создания новой версии являлся главным. Он включал в себя:

■ доведение функциональных возможностей web-оболочки до уровня базовых возможностей статического клиента;

и создание механизмов безопасности ресурсов сайта;

■ создание удобного пользовательского интерфейса;

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

Расширение функциональных возможностей по сравнению с предыдущей версией заключалось в реализации возможности редактирова-

ния/добавления единиц, изменения их статуса, редактирования черновика, просмотра истории редактирования, сводной информации.

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

Рабочая область для работы с вопросно-ответным протоколом состояла из трёх частей: дерево задач и гипотез; дерево вопросно-ответных единиц остальных типов; область подробной информации о единице (текст, черновик, автор, дата создания, вложение).

При этом осуществлялось взаимодействие этих областей с помощью JavaScript.

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

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

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

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

Компонент дерева с динамической загрузкой является универсальным в рамках web-проекта NetWIQA, т. к. позволяет отображать дерево единиц произвольного типа (нескольких типов), с произвольной длиной видимой части текста единицы, с возможностью отображения символьного имени.

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

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

Для получения доступа к данным был создан класс 'МеЬСПеп!:, описываемый свойствами и методами, обеспечивающими соединение \veb-интерфейса с сервером приложения, инкапсулирующий в себе методы, реализующие безопасное соединение посредством передачи вспомогательной информации. Использование данного класса упрощало разработку расширенных функциональностей, т. к. у разработчика исчезает необходимость каждый раз при получении и отправке данных клиентской библиотеке формировать и передавать одни и те же параметры. Для работы с информацией о пользователях, проектах, вопросно-ответных единицах были предусмотрены классы, описывающие структуру этой информации. Использование класса значительно повышало надёжность соединения \veb-клиента с сервером приложения, т. к. при вызове метода клиентской библиотеки отслеживалось состояние соединения. В случае его разрыва производится восстановление.

Вывод

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

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

Таким образом, в результате рассмотрения возможностей и характеристик web-интерфейса вопросно-ответного процессора NetWIQA можно сделать вывод, что он удовлетворяет положениям поставленной задачи, являясь инструментом вопросно-ответного моделирования, и основным требованиям по качеству и практичности, предъявляемым к web-pecypcaM [4].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Sosnin, P. I. Question-Answer Modelling in Conceptual Design of Automated Systems. - «Proceeding of the 13th IEEE Mediterranean Electrotechnical Conference - MELECON 2006». - Spain.

2. Разработка программных проектов на основе Rational Unified Process (RUP) / Г. Пол-лис, Л. Огастин, К. Лоу, Д. Мадхар - М. : ООО «Бином-пресс», 2005. 1

3. Константайн, Л. Разработка программного обеспечения / Л. Константайн, Л. Локвуд. -СПб.: Питер, 2004.

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

5. Harter, D. Е., Slaughter S. A. PROCESS MATURITY AND SOFTWARE QUALITY: A FIELD STUDY,- Proceedings of the twenty first international conference on Information systems December, 2000.

6. Сайт рабочей группы «Вопросно-ответные процессы, технологии и системы» http://wg.ulstu.ru

Святов Кирилл Валерьевич, ассистент кафедры «Вычислительная техника» УлГТУ, kir@ulstu. ги.

i Надоели баннеры? Вы всегда можете отключить рекламу.