Разработка сред пользовательских интерфейсов нового поколения с применением аспектно-ориентированного программирования тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Михеев, Олег Игоревич

  • Михеев, Олег Игоревич
  • кандидат технических науккандидат технических наук
  • 2008, Санкт-Петербург
  • Специальность ВАК РФ05.13.11
  • Количество страниц 191
Михеев, Олег Игоревич. Разработка сред пользовательских интерфейсов нового поколения с применением аспектно-ориентированного программирования: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Санкт-Петербург. 2008. 191 с.

Оглавление диссертации кандидат технических наук Михеев, Олег Игоревич

Введение.

Объект и предмет исследования.

Актуальность работы.

Исследовательская работа.

Степень разработанности выбранной тематики.

Глава 1. Исторический аспект развития ПИ и методологий разработки ПО.

1.1 Краткая история информационных технологий и их роль в развитии общества.

1.2 Эволюция методик программирования - отражение развития информационных технологий.

1.3 Информационные технологии в процессе взаимодействия человека и компьютера.

1.4 Эволюция ПИ в системе информационных технологий.

1.5 Сравнение эволюции ПИ и методик программирования.

1.6 Постановка цели и задач.

Глава 2. Анализ существующих моделей ПИ.

2.1 Классификация ПИ.

2.1.1 Локальные ПИ.

2.1.2 Веб-интерфейсы.

2.1.3 Портальные ПИ.

2.2 Характеристики ПИ.

2.3 Разновидности портальных пользовательских интерфейсов.

2.3.1 Спецификации портальных серверов приложений.

2.3.2 IBM WebSphere Portal Server.

2.3.3 JBoss Portal Server.

2.3.4 Apache Pluto.

2.4 Анализ подходов к разработке портлетов.

Глава 3. Анализ теоретических аспектов разработки пользовательских интерфейсов.

3.1 Концепции традиционной разработки пользовательских интерфейсов

3.1.1 Основные термины и определения.

3.1.2 Методики программирования.

3.2 Недостатки существующих концепций разработки ПИ.

3.3 Подход к решению поставленной задачи на основе концепции АОП.

3.3.1 Концепции АОП.

3.3.2 Обоснование целесообразности применения АОП для разработки ПИ нового поколения.

3.4 Основные реализации АОП.

3.4.1 JBossAOP.

3.4.2 Spring АОР.

3.4.3 AspectJ.

3.5 Сравнение реализаций АОП.

3.5.1 Выявление критериев сравнения.

3.5.2 Анализ результатов тестирования реализаций АОП.

3.5.3 Выбор оптимальной реализации языка АОП.

3.6 Выводы.

Глава 4. Проектирование и разработка ПИ на основе АОП.

4.1 Подходы к разработке программного обеспечения.

4.1.1 Основные методологии разработки программного обеспечения.

4.1.2 Выбор основных методов разработки ПО для поставленной задачи

4.2 Методы проектирования.

4.2.1 Анализ.

4.2.2 Моделирование.

4.2.3 Выделение набора интерфейсов программирования.

4.3 Методы и подходы разработки.

4.3.1 Метод преобразования конфигурации портальных приложений.

4.3.2 Процедура сборки проекта.

4.4 Тестирование.

4.5 Итоговый набор методов и подходов разработки ПИ на основе АОП.

4.6 Автоматизация методов на платформе Eclipse.

4.7 Выводы.

Глава 5. Разработка пользовательского интерфейса на основе АОП.

5.1 Разработка портального приложения на основе спецификации JSR 168.

5.1.1 Этап моделирования.

5.1.2 Этап разработки.

5.1.3 Этап тестирования.

5.2 Разработка портального приложения в свободной форме.

5.3 Разработка приложения ВСР.

5.4 Разработка приложения PRF.

5.5 Разработка приложения ISG.

5.6 Выводы.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

Объект и предмет исследования

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

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

Актуальность работы

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

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

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

Классические подходы, разработанные в конце 1980-х годов и основанные на концепции объектно-ориентированного программирования (ООП), применительно к разработке ПИ (в т.ч. портального типа) становятся причиной определенных проблем, с которыми сталкиваются разработчики. Существующая критика подхода ООП указывает на альтернативный подход к разработке ПО, работы над которым ведутся уже несколько лет — аспектно-ориентированное программирование (АОП). Подход АОП обещает устранить выявленные недостатки ООП.

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

• существенно сократить время и трудозатраты, необходимые для разработки ПИ;

• оптимизировать процессы разработки ПИ;

• гарантировать получение ПИ портального типа определенного качества за счет применения разработанного программного комплекса;

• улучшить потребительские характеристики ПИ.

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

Исследовательская работа

Развитие методик программирования и технологий взаимодействия пользователя с компьютером является единым целым и отражает общее направление развития информационных технологий. Основной гипотезой данной диссертации является предположение о том, что разработка пользовательских интерфейсов нового поколения, обладающих ожидаемыми от них свойствами, требует применения новой методики программирования — Aspect-Oriented Software Development (AOSD).

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

Для достижения поставленной цели предполагается решить следующие задачи:

• провести исследование исторического аспекта развития парадигм программирования и пользовательских интерфейсов с целью доказать их зависимость друг от друга и обосновать необходимость применения новых концепций программирования для разработки ПИ нового поколения;

• проанализировать современное состояние методик программирования и разработки пользовательских интерфейсов и предложить подход для разработки ПИ нового поколения на основе комплекса новаторских подходов, адаптированных к современным концепциям программирования;

• обосновать необходимость применения концепций АОП для разработки ПИ нового поколения; в выработать подходы и методы программирования, адаптированные для применения АОП для разработки ПИ нового поколения;

• разработать программный комплекс, автоматизирующий применение предлагаемых подходов и методов разработки ПИ нового поколения;

• для подтверждения выдвинутой гипотезы реализовать приложение с ПИ нового поколения на основе созданного прототипа среды ПИ;

• показать преимущества предложенной автором методики.

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

Достоверность полученных результатов обусловлена:

• корректным применением теории графов;

• оценкой преимуществ применения предлагаемой методики разработки с помощью общепризнанного набора метрик, удовлетворяющих стандартам организаций ISO и IEEE;

• строгим соответствием представленной модели стандартам унифицированного языка моделирования (UML);

• доказательством непротиворечивости утверждений и достаточной аргументации приведенных в работе выводов и рекомендаций при помощи эксперимента;

• гарантией получения на выходе разработанной среды разработки ПИ определенного уровня качества;

• при помощи эксперимента;

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

В диссертации разработаны методические основы разработки ПИ портального типа на основе АОП. Суть этих результатов такова:

• Предложен оригинальный набор критериев оценки языков АОП;

• Предложен и теоретически обоснован новый подход к проектированию и разработке ПИ на основе АОП;

• Предложен оригинальный подход к моделированию аспектно-ориентированных систем в рамках стандарта унифицированного языка моделирования (UML);

• Разработана новая модель ПИ на основе АОП;

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

• Реализована среда ПИ портального типа, основанная на разработанной модели и демонстрирующая преимущества предложенного подхода к проектированию и разработке ПИ на основе АОП;

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

• среда ПИ портального типа;

• приложение для удаленного доступа к сервисам электронной почты, размещенное по адресу www.dusystems.com/mail:

• серия проектов, выполненных компанией Gemini Systems.

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

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

Основные результаты и выводы диссертации докладывались на следующих научных конференциях: IEEE С/ЕМ Chapter, VI Международная научно-техническая конференция «Компьютерное моделирование 2005», XXXIV неделя науки СПбГПУ, XXXV неделя науки СПбГПУ. По материалам диссертации опубликовано 5 печатных работ, где достаточно подробно изложены основные результаты работы и предложенная методика.

Степень разработанности выбранной тематики

На момент создания данной диссертационной работы выпущено уже множество трудов по выбранной тематике. Рассмотрим наиболее значимые из них.

Так, достаточно досконально описаны вопросы применения конкретных методик, входящих в наиболее популярные на настоящий момент методологии разработки программного обеспечения. Особое внимание уделяется так называемому экстремальному программированию (Extreme Programming, ХР) и методологии рационального унифицированного процесса — Rational Unified Process (RUP).

Rational Unified Process был разработан компанией Rational в 1998 году. Главный архитектор методологии Филипп Крачтен подробно описывает ее в своей книге «Rational Unified Process, The: An Introduction» [35]. Другая книга, «Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, The» [34] имеет более практическое содержание и нацелена на облегчение труда разработчиков проектов, ведущихся по методологии RUP.

Экстремальное программирования — сравнительно молодая методология, появившаяся в 2000 году в процессе реализации сложного проекта, где Кент Бек был главным архитектором. Его книга «Extreme Programming Explained: Embrace Change» [4], изданная в третьей редакции в 2003 году, является первоисточником данной методологии. В «Практическом руководстве по экстремальному программированию» [64] экстремальное программирование рассмотрено с более практической точки зрения с приведением множества жизненных примеров.

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

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

Так, в «Information Architecture for the World Wide Web» [44] представлена методика по применению технологии информационной архитектуры (ИА) для веб-сайтов, позволяющей представлять информацию пользователю в гораздо более наглядном формате, чем при традиционном подходе. Третье издание, вышедшее в 2006 году, также очень интересно тем, что доработано с учетом новейших тенденций в области дизайна веб-приложений, в частности, присутствует множество примеров представления информации с применением технологии Веб 2.0.

Описание особенностей и теории портальных приложений присутствует в книгах «Web Portals: The New Gateways to Internet Information and Services» [45] и «Proven Portals: Best Practices for Planning, Designing, and Developing Enterprise Portals» [53]. Были изданы многочисленные труды, представляющие собой документацию к конкретным реализациям порталов, например, от «IBM» и «Microsoft». Описанием теории порталов применительно к спецификации порталов JSR 168 служит книга «Java Portlet Specification 1.0» [63], а дополнительным источником информации служит сама спецификация, доступная на сайте корпорации «Sun Microsystems». Дополнительную информацию можно почерпнуть в сети Интернет, где опубликован ряд статей на предмет портальных технологий и разработки портальных приложений [33][59].

Книга «Java Swing» [15] описывает использование библиотеки Swing для разработки локальных пользовательских интерфейсов. Несмотря на то, что предметом диссертации и является разработка портальных ПИ, методики разработки ПИ любых типов имеют много общего, и было бы неразумно упустить возможность ознакомиться с ними.

Намного богаче выглядит перечень литературы на предмет парадигм программирования. Объектно-ориентированное программирование, ввиду его непревзойденной популярности, описывается в тысячах книг. Базовые принципы ООП описаны одним из его идеологов Г. Бучем в книге «Object-Oriented Analysis and Design with Applications» [8]. Также концепции ООП применительно к самому популярному ООП языку С++ описаны в книге его изобретателя Б. Страуструпа «The Design and Evolution of С++» [8].

В более академичном формате концепции ООП представлены в учебных пособиях. Так, учебное пособие «Основные концепции и механизмы объектно-ориентированного программирования» [79] Е. В. Пышкина рассматривает основные понятия и механизмы, лежащие в основе ООП. Другое учебное пособие «Моделирование систем. Объектно-ориентированный подход» [71] под авторством Ю. Б. Колесова и Ю. Б. Сениченкова дополняет принципы ООП необходимой информацией по технологии практического моделирования объектно-ориентированных систем. Основным языком моделирования объектно-ориентированных систем считается язык UML, который наиболее подробно описан его авторами (Буч Г., Якобсон А., Рамбо Дж.) в трудах «UML» [67] и «UML: руководство пользователя» [66].

Гораздо меньше трудов издано по альтернативным парадигмам, в частности, по интересующей нас аспектно-ориентированной. Статья главного идеолога методологии RUP и одного из авторов языка UML А. Якобсона «The Case for Aspects, Part 1» [28] показывает актуальность и перспективы аспектно-ориентированного подхода к разработкам ПО, а сборник научных трудов и статей «Aspect-Oriented Software Development» [20] под редакцией Р. Филмана, в свою очередь, наиболее полно отражает современное состояние методологии разработки аспектно-ориентированных систем.

Научно-исследовательские работы в области АОП публикуются и отечественными авторами. Так, В.О. Сафонов, яркий представитель адептов АОП, в своем труде «Using Aspect Oriented Programming for Trustworthy Software Development» [52] рассказывает о преимуществах АОП при разработке т.н. «надежного» ПО, и представляет свою реализацию языка АОП Aspect.NET.

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

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Михеев, Олег Игоревич

5.6 Выводы

Как показывают результаты применения методов и подходов, выработанных в Главе 4, они адекватно и в полной мере адаптируют процесс разработки портальных приложений к применению концепций АОП, что в результате приводит к созданию ПИ с лучшими показателями за меньшее время.

Так, сравнительные метрические оценки реализации двух эквивалентных ПИ показывают преимущество подхода АОП на 32%, а сравнение процедур отладки исходного кода и тестирования выявили десятикратное преимущество при применении АОП. Эти оценки сведены в Табл. 10.

Табл. 10: Сводная таблица преимуществ от применения АОП

Трудоемкость ООП Трудоемкость АОП Преимущество, %

Отладка исходного кода 43 5 88

Тестирование 43 10 76

Разработка исходного кода (среднее преимуществ метрических оценок) 32

Общее (среднее) преимущество 65

Общее преимущество от применения АОП к разработке ПИ портального типа по сравнению в классическими методиками составило 65,7%.

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

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

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

Заключение

В работе рассмотрены различные существующие типы ПИ и методики их разработки, указаны их основные достоинства и недостатки.

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

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

Разработан подход к разработке ПИ на основе АОП, в рамках которого предлагается использование перечня видоизмененных методик, взятых из общепринятых классических методологий разработки ПО и адаптированных под применение АОП:

• Механизм сравнения реализаций языков АОП на основе метода анализа иерархий Т. Саати, который дал разработчикам возможность выявления оптимальной реализации языка АОП для требований, предъявляемых конкретной задачей на основе перечня формальных критериев сравнения. Выявлен перечень критериев сравнения.

• Новый подход к проектированию АОП-систем, который заключается в применении расширения языка моделирования UML с помощью профайлов, входящих в стандарт UML.

• Формальная модель ПИ на основе АОП, представляющая собой набор интерфейсов программирования, необходимых для расширения компонентами ПИ. Представлены варианты модели как для портальных ПИ, разрабатывающихся по стандарту JSR 168, так и для портальных ПИ в свободной форме.

• Методика преобразования портлетной конфигурации в конфигурацию АОП на основе XSL-преобразования, позволяющая избежать двойного определения поведения портлетов.

• Интеграция XSL-преобразования и процедуры прекомпиляции в процесс автоматической сборки проектов, основанных на АОП.

• Отладка и тестирование системы с использованием АОП для динамического добавления и удаления тестируемой функциональности, тестирования исключительных ситуаций без модификации исходного кода, подмены вызовов недоступных (либо отличающихся своим поведением) во время тестирования служб вызовами фиктивных объектов (Mock objects).

Разработанная методика и формальная модель были успешно внедрены в процессы нескольких организаций — разработчиков ПО, в результате чего был построен ряд приложений для сетевого доступа к корпоративной информации. Успешное завершение проектов, поставка приложений заказчикам и положительный опыт их эксплуатации является лучшим показателем работоспособности выработанных методик. На данный момент в эксплуатации находятся 4 проекта, выполненных с применением предложенных методик.

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

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

Список литературы диссертационного исследования кандидат технических наук Михеев, Олег Игоревич, 2008 год

1. Aldawud О., Elrad Т., Bader A. A UML Profile for Aspect Oriented Development Электронный ресурс., 2003. Режим доступа:http://lgl.epfl.ch/workshops/aosd2003/papers/AldawudAOSDUMLProfile.pdf

2. Alexander С., Silverstein М., Ishikawa S. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977. -1216c.- ISBN 0-19-501919-9

3. Bates В., Freeman E., Freeman E., Sierra K. Head First Design Patterns. -O'Reilly, 2004. 676 c. - ISBN 0-596-00712-4

4. Beck K. Extreme Programming Explained: Embrace Change. Addison Wesley Professional, 2004. - 224 c. - ISBN 0-321-27865-8

5. Boehm В., Gray Т., Seewaldt T. Prototyping vs. specifying: A multi-project experiment // Proceedings of the 7th international conference on Software engineering. IEEE Press, 1984.

6. Boehm В., Turner R. Balancing Agility and Discipline: A Guide for the Perplexed. -Addison Wesley Professional, 2003. 304 c. - ISBN 0-321-18612-5

7. Bond M., Haywood D., Law D., Longshaw A., Roxburgh P. Sams Teach Yourself J2EE in 21 Days. Sams, 2004. - 1032 c. - ISBN 0-672-32558-6

8. Booch G. et al. Object-Oriented Analysis and Design with Applications. Addison Wesley Professional, 2007. - 720 c. - ISBN 0-201-89551-X

9. Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide, The. -Addison Wesley Professional, 2005. 496 c. - ISBN 0-321-26797-4

10. Boring E.G. Psychology A Factual Textbook. - Read Books, 2007. - 568 c. -ISBN 9-781-40674750-8

11. Brooks F.Jr. Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition. Addison Wesley Professional, 1995. — 336 c. - ISBN 0-20183595-9

12. Card S.K, Moran T.P., Newell A. The Psychology of Human-computer Interaction. Lawrence ErlbaumAssociates, 1983. - 472 c. - ISBN 0898598591

13. Chandra A. et al Architecting Portal Solutions. IBM Press, 2003. - 496 c. -ISBN 0-7384-9864-5

14. Chidamber S., Kemerer C. A Metrics Suite for Object Oriented Design // IEEE Transactions on Software Engineering. IEEE Press, 1994.

15. Cole В., Eckstein R., Elliott J., Loy M., Wood D. Java Swing. O'Reilly, 1998. -1278 c. - ISBN 0-596-00408-7

16. Collins D. Designing Object-Oriented User Interfaces. — Benjamin/Cummings, 1995. 608 c. - ISBN 0-805-35350-X

17. Committee on the Fundamentals of Computer Science Computer Science: Reflections on the Field, Reflections from the Field. CSTB Publications, 2004. — 216 c. - ISBN 0-309-09429-1

18. Constantine L. Peopleware Papers: Notes on the Human Side of Software, The. — Prentice Hall, 2001. 368 c. - ISBN 0-13-060123-3

19. Englebart D., English W. A research center for augmenting human intellect // AFIPS Conference Proceedings of the 1968 Fall Joint Computer Conference. -, 1968.

20. Filman R., Elrad Т., Clarke S., Aksit M. Aspect-Oriented Software Development. Addison-Wesley, 2005. - 395-410 c. - ISBN 0-321-21976-7

21. Fleury M., Stark S., Richards N. JBoss 4.0 The Official Guide. Sams, 2005. -648 c. - ISBN 0-672-32648-5

22. Fowler M., Rice D., Foemmel M., Hieatt E., Mee R., Stafford R. Patterns of Enterprise Application Architecture. Addison Wesley Professional, 2002. - 560 c. -ISBN 0-321-12742-0

23. Futrell R., Shafer D., Safer L. Quality Software Project Management. Prentice Hall, 2002. - 1680 c. - ISBN 0-13-091297-2

24. Groher I., Schulze S. Generating Aspect Code from UML Models Электронный ресурс., 2003. Режим доступа:http://lgl.epfl.ch/workshops/aosd2003/papers/Groher-AspectCodeFromUML.pdf

25. Herrmann S. Composable Designs with UFA Электронный ресурс., 2002.

26. Режим доступа: http://swt.cs.tu-berlin.de/~stephan/publications/UFA.pdf

27. Holdener А.Т. Ill Ajax: The Definitive Guide. O'Reilly, 2007. - 656 c. - ISBN 0-596-52838-8

28. Holzner S. Ant: The Definitive Guide. O'Reilly, 2005. - 334 c. - ISBN 0-59600609-8

29. Jacobson I. The Case for Aspects, Part 1 Электронный ресурс., 2003. — Режим доступа: http://www.jaczone.com/papers/10sd.Jacobson32-37.pdf

30. Jacobson I., Ng P. Aspect-Oriented Software Development with Use Cases. -Addison Wesley Professional, 2004. 464 c. - ISBN 0-321-26888-1

31. Jayaswal В., PattonP. Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software. Prentice Hall, 2006. - 840 c. - ISBN 0-13-187250-8

32. Kan S. Metrics and Models in Software Quality Engineering. — Addison Wesley Professional, 2002. 560 c. - ISBN 0-201-72915-6

33. Kapur D., Musser D., Stepanov A. Tecton, A Language for Manipulating Generic Objects Электронный ресурс., 1981. Режим доступа: http://www.stepanovpapers.com/Tecton.pdf

34. Klaene М. Understanding the Java Portlet Specification Электронный ресурс., 1995. — Режим доступа: http://www.developer.com/java/web/article.php/3366111

35. Kroll P., Kruchten P. Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, The. Addison Wesley Professional, 2003. - c. - ISBN 0-321-16609-4

36. Kruchten P. Rational Unified Process, The: An Introduction. Addison Wesley Professional, 2003. - 336 c. - ISBN 0-321-19770-4

37. Linger R., Hausler P. The Journey to Zero Defects with Cleanroom Software Engineering // Creativity!. -, 1992.

38. Linwood J., Minter D. Building Portals with the Java Portlet API. Apress, 2004. - c.-ISBN 1-59059-284-0

39. Lopes С. AOP: a historical perspective (what's in a name?) // Aspect-Oriented Software Development. —, 2005.

40. Mangano S. XSLT Cookbook. O'Reilly, 2005. -11A c. - ISBN 0-596-00974-7

41. Massol V., O'Brien T. Maven: A Developer's Notebook. O'Reilly, 2005. - 224 c. -ISBN 0-596-00750-7

42. McCabe T. A Complexity Measure // IEEE TRANSACTIONS ON SOFTWARE ENGINEERING. IEEE Press, 1976.

43. McConnell S. Code Complete, Second Edition. Microsoft Press, 2004. - 960 c. -ISBN 0-7356-1967-0

44. Monnox A. Rapid J2EE Development: An Adaptive Foundation for Enterprise Applications. Prentice Hall, 2005. - 432 c. - ISBN 0-13-147220-8

45. Morville P., Rosenfeld L. Information Architecture for the World Wide Web. -O'Reilly, 2006. 456 c. - ISBN 0-596-52734-9

46. Mullins C. DB2 Developer's Guide. Sams, 2004. - 1512 c. - ISBN 0-67232613-2

47. Nathan A., Lehenbauer D. Windows Presentation Foundation Unleashed. Sams, 2006. - 656 c. - ISBN 0-672-32891-7

48. Osgi Alliance OSGi Service Platform. IOS Press, 2003. - 604 c. - ISBN 9781586033118

49. Pedersen S. Maximize use of unit testing with JBoss АОР Электронный ресурс., 2004. Режим доступа: http://folk.uio.no/staalep/aop/testing.html

50. Rashid A., Sawyer P., Moreira A., Araujo J. Early Aspects: A Model for Aspect-Oriented Requirements Engineering // IEEE Joint International Requirements Engineering Conference Proceedings. — IEEE Computer Society Press, 2002.

51. Raymond E.S. Art of Unix Programming, The. Addison Wesley Professional, 2003. - 560 c. - ISBN 0-13-142901-9

52. Rodriguez J. et al. IBM WebSphere Portal V5 A Guide for Portlet Application Development. IBM Press, 2004. - 570 c. - ISBN 0-7384-9851-3

53. Safonov V.O. Using Aspect Oriented Programming for Trustworthy Software Development. WileyBlackwell, 2008. - 338 c. - ISBN 0-470-13817-3

54. Sullivan D. Proven Portals: Best Practices for Planning, Designing, and

55. Developing Enterprise Portals. Addison Wesley Professional, 2003. - 224 c. -ISBN 0-321-12520-7

56. Suzuki J., Yamamoto Y. Extending UML with Aspects:Aspect Support in the Design Phase Электронный ресурс., 1999. — Режим доступа: http://www.cs.umb.edu/~jxs/pub/ecoop99.pdf

57. Tatnall A. Web Portals: The New Gateways to Internet Information and Services.- Idea Group, 2004. 380 c. - ISBN 1-59140-438-X

58. Unhelkar B. Process Quality Assurance for UML-Based Projects. — Addison Wesley Professional, 2002. 432 c. - ISBN 0-201-75821-0

59. Vinju J., Kam K. The effect of Ajax on performanceand usability in web environments Электронный ресурс., 2006. Режим доступа: http://homepages.cwi.nl/~paulkythesesMasterSoftwareEngineering/2006/YouriOpTR oodt.pdf

60. Walters E. Essential Guide to Computing: The Story of Information Technology, The. Prentice Hall, 2000. - 528 c. - ISBN 0-13-019469-7

61. Ziebold G., Sum M. Best Practices for Applying Ajax to JSR 168 Portlets Электронный ресурс., 2007. — Режим доступа:http://developers.sun.com/portalserver/reference/techart/ajax-portlets.html

62. Xerox PARC Электронный ресурс., 2007. Режим доступа: http://en.wikipedia.org/wiki/XeroxPaloAltoResearchCenter

63. Open Source Portals in Java Электронный ресурс., 2007. — Режим доступа: http://java-source.net/open-source/portals

64. User Interface Электронный ресурс., 2007. — Режим доступа: http://en.wikipedia.org/wiki/Userinterface

65. Java Portlet Specification 1.0 Электронный ресурс., 2003. — Режим доступа: http://jcp.org/abouUava/communityprocess/final/jsrl68/index.html

66. Астелс Д., Миллер Г., Новак М. Практическое руководство по экстремальному программированию. — М.: Издательский дом "Вильяме", 2002.- 320 с. ISBN 5-8459-0329-7

67. Бордовский Г.А., Извозчиков В.А., Исаев Ю.В., Морозов В.В. Информатика в понятиях и терминах. М.: Просвещение, 1991. - 208 с. - ISBN 5-09-002694-7

68. Буч Г., Рамбо Дж., Джекобсон A. UML: руководство пользователя. — М.: ДМК, 2000. 432 с. - ISBN 5-93700-009-9

69. Буч Г., Якобсон А., Рамбо Дж. UML: 2-е издание. СПб: Изд-во "Питер", 2006. - с. - ISBN 5-469-00599-2

70. Винер Н. Кибернетика, или Управление и связь в животном и машине. — М.: Наука, 1983. 344 с. - ISBN

71. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. Технологии программирования на Java 2: Книга 1. -М.: ООО Бином-Пресс, 2003. 560 с. - ISBN 5-9518-0017-Х

72. Колдовский В. Разработка ПО: метрики программных проектов Электронный ресурс., 2007. Режим доступа: http://itc.ua/article.phtml? ID=27774

73. Колесов Ю.Б., Сениченков Ю.Б. Моделирование систем. Объектно-ориентированный подход. СПб.: БХВ-Петербург, 2006. - 192 с. - ISBN 594157-579-3

74. Котляров В.П. Технологии программирования. Основы современного тестирования программного обеспечения, разработанного на С#. — Изд-во СПбГПУ, 2004. 168 с. - ISBN 5-7422-0576-7

75. Михеев О.И. Применение аспектно-ориентированного подхода к разработке оконных графических интерфейсов // Научно-технические ведомости СПбГПУ. СПб.: Изд-во СПбГПУ, 2007.

76. Михеев О.И. Аспектное моделирование в uml // Компьютерное моделирование 2005: Труды VI Международной научно-технической конференции. Изд-во СПбГПУ, 2005.

77. Михеев О.И. Сравнение характеристик основных языков аспектно-ориентированного программирования II XXXIV неделя науки СПбГПУ. Изд-во СПбГПУ, 2006.

78. Михеев О.И. Практическое применение АОП при разработкепользовательских интерфейсов на основе Веб-технологий // XXXV неделя науки СпбГПУ. -Изд-во СПбГПУ, 2007.

79. Остерн М. Обобщенное программирование и STL. — Невский диалект, 2004. 544 с. - ISBN 5-7940-0119-4

80. Павлов В. Анализ вариантов применения аспектно-ориентированного подхода при разработке программных систем Электронный ресурс., 2003. — Режим доступа: http://www.javable.eom/columns/aop/workshop/01/index.pdf

81. Пышкин Е.В. Основные концепции и механизмы объектно-ориентированного программирования. СПб: БХВ-Петербург, 2005. — 640 с. -ISBN 5-94157-554-8

82. Раскин Д. Интерфейс: новые направления в проектировании компьютерных систем. СПю: Символ-Плюс, 2004. - 272 с. - ISBN 5-93286-030-8

83. Рейволд Б.У. Универсум информации: Жизнь и деятельность Поля Отле. -М.: Книга, 1976. 401 с. - ISBN

84. Саати Т. Принятие решений. Метод анализа иерархий. — М.: Радио и связь, 1993.-316 с. ISBN 5-256-00443-3

85. Фуксман A.JI. Технологические аспекты создания программных систем. — М.: Статистика, 1979. 184 с. - ISBN

86. Черноруцкий И.Г. Методы оптимизации и принятия решений. — СПб.: Изд-во Лань, 2001.-384 с. ISBN 5-8114-0387-9

87. Шилейко A.B., Шилейко Т.И. Беседы об информатике. — М.: Мол. гвардия, 1989. 287 с. - ISBN 5-235-00496-51. Список аббревиатур

88. AOSD (Aspect-Oriented Software Development) — разработка аспектно-ориентированного ПО.

89. AOUI (Aspect-Oriented User Interface) аспектно-ориентированный пользовательский интерфейс.

90. API (Application Programming Interface) — программный интерфейс приложения.

91. CLI (Command Line Interface) — ПИ командной строки.

92. GL (Generation Language) — поколение языка.

93. GUI (Graphical User Interface) графический ПИ.

94. HTML (HyperText Markup Language) язык разметки гипертекста.

95. HTTP (HyperText Transfer Protocol) протокол передачи гипертекста.

96. EE (Institute of Electrical and Electronics Engineers) — институт электро- и электронной инженерии. Создан в 1963 в США.

97. O (International Organization for Standardization) — международная организация по стандартизации, созданная в 1947 году.

98. Java ЕЕ (Java Platform, Enterprise Edition, до версии 5.0 — Java 2 Enterprise Edition или J2EE) — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.

99. JCP (Java Community Process) — процесс сообщества Java.

100. JSR (Java Specification Request) запрос на спецификацию Java.

101. C (Lines Of Code) — количество строк исходного кода.

102. COM (Lack Of Cohesion Of Methods) — недостаток единства методов.

103. MVC (Model-View-Controller) модель-вид-контроллер.

104. NORM (Number Of Remote Methods) — количество дистанционных методов. ООШ (Object-Oriented User Interface) — объектно-ориентированный ПИ. RFC (Response For Class) отклик на класс.

105. RUP (Rational Unified Process) рациональный унифицированный процесс.

106. STL (Standard Template Library) — библиотека стандартных шаблонов.

107. ТСРЯР — набор сетевых протоколов, на которых базируется Интернет. Название образовано из аббревиатур двух базовых протоколов — TCP (Transmission Control Protocol ) и IP (Internet Protocol)

108. UML (Unified Modeling Language) унифицированный язык моделирования.

109. URI (Universal Resource Identifier) — универсальный идентификатор ресурса.

110. WPMC (Weighted Methods Per Class) — взвешенные методы на класс.

111. ХР (eXtreme Programming) — экстремальное программирование.

112. АОП — Аспектно-Ориентированное Программирование (Aspect-Oriented Programming, АОР) — парадигма программирования, основанная на идее разделения функциональности, особенно сквозной функциональности, для улучшения разбиения программы на модули.

113. Веб 2.0 (Web 2.0) — технология создания веб сайтов, подразумевающая использование Интернет как основной платформы для пользователей. Отличается прежде всего способом визуального представления данных, и нацеленностью на взаимодействие пользователей.

114. ИА Информационная архитектура (Information Architecture, IA) — совокупность методов и приемов структурирования информации (знаний или данных).

115. ПИ пользовательский интерфейс.

116. ПО — программное обеспечение.

117. УДК — универсальная десятичная классификация.

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