Докладчик: Бульёнов А. В., аспирант Научный руководитель: Шалыто А. А., д. т. н., профессор, зав. кафедрой КТ Методы автоматного программирования в разработке web-приложений Методы автоматного программирования в разработке web-приложений Санкт-Петербургский государственный университет информационных технологий, механики и оптики Кафедра Компьютерные Технологии
Цели работы Выявить основные проблемы разработки web-приложений сложная иерархия; сложное визуальное представление; большая зависимость от контекста; отсутствие стандарта проектирования и оформления Описать возможности и методы автоматного подхода в решении проблем web- приложений Сделать выводы о перспективах использования этого подхода 2
Выбор подхода В качестве подхода к разработке web- приложений был выбран автоматный подход. Он обеспечивает: удобное визуальное оформление на этапе разработки; эффективную работу со сложными иерархическими структурами; сохранение истории; сохранение контекста выполнения; 3
Этапы разработки ПО Разработка любого приложения (в том числе и web-приложения) состоит из следующих этапов: постановка задачи; анализ исходных данных; выбор архитектуры и шаблонов программирования и т. д.; реализация на выбранном языке программирования; тестирование и усовершенствование. 4
Автоматный подход и web Все подходы к разработке web-приложений можно условно разделить на несколько групп по месту понятия «состояние» в подходе: состояние как web-страница; состояние как кластер; состояние как логическая единица меню; состояние как действие блока страницы. 5
Состояние как страница 6
Состояние как кластер 7
Состояние как элемент PHC PHC (Passive HTML Control) – набор ссылок, отвечающий за работу какого-либо логического элемента сайта. Для хранении информации и передачи параметров используется механизм сессий. Каждый связанный набор ссылок (PHC) моделируется отдельным конечным автоматом. Каждое состояние - отдельный кластер страниц. В зависимости от входных параметров результат будет отличаться Совокупность состояния, параметров сессии и HTTP-параметров, передаваемые в состояние дают в результате конкретную страницу 8
Состояние как элемент PHC 9
Состояние как действие блока страницы Каждый блок страницы (вне зависимости от того, является он PHC или нет) моделируется автоматом с набором состояний. При выполнении какого-либо действия выполняется смена состояния конкретного блока. Блок – фрагмент сайта. Такой блок может соответствовать шапке, подвалу, меню сайта, области отображения контента и т. д. 10
Состояние как действие блока страницы 11 Шапка Контент
Тестирование с использованием автоматного подхода Основное достоинство тестирования web- приложений с использованием автоматного подхода заключается в том, что автоматное представление является «родным» для web-приложений. Основой для автоматного тестирования является либо проверка правил, указанных для состояния-страницы, либо проверка автомата сайта на соответствие эталонному автомату. 12
Заключение Автоматный подход предполагает использование «родных» для web- приложений понятий, что существенно уменьшает порог вхождения Приведенный подход способен решить ряд существующих проблем и предоставляет общую методику для разработки и тестирования web-приложения В дальнейшем планируется существенно расширить функционал PHC и метода «состояние как блок» 13
Конец 14