Введение
ГЛАВА 1. Обзор технологий программирования, позволяющих повысить качество сопровождения кода . 11
1.1. Принцип разделения ответственностей (Separation of Concerns) и компонентное программирование, как основа построения подхода для эффективного сопровождения кода 15
1.2. Расширяемое программирование (extensible programming) 18
1.2.1. Технология вертикального слоения А.Л. Фуксмана 19
1.2.2. Расширяемые программы М.М. Горбунова-Посадова 21
1.3. Аспектно-ориентированное программирование 24
1.3.1. Методы аспектной декомпозиции 28
1.3.2. Недостатки аспектно-ориентированного подхода 32
1.4. Виды спецификаций и способы их выработки. Роль спецификаций в построении гибкого сопровождаемого приложения 34
1.4.1. Подходы к выработке спецификаций 35
1.4.2. Роль спецификаций в построении гибкого сопровождаемого приложения 36
1.5. Выводы 38
ГЛАВА 2. Новый способ декомпозиции кода, основанный на аспектно-ориентированной парадигме 38
2.1. Фактор сосредоточенности. Рассредоточенный код и причины его появления 39
2.1.1. Рассредоточенный и сосредоточенный код 39
2.1.2. Причины появления и методы работы с рассредоточенностью кода 44
2.1.3. Классификация рассредоточенного кода 50
2.1.4. Значимость фактора рассредоточенности в программном коде 52
2.2. Предлагаемый метод аспектнои декомпозиции 54
2.2.1. Точки присоединения и их классификация 55
2.2.2. Этапы проектирования модифицируемого приложения, как основа метода построения аспектного кода 61
2.3. Фактор транзакционнностии и его роль для развития программы 72
2.4. Выводы 74
ГЛАВА 3. Применение XML спецификаций для моделирования сложно-структурированных программных объектов 75
3.1. Принципы построения спецификаций аспектов 75
3.2. Построение многоуровневых спецификаций 79
3.2.1. Цепочечный подход и его обобщение 79
3.2.2. Метод цепочек спецификаций 84
3.3. Метод аспектнои декомпозиции и его сопряжение с методом цепочек спецификаций 98
3.4. Выводы 104
ГЛАВА 4. Реализация программного комплекса «xpectengine» и оценки эффективности применения разработанного метода аспектной декомпозиции 104
4.1. Практическое применение метода автоматической генерации компонент на примере программного комплекса «XpectEngine» 105
4.2. Оценки эффективности и сложности разработанного меюда аспектной декомпозиции. Сравнение полученных оценок на различных задачах 119
4.3. Выводы 121
Заключение 121
Литература


