автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Повышение эффективности методов и алгоритмов разработки, взаимодействия и хранения веб-приложений
Автореферат диссертации по теме "Повышение эффективности методов и алгоритмов разработки, взаимодействия и хранения веб-приложений"
На правах рукописи
Токарчук Андрей Михайлович
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ МЕТОДОВ И АЛГОРИТМОВ РАЗРАБОТКИ, ВЗАИМОДЕЙСТВИЯ И ХРАНЕНИЯ ВЕБ-ПРИЛОЖЕНИЙ
05.13.17 «Теоретические основы информатики»
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
1 8 ОПТ 2012
Москва-2012
005053567
Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования «Московский государственный университет путей сообщения» (МГУПС (МИИТ)) на кафедре «Вычислительные системы и сети».
Научный руководитель: доктор технических наук, профессор
Барский Аркадий Бенционович
Официальные оппоненты: Ляпунцова Елена Вячеславовна - доктор
технических наук, профессор, МГУПС (МИИТ), профессор кафедры
«Математическое обеспечение
автоматизированных систем управления» Терехов Алексей Андреевич - кандидат технических наук, Рязанский государственный радиотехнический университет (ФГБОУ ВПО РГРТУ), ассистент кафедры «Вычислительная и прикладная математика» Ведущая организация - Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых» (ВлГУ). Защита диссертации состоится «03» октября 2012 г. в 13 час. 00 мин. на заседании диссертационного совета Д218.005.04 в Московском государственном университете путей сообщения (МИИТ) по адресу: 127994, ГСП-4, г. Москва, ул. Образцова, 9, стр. 9, ауд. 2505. С диссертацией можно ознакомиться в библиотеке МИИТа. Автореферат разослан «03» сентября 2012 года.
Ученый секретарь
диссертационного совета Д218.005.04, д.т.н., доцент __
Сидоренко Валентина Геннадьевна
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы: В последнее время в связи со стремительным развитием информационных систем и сетей пакетной коммутации возрастает роль информационных технологий в жизни общества, информатизации и создания глобального информационного пространства (сети Интернет). На данный момент сеть Интернет представляет собой совокупность веб-приложений (ВП). ВП - это клиент-серверное приложение, в котором клиентом выступает браузер (программное средство (ПС) для просмотра веб-сайтов) или другое ВП, а обслуживающим сервером - веб-сервер. В апреле 2012 года количество доменных имён индивидуальных пользователей и компаний по данным аналитической компании Neícraft составляет уже 676 919 707.
Самой распространённой платформой для разработки ВП на данный момент является LAMP - комплекс технологий в составе: операционной системы (ОС) Linux; веб-сервера Apache; реляционной базы данных (БД) MySQL и языка программирования (ЯП) PHP. PHP, входящий в состав платформы, обладает низким порогом вхождения (легкостью первоначального освоения), что также увеличивает распространённость платформы, однако именно это является причиной создания программного кода, не удовлетворяющего требованиям качества (согласно ISO 9126/ГОСТ 28 J 95). Вместе с тем на данной платформе разрабатываются многокомпонентные программные решения с участием многих десятков разработчиков. ВП начинают оперировать огромными объемами данных, в том числе и персональными данными (такими как номера кредитных карт), что предъявляет высокие требования к программному коду (п.1.3 стандарта ISO 19759.2005/SWEEBOK). ВП развиваются чрезвычайно быстрыми темпами. В то же время, большая длительность разработки, согласования и утверждения международных и национальных стандартов приводит к их консерватизму, а также к хроническому отставанию требований и рекомендаций этих документов от современной практики и технологии
создания сложных систем. Проблемам, связанным с созданием методов разработки ПС, их унификации и стандартизации, были посвящены работы В. В. Липаева, И. Катца, М. Фаулера, Э. Таненбаума, М. Стеена, Л. Торвальдса, Э. Д. Брауде, А.К.Кэя, В.Н. Агафонова, Г. Буча, Э. Йордана, Н.П. Бусленко, Е.Ф. Кодда, Б. Страуструпа, В. Ройса и многих других. Однако они не в полной мере учитывают специфику разработки на платформе LAMP с использованием свободных интернет-технологий. В этих условиях создание методов разработки ВП является актуальной задачей.
Целью данной диссертации является повышение эффективности методов и алгоритмов разработки, взаимодействия и хранения веб-приложений. Для достижения поставленной цели необходимо решить следующие задачи:
1. Формулирование критериев качества веб-приложений, и проведение критического анализа существующих методов разработки, хранения и взаимодействия веб-приложений.
2. Постановка и решение задачи оптимизации процесса разработки веб-приложений.
3. Синтез эффективной архитектуры и алгоритмов функционирования веб-приложений. Определение уровней абстракции в ВП, их взаимодействия и жизненного цикла.
4. Разработка метода взаимного объектно-реляционного преобразования (ОРП) для организации взаимодействия ВП с БД и хранения данных, а также шаблона проектирования на его основе.
5. Решения практических задач разработки ВП на базе предлагаемых методов, в том числе методов взаимодействия ВП друг с другом и пользователями. Определение конкретных путей повышения эффективности разработки, хранения и взаимодействия веб-приложений. Реализация новой архитектуры, алгоритмов функционирования и ОРП-метода в конкретном веб-приложении.
Объектом исследований являются веб-приложения на платформе LAMP. Предметом исследований являются методы разработки ВП.
Методы исследований. Результаты диссертационной работы получены на основе теории множеств, теории реляционных баз данных, имитационного моделирования, экспериментальных и теоретических методов информационных технологий. Научная новизна:
1. Проведён критический анализ существующих методов разработки, хранения и взаимодействия веб-приложений.
2. С помощью применения СКР-функции (среднестатистические колебания работоспособности) к определению дневного фокус-фактора (КПД) разработчика автор вычислил значение фокус-фактора (/ / /.) для новых команд, равное 0.72640625. Это значение может использоваться при планировании итерации новой команды, или индивидуальном планировании для нового члена команды разработки. Автором поставлена и решена оптимизационная задача по определению такого распределения задач по программистам, которое приведёт к максимизации показателя производительности (Р всей команды.
3. Разработаны новая архитектура и алгоритмы функционирования ВП. Определены уровни абстракции ВП и их жизненный цикл. Метрический анализ разработанного ВП показал, что значение целевой функции метрик на 13% превосходит максимальное значение этой функции для других ВП. Применение предлагаемых методов позволяет увеличить количество повторно используемого кода на 16%. Как следствие, могут быть сокращены объем работ, бюджет, а также увеличена скорость разработки ВП. Качественные характеристики ВП (по ISO ¡ЕС 9126) по данным экспертного анализа увеличиваются на 19% по сравнению с максимальным значением среди других ВП.
4. Создан новый метод объектно-реляционного преобразования «Активная модель», позволяющий взаимно преобразовывать объекты ЯП PHP в таблицы сервера баз данных. По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке увеличилась на 19 -27% для объектовозвращающего преобразования и на 16 - 25% для
векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозвращающего преобразования, и на 18 - 32% для векторовозвращающего преобразования по сравнению с системой Doctrine.
5. Разработаны методы решения практических задач синтеза ВП: методы загрузки ВП, методика работы со сторонними библиотеками, метод разграничения доступа к ВП, интернационапизации данных и интерфейса, методика организации кэширования, методика аутентификации пользователя и взаимодействия со сторонними ВП. В результате тестирования было определено, что применение предлагаемых методов позволяет увеличить скорость обработки запросов ВП от 7% (при X 15 и 35) до 35% (при X = 5).
6. Предлагаемая архитектура, ат горит мы функционирования ВП и ОРП-метод реализованы при создании нескольких ВП: системы публикации контента в сфере образования, витального конструктора сайтов, системы управления сайтом, а также ВП, реапизующего информационные процессы и структуры модели взаимодействия потребителя и производителя товаров и услуг (модель customer-supplier). Пра1сгическая значимость. Сформулирован комплекс рекомендаций по
разработке ВП, а также практических методик, позволяющих рационализировать информационную структуру ВП, его внутренних и внешних информационных процессов для унификации программного кода и улучшения качественных показателей (ISO 9126/ГОСТ 28195-89), а именно понятности, изучаемое™, изменяемости и удобства для анализа.
Достоверность основных научных положений, выводов и рекомендаций, сформулированных в диссертации, обусловлена корректностью постановок задач, обоснованностью принятых допущений, удовлетворительной сходимостью результатов тестирования с данными, полученными в реальных условиях эксплуатации.
Апробация работы. Основные результаты диссертации докладывались и обсуждались на ежегодных научных конференциях МИИТа (Неделя науки
«Наука МИИТа - транспорту» в 2008, 2010, 2011 гг.); на 12-м национальном форуме информационной безопасности «Информационная безопасность России в условиях глобального информационного общества» (2010 г.); на 7-й международной научно-практической конференции «Ключевые вопросы в современной науке» (2011г.); 8-й международной научно-практической конференции «Стратегические вопросы мировой науки» (2012г.); научно-технических семинарах и заседаниях кафедры «Вычислительные системы и сети» МИИТа в 2009-2011гг., а также на научных семинарах кафедры «МО АСУ» МИИТа в 20II г.
Реализация результатов работы. Методика разработки ВП и система ОРП использованы при реализации ВП - системы публикации контента в сфере образования в «Научно исследовательском институте инновационных стратегий развития общего образования» (НИИ ИСРОО), ВП, моделирующего информационные процессы и структуры модели взаимодействия потребителя и производителя товаров и услуг в ООО «Рубэй», а также при подготовке курсов «Информатика» и «Компьютерная графика» кафедры ВСС МИИТа. Результаты внедрения подтверждены соответствующими актами.
Публикации. По теме диссертации опубликованы 9 работ, из них 4 работы - в ведущих изданиях из перечня, определенного ВАК России для опубликования основных результатов диссертаций.
Структура и объем диссертационной работы. Диссертация состоит из введения, списка условных сокращений, четырех глав, заключения, списка цитируемой литературы (82 источника). Работа изложена на 152 страницах машинописного текста, включая 64 рисунка, 15 таблиц и 142 формулы, 5 приложений на 7 страницах.
Основные научные положения, выносимые на защиту:
1. Оптимизация процесса разработки веб-приложений.
2. Архитектура и алгоритмы функционирования ВП. Модель уровней абстракции в ВП, алгоритмы их взаимодействия и жизненный цикл.
3. Метод взаимного ОРП «Активная модель» для организации взаимодействия ВП с БД и шаблон проектирования на его основе.
4. Методы решения практических задач разработки ВП, в том числе методик взаимодействия ВП друг с другом и пользователями. Реализация предлагаемой архитектуры, алгоритмов функционирования и ОРП-метода в конкретных ВП.
СОДЕРЖАНИЕ РАБОТЫ Во введении обоснована актуальность темы диссертации, её научная новизна, сформулированы цели работы, задачи и практическая значимость исследования.
В первой главе диссертационной работы подробно формулируется
задача создания методов разработки ВП (рис. I).
Рисунок I — Методы разработки ВП
Автор рассмотрел существующие методы разработки ВП и наиболее распространённую архитектуру - «Модель-Вид-Контроллер» (МВК), созданную в 1979г. Тригве Реенскаугом. Исходный код ПС, разрабатываемой по данной методике, делится на три части: классы-контроллеры, реализующие взаимодействие с пользователем; классы-модели, представляющие знания и методы работы с ними, и классы-представления, реализующие пользовательский интерфейс. Однако связи между частями ПС были описаны без конкретизации. Кроме того на момент создания архите1сгуры такие ПС, как ВП отсутствовали в принципе. В связи с этим распространённым явлением стала неверная трактовка архитектуры, что вкупе с низким порогом вхождения привело к появлению большого количества ^унифицированного программного кода, не удовлетворяющего требованиям качества. Проблема состоит в отсутствии чётких рекомендаций по разработке файлов исходного кода ВП-уровня контроллеров (К-уровня), моделей (М-уровня) и видов (В-уровня) и спецификации их взаимосвязей. В первой главе автором создана классификация ВП относительно МВК архитектуры, описаны недостатки существующих трактовок и реализаций, формализована и решена задача оптимизации процесса разработки веб-приложений.
С помощью применения СКР-функции (среднестатистические колебания работоспособности) к определению дневного фокус-фактора (КПД) разработчика автор вычислил значение фокус-фактора (/•'/•/,) для новых команд, равное 0.72640625. Это значение может использоваться при планировании итерации новой команды, или индивидуальном планировании для нового члена команды разработки. Автором решена оптимизационная задача по определению такого распределения задач по программистам, которое приведёт к максимизации показателя производительности (Рразр) всей команды.
Во второй главе диссертационной работы автором предложена новая модель архитектуры ВП (рис. 2), основанная на архитектуре с выделенной
конфигурацией и двухэтапной загрузкой исходного кода. В созданной архитектуре проведена декомпозиция всех компонентов МВК ПС (моделей, видов, контроллеров). Уровень контроллеров (К) разделяется на три
Рнс\ 110К- 2 — Предла! аемая Mo.ie.ib мр\и 1ек1Л ры ВП
подуровня: собственно К-подуровень, на котором остаются «тонкие» контроллеры; С-подуровень, в котором помешаются классы-сервисы; пол\ровень, в котором распо.та!аются так называемые «сервис-адатеры». М-уровень разделяется на подуровни концептуальных (Мк) и логических (М-,) моделей. В-уровень разделяется на подуровни шаблонов (Вш), непосредственных видов (Вм), циклических (Вц) и частичных (Вч) представлений. Исходный код, реализующий инициализацию минимально необходимого окружения, автор предлагает отделить в предзагрузчик (3,), а реализующий полную инициализацию окружения с помощью конфигурации ВП (Конф.) - в основной загрузчик (32).
Создание ВП включает разработчика в процесс абстрагирования от низкоуровневых структур в сторону более высокоуровневых с помощью определения их существенных деталей. Тем самым формируются различные уровни восприятия. Основная проблема создания ПС в общем и ВП, в частности, состоит в том, что интерпретатор ЯП выполняет программный код последовательно (для однопоточных ВП) и поэтому самым простым способом организации исходного кода является его последовательная запись разработчиком. При этом для уменьшения трудоёмкости и увеличения количества повторно используемого кода применение абстракций и
декомпозиция исходного кода на уровни являются неизбежными. В этих условиях возникает необходимость использования на ранних этапах разработки такой модели архитектуры (рис. 3), которая позволит безболезненно расширять её дедуктивно (реализуя частные случаи абстракции с помощью нисходящего программирования) и индуктивно (создавая новые абстракции). Разработанная автором архитектура предполагает использование ряда рекомендаций в соответствии с существующим принципом «примата соглашения над конфигурацией».
Шаблоны модуля 1
Виды модуля 1
Контроллеры модуля 1
Сервисы модуля 1
Сервис-адаптеры модуля 1
Модели модуля 1
Базовые модели модуля 1
Шаблоны модуля п
Виды модуля п
Контроллеры модуля л
Сервисы модуля п
Сервис-адаптеры модуля п
Модели модуля л
Базовые модели модуля п
Уровень представления
Уровень логики предметной области
Уровень доступа к данным
Уровень хранения данных
Уровни, используемые в ВП в режиме обработкимпроса_________
Уровни используемые в ВП в режиме обслуживания
Конфигурации модуля 1
Тесты модуля 1
Тестовый наборы модуля 1
Конфигурации модуля
Тесты модуля п
Тестовый наборы модуля л
Уровень конфигурирования и сопровожденя
Уровень тестирования и аудита
J
Файлы модуля 1
Файлы модуля п
Рисунок 3 — Уровни абстракции в ВП
В строгой форме он выражается так. Аспект программной системы нуждается в конфигурации тогда и только тогда, когда этот аспект не удовлетворяет некоторой спецификации. Основным преимуществом предлагаемой автором модели архитектуры является минимизация количества таких аспектов, достигаемая за счёт унификации интерфейсов уровней абстракции и широкого использования шаблонов проектирования ((А'м'хп ринегп.ч).
Для анализа с> щеа в> ющего ВП и визуализации его характеристик автором предложен новый метод графического анализа ВП.
К-\ ровен ь ВП состоит из функций-действий классов-контроллеров модулей. Для визуализации (рис. 4) К-\ровня предлагается следующий
1. Проводится кодирование названий модулей посредством присвоения каждому модулю последовательною уникальною числовою идеи I пфикатора.
2. Проводится циклическая обработка всех контроллеров в модуле ¡.
а и ори I м:
к ш
о
« Действие
Рисунок 4 - МВК-графнк ВП
Осуществляется кодирование имён контроллеров аналогично п.1. В случае нахождения контроллера с именем, код которого уже известен, ему в соответствие ставится найденный код (без генерации нового).
3. Проводится циклическая обработка всех функций-действий (публичных функций) класса контроллера с кодированием аналогично п.1, 2.
4. Составляется ассоциативный массив глубины 3, в который записывается соответствие кодов модулей, контроллеров и их действий.
5. По полученным данным строится трехмерный точечный график (рис.4).
На графике по оси абсцисс откладываются коды модулей, по оси ординат коды контроллеров, а по оси аппликат- коды действий. Каждому действию контроллера соответствует точка на графике. Данный график позволяет провести визуальный анализ ВП. Анатиз может производиться на основании ряда определений и замечаний.
Опр I. ВП на МВК и производной от неё архитектуре называется такое ВП, которое характеризуется распределением функций-действий по модулям и классам-контроллерам, а также тремя параметрами:
- ¡М„| - мощностью множества уникальных имен модулей, которое соответствует общему числу модулей, так как название модуля должно быть уникальным;
- |Ки| - мощностью множества уникальных имен классов-контроллеров;
- |Аи| - мощностью множества уникальных имен функций-действий. Опр.2. Унификацией имён действий разных контроллеров называется
процесс уменьшения мощности множества |Аи|. Ряды точек вдоль оси ординат свидетельствуют об унификации имён действий среди разных контроллеров одного модуля. Это косвенно свидетельствует о стремлении разработчика сократить разнообразие методов доступа, т.е. о формировании системы команд (прикладного языка) К-уровня.
Опр.З. Ядром МВК-структуры ВП будет называться скопление точек на графике. Такая ситуация свидетельствует о необходимости улучшения
программного кода ВП (рефакторинге), для чего следует применять методы «вынесение функций», «фасад» и др.
Опр.4. Мощностью множества уникальных контроллеров (|KU|) является максимальное значение кода контроллера или самой удалённой точки по оси ординат. Большое значение |KU| свидетельствует о принадлежности ВП к REST или ресурсному типу.
Опр.5. Унификацией имён контроллеров называется уменьшение мощности множества |К„|. Вертикальные ряды точек вдоль оси аппликат свидетельствуют об унификации имён контроллеров. Как следствие, ВП имеет некоторое множество названий ресурсов, одинаковых в разных модулях, что свидетельствует о его принадлежности к REST-типу.
Опр.6. Мощностью множества уникальных действий (|AU|) является максимальное значение кода действия или самой удалённой точки по оси аппликат. Большое значение |AU| свидетельствует о низкой степени унификации K-уровня ВП.
В результате применения метода анализа графика получены новые метрики ВП |А„|, |М„|, |С„|, а также проведены определения структур МВК-графика и их смысловая нагрузка. Данные результаты могут использоваться при интерпретации МВК-графика существующих ВП и при разработке новых. Автором также предложен метод модульного анализа и классификация модулей МВК ВП (таблица 1). Алгоритм модульного анализа состоит в получении объема программного кода, занимаемого каждым из уровней ВП в соответствующем модуле и последующего построения графиков (рис. 5) распределения кода. Возможны варианты абсолютного и относительного распределения программного кода.
В диссертационной работе формализована задача модельной трансформации для сопряжения реляционной базы данных и ВП. На основе формальных определений моделей сформулированы определения типов схем отношений: Тг - обычная (таблица 2), 7). - схема дополнительных полей (таблица 3), 7). - схема флагов (таблица 4) и Тут— схема флагов (таблица 5) с темпоральной валидацией.
Размер уровня,
Put) мок 5 — График- oi носи le.iMioi о распре.имения iipoi раммшн о кола
Опр.8. Гр-схсмой нашвается схема отношения, в коюрой значения домена DR2 отражаются в названия атрибутов А0„ а значения домена DR, отражаются в значения атрибутов A0l. Таблица дополнительных полей состоит из трех столбцов: А1 — первичный ключ, .42 имя свойства (название виртуальной колонки), .43 — значение вирт>атьной колонки (таблица 3).
Опр.9. TF схемой называется схема отношения, в которой значения домена Dr7 отображаются в названия атрибутов А0, а значениям атрибутов А0, соответствует логическая константа «истина» (true) при наличии названия атрибута объектной модели (D02) в множестве DR2. В случае его отсутствия значению атрибута присваивается значение логической константы «ложь» (false) (таблица 4). Домен объектной модели определяется в её описании.
Опр.Ю. Tft схема аналогична схеме TF, но значения атрибутов А0, соответствует булева константа «истина» (true) при наличии названия атрибута объектной модели (D02) в множестве DR2 и А3 < now() < А4, где now() - текущее время на момент начала ОР-преобразования. В случае его отсутствия значению атрибута присваивается значение булевой константы
«ложь» {false) (таблица 5). Домен объектной модели определяется в её описании.
Тип модуля № на рис.5 Признаки модуля данного типа.
В-модуль 1,2,9 Преобладает программный код В-уровня: формы, шаблоны и виды.
М-модуль 3 Преобладает программный код моделей и операции с ними.
ВК- модуль СК- модуль 6,10 ~ 7 Преобладает программный код В- и К-уровня. Модуль реапизует пользовательский интерфейс. Преобладает программный код сервисов и контроллеров. Модуль в основном содержит логику предметной области.
С-модуль 8 Модуль содержит в основном программный код сервисов, разделяемых другими модулями ВП.
НК- модуль 4,5 Неклассифицируемый модуль. Нет явного преобладания программного кода определённого уровня.
Таблица 2. Тс схема отношения
Al
and77 ¡van22
А2
Andrey Ivan
A3
my@mail.ru ivanSimail.ru
A4
222333444 11223344
Al
and77 and77
A2
Таблица 3. Tp схема отношения A3
Andrey
my@rnail.ru
Таблица 4. TF схема отношения
AI А2
andy77 active
AI
and77
А2
active
Таблица 5. Трт схема отношения A3 A4
11)11 33333
Пусть T'sol - множество базовых типов данных БД, а ТтР - множество базовых типов данных ВП, причем | Тгиг | < | Tsqi |. В преобразовании не нуждаются типы данных, состоящие в обоих множествах, а именно: integer, char, float. Остальные типы данных нуждаются в преобразовании:
php ) (Tsqi. f*l ^php ) ~ ^ u > (1)
где Tu - множество типов данных, нуждающихся в преобразовании (отображении).
Отображением TSqi. на ТРИГ является операция применения функции прямого отображения/отокг наД множеством TSQly.
Т
1 sql
fотокг у т ' 1 1
VHP '
foTOKP ^sqi. x трнр ■
(2) (3)
Функция foroup определяет множество упорядоченных пар соответствия типов данных языка SQL и PHP. Аналогичным образом определяется функция обратного отражения /'отокг типов данных множества ТРНГ во множество TSql.
Пусть существуют имена типов данных Т[,Т2...,Тп £ (п > 0),
необязательно все различные. Результат сопоставления имени атрибута (название столбца) 77 с типом данных Ai называется атрибутом, т.е. атрибут -это пара (имя, тип) данных. Множество атрибутов определяет мета-данные отношения (таблицы) базы данных М и является областью определения для
функции прямого отображения. Мета-данные отношения определены в структуре БД, а функция отражения - в программном коде.
Как только определены операции преобразования типов данных, появляется возможность определить операции преобразования множеств. Разработанная автором система объектно-реляционного отражения преобразует множество кортежей (записей, строк) данных, составляющих совокупность значений атрибутов, в такую форму, с которой могут взаимодействовать функции ЯП PHP. В разработанной методике (и ОРП системе «Активная модель») множество кортежей отображается на экземпляр класса. Объект класса «Активная модель» представляет собой совокупность отношения, полученного в результате операции естественного соединения, применённой к множествам кортежей (обязательно по одному на каждое отношение), и набора функций (поведения) над совокупностью отношений, наследуемого от программного класса. Естественное соединение - операция .VI// RAI. ,1<)1\ языка SOI. возвращающая отношение, содержащие все возможные кортежи (Л"), которые представляют собой комбинации двух (и более) кортежей, принадлежащих двум (и более) заданным отношениям, при условии, что в комбинируемых кортежах присутствуют одинаковые значения в одном (или нескольких) общих для исходных отношений атрибутах (причем эти общие значения появляются в результирующем кортеже ровно один).
Пусть, а - объект класса «Активная модель», тогда:
П 9
(4)
где а - объект класса «Активная модель», п - число отношений, входящих в модель (и > 1), Мотношения ~ множество мета-данных отношений, А — множество атрибутов отношений, Л - набор функций над объектами класса.
Логическая модель данных Мл определяется следующим образом:
МЛ={Т,Я}, (5)
где Т - это множество декларативных описаний схем отношений, входящих
в модель; R - множество связей с другими отношениями. Таким образом всё множество связей делится на связи отношений внутри модели и вне её.
Основное отличие методики «Активная модель» от других методик в том, что п (количество отношений, используемых для отображения) может быть больше 1), тогда как для существующих методик объекшо-реляиионного отражения на платформе lAStP (имеются в виду методики Doctrine, Propel, Yii Active Record) п = 1. Из этого следует, что реализация модели данных, подобной «Активной модели», потребует создания п моделей в них. Соответственно возрастет расход памяти, необходимой для хранения моделей данных за счёт увеличения числа экземпляров классов.
По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке при использовании предлаьземой автором ОРП-систсмы увеличилась иа 19 - 27% для объектовозврашаюшс! о преобразования и на 16 - 25% для векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозврашающего преобразования, и на 18 - 32% для векторовозвращающего преобразования по сравнению с системой Doctrine.
В третьей главе изложены методы решения практических задач, реализующие указанные во второй главе подходы. Одной из важных проблем организации архитектуры ВП является разработка системы кэширования результатов процессов, проходящих в ней. Информация в КЭШе не должна противоречить информации в основном хранилище (БД). Для этого разработчику необходимо формализовать зависимости информации в КЭШе от входных воздействий пользователя, изменяющих данные в основном хранилище. Это необходимо для того, чтобы удалять информацию из КЭШа (проводить инвапидацию) после потери ей актуальности.
В диссертационной работе автором предлагается новая методика инвалидации с помощью автоматического вытеснения и версионности отношений (таблиц). Она состоит в формализации зависимости ключа элемента КЭШа от версий отношений, информация которых входит в его
значение. Версия запроса к БД (0, рассчитывается на основе множества отношений (Т), от которых он зависит:
где V(Q) - функция получения версии запроса, a V(tJ - функция получения версии отношения. В качестве значения версии данных можно использовать время последнего изменения. На платформе LAMP в БД MySQL механизм хранения InnoDB не позволяет получить время последней записи в таблицу, поэтому необходимо использовать возможности триггеров БД. В БД создается специальная таблица versions, состоящая из двух столбцов (table пате, version). В кортежах отношения будут содержаться версии других отношений. Отношение versions модифицируют триггеры других отношений, само же отношение versions триггеров не имеет, так как это привело бы к бесконечному циклу обновления отношения. При изменении данных автоматически меняется версия и резко сокращается количество операций чтения по данному ключу. По истечении, равного интервалу включения периодической операции очистки КЭШа (garbage collection), элемент КЭШа удаляется из памяти.
В третьей главе также описаны и другие практические методики, направленные на повышение производительности разработчика путём сокращения объема разрабатываемого объема исходного кода: методика организации загрузки ВП; методика работы со сторонними библиотеками; методика аутентификация пользователя «брокер-провайдер», интернационализации данных и интерфейса, а также методика интеграции со сторонними ВП.
В четвертой главе рассматривается реализация методов данного диссертационного исследования в конкретных ВП: электронной торговой площадке (ЭТП), конструкторе сайтов, интернет-магазине и системе управления контентом. Изложены результаты анализа метрик (рис.6), которые показывают максимизацию целевой функции (Ц) метрик для разработанного ВП (ЭТП).
(6)
Метрический анализ позволил увидеть, что показатель повторно используемого кода на 16% превосходит аналогичную метрику других ВП. Это позволяет сократить объем работ, бюджет и увеличить скорость разработки ВП.
и
этп
Рисунок 6 - График значений целевой функции
Экспертный анализ показал, что использование методов, предлагаемых в данной диссертации, способствует увеличению качественных характеристик ВП (по ISO/1EC 9126) на 19% по сравнению с ВП pimcore. Максимальная оценка качества ВП соответствует ЭТП ВП (рис.6), разработанного по предлагаемым в данной работе методам.
ф».
Рисунок 7 - Зависимость скорости обработки запросов различных ВП от плотности потока запросов
В результате тестирования было определено, что предлагаемые в данной диссертации методы позволяют увеличить скорость обработки запросов ВП от 7% (при X = 15 и 35) до 28% (при X = 5).
В Заключении приведены следующие основные результаты:
1. Проведён сравнительный анализ существующих архитектур ВП и их классификация. Осуществлён структурный синтез новой архитектуры и алгоритмов функционирования ВП. Определены уровни абстракции в ВП, их жизненный цикл и взаимодействия.
2. Разработан новый метод взаимного объектно-реляционного преобразования «Активная модель» для организации взаимодействия ВП с БД и хранения данных, а также шаблона проектирования на его основе. По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке увеличилась на 19 - 27% для объектовозврашающего преобразования и на 16 - 25% для векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозврашающего преобразования, и на 18 - 32% для векторовозвращающего преобразования по сравнению с системой Doctrine.
3. Созданы методы повышающие эффективность решения практических задач разработки ВП: методы загрузки и конфигурирования, управление ресурсами, методы работы со сторонними библиотеками, интернационализации данных и интерфейса ВП, организации кэширования и методы аутентификации пользователя.
4. Предлагаемые более эффективные методы реализованы в конкретных ВП: модели электронной торговой площадки, конструктора сайтов, интернет-магазина и системы управления содержимым.
Теоретические методы и практические рекомендации, разработанные в рамках данной диссертации, могут быть использованы для разработки новых ВП на основе свободных интернет-технологий, а также для рефакторинга (переписывания с целью улучшения количественных и качественных характеристик) существующих ВП. Это позволило повысить эффективность как процесса разработки веб-приложений, так и его результат.
ОСНОВНЫЕ ПОЛОЖЕНИЯ ДИССЕРТАЦИИ ОПУБЛИКОВАНЫ В СЛЕДУЮЩИХ РАБОТАХ:
Публикации в изданиях из перечня ВАК
1. Токарчук A.M. Разработка паттерна ActiveModel для программирования интернет-приложения методом объектно-реляционного отражения // Информационные технологии, 2010, №9. - С.37-43.
2. Токарчук A.M. Паттерн для отражения бизнес-логики // Мир транспорта, 2010, №2. - С. 114-118.
3. Токарчук A.M. Применение средств ORM для разработки безопасных веб-приложений // Безопасность информационных технологий, 2010, №1. - С.113-115.
4. Токарчук A.M. Применение грид-систем при развертывании web-сайта // Информационно-управляющие системы, 2010, №3(46). - С. 51-55.
Прочие публикации
5. Токарчук A.M. Сетевые распределённые вычисления. Достижения, области применения // Научно-практическая конференция Неделя науки -2008 «Наука МИИТа - транспорту»: тезисы докл. Всерос. Конф. (Москва, 8-9 апреля 2008г.). - М.: 2008. - С. V-52 - V-53.
6. Токарчук A.M. Стратегии использования MVC-архитектуры в веб-приложениях // Научно-практическая конференция Неделя науки -2010 «Наука МИИТа - транспорту»: тезисы докл. Всерос. Конф. (Москва, 18-19 мая 2010г.). -М.: 2010. - С. VII-7.
7. Токарчук A.M. Оптимизация разработки, хранения и взаимодействия веб-приложений на платформе LAMP // Научно-практическая конференция Неделя науки-2011 «Наука МИИТа - транспорту»: тезисы докл. Всерос. Конф. (Москва, 18-21 апреля 2011г.). - М.: 2011. - С. 1V-22 - IV-23.
8. Токарчук A.M. Методика обеспечения безопасности веб-приложений. // Материалы за VII международна научна практична конференция «Ключови въпроси в съвременната наука-2011». Том 37 Съвременни технологии на информации. - Белград: Изд. София, 2011.
9. Токарчук /1.М. Фокус-фактор и эффективность командной разработки. // MATER1ALY VIII MÎÇDZYNARODOWEJ NAUKOW1-PRAKTYCZNEJ KONFERENCJI «STRATEG1CZNE PYTANIA isWIATOWEJ NAUKI - 2012» Volume 29 Matematyka Nowoczesne informacyjne technologie. - Перемишль: Изд. Nauka i studia, 2012.
//
Токарчук Андрей Михайлович
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ МЕТОДОВ И АЛГОРИТМОВ РАЗРАБОТКИ, ВЗАИМОДЕЙСТВИЯ И ХРАНЕНИЯ ВЕБ-ПРИЛОЖЕНИЙ
05.13.17 - Теоретические основы информатики
Автореферат диссертации на соискание ученой степени кандидата технических наук.
Подписано к печати
Тираж 80 экз. Заказ № У
Объем 1,5 п.л. Формат 60x84/16
УПЦ ГИ МИИТ, Москва, 127994, ул. Образцова, д. 9, стр. 9
Оглавление автор диссертации — кандидата технических наук Токарчук, Андрей Михайлович
ОГЛАВЛЕНИЕ.
ВВЕДЕНИЕ.
ГЛАВА 1. АНАЛИЗ МЕТОДОВ РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЙ.
1.1. Веб-разработка, как итерационный процесс.
1.2. Фокус-фактор командной разработки.
1.3. Оптимизация процесса разработки.
1.4. Существующие регламентирующие стандарты.
1.5. Критерии качества.
1.6. Параметры оптимизации.
1.7. Формальное описание веб-приложения.
1.8. Существующие методы веб-разработки.
1.8.1. Препроцессинг и шаблонные технологии.
1.8.2. Использование внешнего обработчика.
1.8.3. Использование сервлетов.
1.9. Существующие модели архитектур веб-приложений.
1.9.1. Формализация синтеза контроллеров.
1.9.2. Методы разработки контроллеров.
1.9.3. Методы разработки уровня вида (представления).
1.9.4. Методы разработки уровня модели.
1.10. Общий алгоритм разработки веб-приложения.
1.11. Выводы.
ГЛАВА 2. РАЗРАБОТКА ТЕОРЕТИЧЕСКИХ МЕТОДОВ
ПРОЕКТИРОВАНИЯ И СОЗДАНИЯ ВЕБ-ПРИЛОЖЕНИЯ.
2.1. Методы разработки веб-приложений. Модель архитектуры.
2.2. Жизненный цикл модели архитектуры веб-приложений.
2.3. Методы разработки и анализа К-уровня.
2.3.1. Ресурсный метод разработки.
2.3.2. Метод графического анализа веб-приложения.
2.3.3. Метод модульного анализа.
2.3.4. Жизненный цикл элементов К-уровня и модулей.
2.4. Методы разработки М-уровня.
2.4.1. Формализация задачи модельной трансформации.
2.4.2. Средства и методы объектно-реляционной проекции.
2.4.3. Формальное описание типов схем отношений.
2.4.4. Преобразование типов данных.
2.4.5. Формальное описание объекта «Активная модель».
2.4.6. Формальное описание АМ-коллекции.
2.4.7. Формальное описание итератора АМ-коллекции.
2.4.8. Объектные запросы.
2.4.9. Проекция связей отношений.
2.4.10. Структура системы «Активная модель».
2.4.11. Реляционно-объектные преобразования.
2.4.12. Объектно-реляционные преобразования.
2.5. Выводы.
ГЛАВА 3. ПРАКТИЧЕСКИЕ МЕТОДИКИ РАЗРАБОТКИ ВЕБ
Введение 2012 год, диссертация по информатике, вычислительной технике и управлению, Токарчук, Андрей Михайлович
Актуальность темы: В последнее время в связи со стремительным развитием информационных систем и сетей пакетной коммутации возрастает роль информационных технологий в жизни общества, информатизации и создания глобального информационного пространства (сети Интернет). На данный момент она представляет собой совокупность веб-приложений (ВП). ВП - это клиент-серверное приложение, в котором клиентом выступает браузер (программное обеспечение для просмотра веб-сайтов) или другое ВП, а обслуживающим сервером - веб-сервер. В июне 2012 года количество доменных имён индивидуальных пользователей и компаний по данным аналитической компании Netcraft составляет уже 697 089 482[1].
Самой распространённой платформой (комплексом связанных технологий) для разработки ВП на данный момент является LAMP (комплекс технологий в составе операционной системы (ОС) Linux, веб-сервера Apache, базы данных (БД) MySQL и языка программирования (ЯП) РНР)[2]. ЯП PHP, входящий в состав платформы, обладает низким порогом вхождения (легкостью первоначального освоения) [3], что также увеличивает распространённость платформы, однако именно это является причиной создания программного кода, не удовлетворяющего требованиям качества (согласно ISO 9126/ГОСТ 28195[4]). Вместе с тем на данной платформе разрабатываются многокомпонентные программные решения с участием большого количества разработчиков. ВП начинают оперировать огромными объемами данных, в том числе и персональными данными (такими, как номера кредитных карт), что предъявляет высокие требования к программному коду (п. 1.3 стандарта ISO 19759:2005/SWEEBOK). ВП развиваются чрезвычайно быстрыми темпами. В то же время, большая длительность разработки, согласования и утверждения международных и национальных стандартов приводит к их консерватизму, а также к хроническому отставанию требований и рекомендаций этих документов от современной практики. Проблемам, связанным с созданием методов разработки ПС, их унификации и стандартизации, были посвящены работы В. В. Липаева, И. Катца, М. Фаулера, Э. Таненбаума, М. Стеена, JI. Торвальдса, Э. Д. Брауде, А.К.Кэя, В.Н. Агафонова, Г. Буча, Э. Йордана, Н.П. Бусленко, Е.Ф. Кодда, Б. Страуструпа, В. Ройса и многих других. Однако они не в полной мере учитывают специфику разработки на платформе LAMP с использованием свободных интернет-технологий. В этих условиях создание методов разработки ВП является актуальной задачей.
Целью данной диссертации является повышение эффективности методов и алгоритмов разработки, взаимодействия и хранения веб-приложений. Для достижения поставленной цели необходимо решить следующие задачи:
1. Формулирование критериев качества веб-приложений, и проведение критического анализа существующих методов разработки, хранения и взаимодействия веб-приложений.
2. Постановка и решение задачи оптимизации процесса разработки веб-приложений.
3. Синтез эффективной архитектуры и алгоритмов функционирования веб-приложений. Определение уровней абстракции в ВП, их взаимодействия и жизненного цикла.
4. Разработка метода взаимного объектно-реляционного преобразования (ОРП) для организации взаимодействия ВП с БД и хранения данных, а также шаблона проектирования на его основе.
5. Решения практических задач разработки ВП на базе предлагаемых методов, в том числе методов взаимодействия ВП друг с другом и пользователями. Определение конкретных путей повышения эффективности разработки, хранения и взаимодействия веб-приложений. Реализация новой архитектуры, алгоритмов функционирования и ОРП-метода в конкретном веб-приложении.
Объектом исследований являются ВП на платформе LAMP.
Предметом исследований являются методы разработки ВП. Методы исследований. Результаты диссертационной работы получены на основе теории множеств, теории реляционных баз данных, имитационного моделирования, экспериментальных и теоретических методов информационных технологий. Научная новизна:
1. Проведён критический анализ существующих методов разработки, хранения и взаимодействия веб-приложений.
2. С помощью применения СКР-функции (среднестатистические колебания работоспособности) к определению дневного фокус-фактора (КПД) разработчика автор вычислил значение фокус-фактора (FFD) для новых команд, равное 0.72640625. Это значение может использоваться при планировании итерации новой команды, или индивидуальном планировании для нового члена команды разработки. Автором поставлена и решена оптимизационная задача по определению такого распределения задач по программистам, которое приведёт к максимизации показателя производительности (Рразр) всей команды.
3. Разработаны новая архитектура и алгоритмы функционирования ВП. Определены уровни абстракции ВП и их жизненный цикл. Метрический анализ разработанного ВП показал, что значение целевой функции метрик на 13% превосходит максимальное значение этой функции для других ВП. Применение предлагаемых методов позволяет увеличить количество повторно используемого кода на 16%. Как следствие, могут быть сокращены объем работ, бюджет, а также увеличена скорость разработки ВП. Качественные характеристики ВП (по ISO/IEC 9126) по данным экспертного анализа увеличиваются на 19% по сравнению с максимальным значением среди других ВП.
4. Создан новый метод объектно-реляционного преобразования «Активная модель», позволяющий взаимно преобразовывать объекты ЯП PHP в таблицы сервера баз данных. По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке увеличилась на 19 -27% для объектовозвращающего преобразования и на 16 - 25% для векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозвращающего преобразования, и на 18 - 32% для векторовозвращающего преобразования по сравнению с системой Doctrine.
5. Разработаны методы решения практических задач синтеза ВП: методы загрузки ВП, методика работы со сторонними библиотеками, метод разграничения доступа к ВП, интернационализации данных и интерфейса, методика организации кэширования, методика аутентификации пользователя и взаимодействия со сторонними ВП. В результате тестирования было определено, что применение предлагаемых методов позволяет увеличить скорость обработки запросов ВП от 7% (при X = 15 и 35) до 35% (при X = 5).
6. Предлагаемая архитектура, алгоритмы функционирования ВП и ОРП-метод реализованы при создании нескольких ВП: системы публикации контента в сфере образования, визуального конструктора сайтов, системы управления сайтом, а также ВП, реализующего информационные процессы и структуры модели взаимодействия потребителя и производителя товаров и услуг (модель customer-supplier).
Практическая значимость. Сформулирован комплекс рекомендаций по разработке ВП, а также практических методик, позволяющих рационализировать информационную структуру ВП, его внутренних и внешних информационных процессов для унификации программного кода и улучшения качественных показателей (ISO 9126/ГОСТ 28195), а именно С1 (структурности), С2 (простоты конструкции), С4 (повторяемости), ГЗ (модифицируемости).
Достоверность основных научных положений, выводов и рекомендаций, сформулированных в диссертации, обусловлена корректностью постановок задач, обоснованностью принятых допущений, удовлетворительной сходимостью результатов тестирования с данными, полученными в реальных условиях эксплуатации.
Апробация работы. Основные результаты диссертации докладывались и обсуждались на ежегодных научных конференциях МИИТа (Неделя науки «Наука МИИТа - транспорту» в 2008, 2010, 2011 гг.); на 12-м национальном форуме информационной безопасности «Информационная безопасность России в условиях глобального информационного общества» (2010 г.); на 7-й международной научно-практической конференции «Ключевые вопросы в современной науке» (2011г.); 8-й международной научно-практической конференции «Стратегические вопросы мировой науки» (2012г.); научно-технических семинарах и заседаниях кафедры «Вычислительные системы и сети» МИИТа в 2009-2011гг., а также на научных семинарах кафедры «МО АСУ» МИИТа в 2011г.
Реализация результатов работы. Методика разработки ВП и система ОРП использованы при реализации ВП системы публикации контента в сфере образования в «Научно исследовательском институте инновационных стратегий развития общего образования» (НИИ ИСРОО); ВП, моделирующего информационные процессы и структуры модели взаимодействия потребителя и производителя товаров и услуг в ООО «Рубэй», а также при подготовке курсов «Информатика» и «Компьютерная графика» кафедры ВСС МИИТа. Результаты внедрения подтверждены соответствующими актами.
Публикации. По теме диссертации опубликованы 9 работ, из них - 4 работы - в ведущих изданиях из перечня, определенного ВАК России для опубликования основных результатов диссертаций.
Структура и объем диссертационной работы. Диссертация состоит из введения, списка условных сокращений, четырех глав, заключения, списка цитируемой литературы (82 источников). Работа изложена на 152 страницах
Заключение диссертация на тему "Повышение эффективности методов и алгоритмов разработки, взаимодействия и хранения веб-приложений"
4.7. Выводы
1. Методы, разработанные в данной диссертационной работе, нашли своё применение в нескольких программных средствах: веб-приложении, моделирующего взаимодействие поставщика услуг и потребителей (электронная торговая площадка); системе «Конструктор сайтов»; веб-приложении интернет-магазина; системе публикации контента.
2. Проведён сравнительный метрический анализ веб-приложений, разработанный с помощью предлагаемых в данной диссертационной работе методов и других веб-приложений. Определена метрическая целевая функция и проведён сравнительный анализ, в результате которого был выявлен прирост целевой функции на 13% по сравнению с максимальным значением других веб-приложений.
3. Проведено исследование экономии трудозатрат при применении комплекса предлагаемых методов. Сокращение объема разрабатываемого кода по данным исследования составляет 16%.
4. Экспертный анализ показал, что использование методов, предлагаемых в настоящей диссертационной работе, способствует увеличению качественных характеристик веб-приложения (по ISO/IEC 9126) до 28% по сравнению с максимальным среди других веб-приложений значением.
5. По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке увеличилась на 19 - 27% для объектовозвращающего преобразования и на 16 - 25% для векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозвращающего преобразования, и на 18 - 32%) для векторовозвращающего преобразования по сравнению с системой Doctrine.
6. Исходный код веб-приложения, созданного в результате диссертационного исследования, разработан с помощью паттернов проектирования, что делает его стандартизированным и унифицированным, облегчающим процесс разработки новых функций и модулей.
ЗАКЛЮЧЕНИЕ
В данной диссертационной работе решались задачи создания методов построения веб-приложений, направленных на повышение производительности процесса разработки, унификацию и удовлетворение требований качества. На основе анализа выявлено, что существующие методы и стандарты недостаточно регламентируют модель внутренней архитектуры веб-приложения и содержат только общетеоретические принципы и парадигмы создания программного обеспечения, без учёта особенностей разработки именно веб-приложений. С другой стороны, выявлено наличие реализаций практического опыта (конкретных технологий, средств, методов, способов и приемов разработки) в виде систем управления содержимым (CMS), которые могут решать типовую задачу публикации HTML-страшщ в сети Интернет, но для разработки веб-приложений не подходят, так как нет возможности провести адекватное отображение предметной области (сущностей, их связей, поведения и взаимодействия) на программный код вследствие большой трудоемкости. CMS воплощают в себе разные практические методики, в практической реализации которых отсутствует общая теоретическая база, а методы реализации не унифицированы. Свободные интернет-технологии могут стать основой для методов структурного синтеза веб-приложений, так как они не содержат в себе привязку пользователя к какому-либо одному программному решению.
В диссертации получены следующие основные теоретические и практические результаты:
1. Проведён сравнительный анализ существующих архитектур веб-приложений и их классификация. Осуществлён структурный синтез новой архитектуры и алгоритмов функционирования веб-приложений. Определены уровни абстракции в веб-приложении, их взаимодействие и жизненный цикл. Созданы новые методики анализа (анализ графика метрик, модульная классификация) и разработки (ресурсный подход, методы синтеза программного кода) веб-приложений. С помощью применения СКР-функции (среднестатистические колебания работоспособности) к определению дневного фокус-фактора (КПД) разработчика автор вычислил значение фокус-фактора^^) для новых команд, равное 0.72640625. Это значение может использоваться при планировании итерации новой команды, или индивидуальном планировании для нового члена команды разработки. Автором решена оптимизационная задача по определению такого распределения задач по программистам, которое приведёт к максимизации показателя производительности (Рразр) всей команды.
2. Разработан новый метод взаимного объектно-реляционного преобразования «Активная модель» для организации взаимодействия веб-приложения с базой данных, а также шаблона проектирования на его основе. По результатам проведённых тестов можно заключить, что скорость работы на тестовой выборке увеличилась на 19 - 27% для объектовозвращающего преобразования и на 16 - 25% для векторовозвращающего преобразования. Объем занимаемой памяти сократился на 16 - 24% для объектовозвращающего преобразования и на 18 - 32% для векторовозвращающего преобразования по сравнению с системой Doctrine.
3. Созданы методики, повышающие эффективность решения практических задач разработки веб-приложений: методы загрузки, управление ресурсами, методы работы со сторонними библиотеками, интернационализации данных и интерфейса веб-приложения, организации кэширования и методы аутентификации пользователя.
4. Предлагаемые более эффективные методы реализованы в конкретных веб-приложениях: модели электронной торговой площадки, конструктора сайтов, интернет-магазина и системы управления содержимым.
5. Метрический анализ разработанного веб-приложения показал, что значение целевой функции метрик на 13% превосходит максимальное значение этой функции для других веб-приложений. Предлагаемые методы увеличивают количество повторно-используемого кода на 22%, что соответственно сокращает объем работ, бюджет и увеличивает скорость разработки веб-приложения. Качественные характеристики веб-приложения (по 180/IЕС 9126) по данным экспертного анализа увеличиваются на 28% по сравнению с максимальным значением среди других веб-приложений. В результате тестирования было определено, что предлагаемые в данной диссертационной работе методы позволяют увеличить скорость обработки запросов к веб-приложению от 7% (при X = 15 и 35) до 28% (при X = 5). Это позволило повысить эффективность как процесса разработки веб-приложений, так и его результат.
- 143
Библиография Токарчук, Андрей Михайлович, диссертация по теме Теоретические основы информатики
1. June 2012 Web Server Survey / Netcraft Электронный ресурс. Режим доступа: URL: http://news.netcraft.com/archives/2012/06/06/june-2012-web-server-survey.html (дата обращения: 13.06.2012).
2. Jason Gerner, Morgan Owens, Elizabeth Naramore, Matt Warden, Jeremy Stolz Professional LAMP: Linux, Apache, MySQL and PHP Web Development / Wrox Press, 2005, 379 c.
3. ГОСТ 28195-89. Оценка качества программных средств. Общие положения. М.: Издательство стандартов, 1991
4. ГОСТ 28806-90. Качество программных средств. М.: Издательство стандартов, 1991
5. Кон.М. Scrum. Гибкая разработка ПО. М.: Вильяме., 2011.
6. Основы инженерной психологии: Учебник для технических вузов // Под ред. Б.Ф. Ломова. -М.: Высш. шк., 1986.
7. ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств»
8. Standarts Электронный ресурс. Режим доступа: URL: http://www.w3.org/standards/ (дата обращения: 19.02.2011).
9. Гуров B.B. Выбор показателей качества программных средств учебного назначения. / Компьютерные системы и технологии. Научная сессия МИФИ-2008. Том 12.
10. Wong С. HTTP Pocket Reference: Hypertext Transfer Protocol / O'Relly Media, 2000 78c.
11. Jeff Doyle, Jennifer Carroll. Routing TCP/IP, Volume 1, 2nd Edition / Cisco Press, 2006. 936c.
12. Kumar D.R. Professional PHP Web development solutions. / Wrox Press. 2002. 613c.
13. Powers S. JavaScript Cookbook / O'Reilly Media, 2010 538c.
14. Томас Д., Хэнссон Д. X. Гибкая разработка веб-приложений в среде Rails / М.: Питер, 2008
15. Ахо А., Сети. Р., Уильман Д. Компиляторы: принципы, технологии, и инструменты (пер. с англ.). / М.: Изд. дом «Вильяме», 2001. 768 с.
16. Зервас К. Web 2.0. Создание приложений на PHP / М.: Вильяме, 2009. -544с.
17. Бен АРИ М. Языки программирования. Практический сравнительный анализ. / М.: Мир, 2000. 366 с.
18. Цейтин Г.С. На пути к сборочонму программированию. // Программирование. 1990. - №1.-С.78-92
19. АкопянцА. Системы управления Web- контентом.// Мир электронной коммерции, 2000, № 2.
20. Холл. М. Сервлеты и JavaServer Pages. Библиотека программиста. / СПб.: Питер, 2001.-496 с.
21. Sherman R. Alpert, Kyle Brown, Bobby Woolf The design patterns Smalltalk companion Addison-Wesley, 1998.
22. Таненбаум Э. Современные операционные системы / М.Питер, 2010 -1115с.
23. Вандюк Д., Байтаерт Д.Д. CMS Drupal. Руководство по разработке системы управления сайтом // М. : Вильяме, 2009
24. ImageCms Электронный ресурс. Режим доступа: URL: http://www.imagecms.net/ (дата обращения: 03.06.2011).
25. InstantCMS Электронный ресурс. Режим доступа: URL: http://www.instantcms.ru/ (дата обращения: 03.06.2011).
26. Hal Stern, David Damstra, Brad Williams Professional WordPress / Wrox Press, 2010
27. Бэрри Норт Joomla! 1.5. Практическое руководство / M. Символ-Плюс, 2010, 464c.
28. LifeStreetCMS Электронный ресурс. Режим доступа: URL: http://livestreetcms.com/ (дата обращения: 03.06.2011).
29. ModX CMS Электронный ресурс. Режим доступа: URL: http://modx.ru/ (дата обращения: 03.06.2011).
30. Аронов И.А., Штерн Л. Стандарты ИСО 9000 в жизни //М.КДУ 2006, 96 с.
31. Шапкин П.А. Модели и методы разработки веб-приложений на основе онтологии предметной области. С 228-232
32. Валиков А.Н. Модели и методы разработки крупномасштабных веб-приложений. // Уфа. Типография УГАТУ, 2003, 148с.
33. Арушанян О.Б., Богомолов H.A., Ковалев А.Д., Синицын М.Н. Архитектура клиентского программного обеспечения для web-приложений, ориентированных на представление данных // Вычислительные методы и программирование, 2004 Т.5. с. 24-37.
34. Васвани В. Zend Framework: разработка веб-приложений на PHP. / М.: Питер, 2012
35. Полтавцева Н.А. Интеграция объектных систем обработки информации реляционных серверов. // Тверь. Типография ТГТУ, 2003, 183с.
36. Doctrine ORM Электронный ресурс. Режим доступа: URL: http://doctrine-project.org (дата обращения: 08.09.2011).
37. Yii Framework: Best for Web 2.0 Development Электронный ресурс. -Режим доступа: URL: http://www.yiiframework.com/ (дата обращения: 08.09.2011).
38. Zend Framework: Documentation: Zend Db Электронный ресурс. Режим доступа: URL: http://framework.zend.com/manual/en/zend.db.html (дата обращения: 12.09.2011).
39. Marshall К., Pytel Ch., Yurek J. «Pro Active record: databases with Ruby and Rails».
40. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. СПб: Питер, 2007, 366 с.
41. Басс.Л, Клементе П., Казман P. «Software Architecture in Practice», Second Edition.
42. Аллен Э. Типичные ошибки проектирования, СПб. Изд. Питер. 2003, 224 с.
43. Токарчук А.М. Стратегии использования MVC-архитектуры в веб-приложениях // Научно-практическая конференция Неделя науки -2010 «Наука МИИТа транспорту»: тезисы докл. Всерос. Конф. (Москва, 18-19 мая 2010г.). - Москва, 2010. - С. VII-7.
44. Корпоративный портал и роль системы управления содержанием. // Международный симпозиум по проблемам модульных систем и сетей ICSNET2001, сборник трудов. Москва, 2001.
45. Дворянкин А.М., Кривенко Е.В. Особенности проектирования портальных систем // Известия ВолГТУ С 33-36
46. ISO/IEC 9126:1991, ГОСТ Р ИСО/МЭК 9126-93 «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению».
47. Романов В.Ю. Анализ программного обеспечения с использованием объектно-ориентированных метрик. Обзор метрик. Электронный ресурс. -Режим доступа: URL: http://oit.cmc.msu.ru/romanov/russian/pub/OOMetrics-Report.htm (дата обращения: 24.09.2011).
48. Фаулер М. Рефакторинг. Улучшение существующего кода. / СПб.:Символ-плюс 2008, 430с.
49. Токарчук А.М. Паттерн для отражения бизнес-логики // Мир транспорта -2010. №2. с.114-118.
50. Propel ORM Электронный ресурс. Режим доступа: URL: http://www.propelorm.org/ (дата обращения: 28.09.2011).
51. Токарчук А.М. Сетевые распределённые вычисления. Достижения, области применения // Научно-практическая конференция Неделя науки -2008 «Наука МИИТа транспорту»: тезисы докл. Всерос. Конф. (Москва, 8-9 апреля 2008г.). - Москва, 2008 - С. V-52 - V-53.
52. Токарчук А.М. «Разработка паттерна ActiveModel для программирования интернет-приложения методом объектно-реляционного отражения» / А.М. Токарчук // Информационные технологии. 2010. №9.
53. Object Data Management Group Электронный ресурс. Режим доступа: URL: http://www.odbms.org/odmg/ (дата обращения: 17.08.2011).
54. Богатырев Р. Природа и эволюция сценарных языков /Р. Богатырев //Мир ПК. №11,2001.
55. Кузнецов С. Дубликаты, неопределенные значения, первичные и возможные ключи и другие экзотические прелести языка sql/ С. Кузнецов // Системы Управления базами данных №3, 1997
56. Токарчук A.M. Применение средств ORM для разработки безопасных веб-приложений // Безопасность информационных технологий.- 2010 N1.-С.113-115.
57. Загорулько Ю.А. Методы представления и обработки знаний: Семантические сети и системы продукций: Методическое пособие. -Новосибирск: Изд-во НГУ, 1996. 46 с.
58. Липаев В.В. Проектирование программных средств / В.В. Липаев. М.: Высшая школа, 1990.
59. Zend Framework Электронный ресурс. Режим доступа: URL: http://framework.zend.com (дата обращения: 14.11.2010).
60. Оби Фернандес. Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails. / M. Символ-Плюс, 2009, 768c.
61. F. Zaninotto, F. Potencier A Gentle Introduction to symfony 1.4 / Packt 2010. 540c.
62. Griffith A. Codelgniter 1.7 professional development / Packt. 2010. 300c.
63. Паутов П. А. Реализация метода защиты аутентификационных данных в многоуровневых приложениях // Прикладная дискретная математика. Приложение. 2009. №1. с. 50-51
64. Показатели стандартизации Электронный ресурс. Режим доступа: URL: http://koefficienta.ru/enduratexter-material20modered-232-index.html (дата обращения: 18.12.2010).
65. Паутов П. А. Реализация метода защиты учетных данных для доступа к СУБД в веб-приложениях // Прикладная дискретная математика 2009, №3(5). 2009, с. 101-105.
66. Меньшов И.К. Разработка системы защиты WEB-приложений организации // Научный Вестник МГТУ ГА. Серия Студенческая наука, №150, 2009 С 60-64
67. Барский А.Б. Логические нейронные сети / М.: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2007. 352 с.
68. Robert Auger, Ryan Barnett, Yuval Ben-Itzhak, Eric Caso и др. Web Application Security Consortium (перевод: Классификация веб-угроз). Издательство webappsec, США, 2004
69. Токарчук А.М. Методика обеспечения безопасности веб-приложений. // Материали за VII международна научна практична конференция «Ключови въпроси в съвременната наука-2011». Том 37 Съвременни технологии на информации. Изд. София, 2001. г.Белград.
70. Ботыгин И.А., Каликин К.А. Исследование методов увеличения производительности web-приложений // Управление, вычислительная техника и информатика. Известие Томского политехнического университета, 2008 Т.312. №5 С 109-114
71. Исходный код Memcached. Файл items.с Функция doitemflushexpired Электронный ресурс. Режим доступа: URL:https://github.eom/memcached/memcached/blob/master/items.c (дата обращения: 18.12.2011)
72. Паутов П. А. Проблема аутентификации в многоуровневых приложениях// Прикладная дискретная математика 2008, №2(2) С 87-90
73. Janrain user management platform for the social web Электронный ресурс. Режим доступа: URL: http://www.janrain.com/ (дата обращения: 04.06.2011).
74. Loginza: Openld провайдер Электронный ресурс. Режим доступа: URL: http://loginza.ru (дата обращения: 04.06.2011).
75. Вавилов К., Щербина С. Web-интеграция. // «Открытые Системы». 2001, № 1.
76. Спинеллис Д., Гусиос Г. Идеальная архитектура стр. 39. / Изд. Символ-плюс.
77. Липаев В.В. Оценка качества программных средств. Сетевой журнал — 2002, №3 Электронный ресурс. Режим доступа: URL:http://www.setevoi.ni/cgi-bin/text.pl/magazines/2002/3/52 (дата обращения: 24.02.2011).
78. Новичков А., Шамрай А., Черников А. «Метрики кода и их практическая реализация в Subversion и ClearCase». Часть 1 метрики Электронный ресурс. - Режим доступа: URL:http://cmscons.com/articles/CCCQ/devmetrics/metricspartl (дата обращения: 24.02.2011).
79. Михайловский Н.Э. Сравнение методов оценки стоимости проектов по разработке инфрмационных систем. Электронный ресурс. Режим доступа: URL: http://www.ntrlab.ru/rus/method/fpates.php (дата обращения: 24.02.2011).
80. СПИСОК УСЛОВНЫХ СОКРАЩЕНИЙ
81. ПР проприетарные решения, несвободное программное обеспечение, алгоритмы и технологии. БД - база данных
82. ВП веб-приложение, клиент-серверное приложение, в котором клиентомвыступает браузер (программное обеспечение для просмотра веб-сайтов)или другое ВП, а обслуживающим сервером веб-сервер1. ЖЦ жизненный цикл
83. ИТ информационные технологии1. ПС программное средство
84. ООП объектно-ориентированнео программирование
85. ОРП объектно-реляционное преобразование1. ОС операционные системы
86. ПО программного беспечение
87. ПСП передача состояния представления
88. РСУБД реляционная система управления базами данных
89. СЧМУ воздействия создания, чтения, модификации и удаления
90. ЭТП электронная торговая площадка ЯП - язык программирования
91. Кэширование процесс сохранения и извлечения данных из КЭШ-пямяти (промежуточного буфера с быстрым доступом).
92. Инвалидация удаление из КЭШ-памяти информации, не соответствующей данным кэшируемой системы.
93. Рендеринг процесс позиционного заполнения файла шаблона информацией из массива переменных (переменных шаблона).
-
Похожие работы
- Методы и средства организации взаимодействия корпоративных информационных систем на основе сервис-ориентированной архитектуры
- Разработка специального математического и программного обеспечения выявления веб-сообществ в информационно-поисковых системах
- Выявление нарушений информационной безопасности по данным мониторинга информационно-телекоммуникационных сетей
- Методы и алгоритмы выбора композиции веб-сервисов в системах с сервисно-ориентированной архитектурой
- Методы и средства интеграции систем проектирования, производства и эксплуатации приборов на основе веб-сервисов
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность