|
|
|
Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Содержание
ЧАСТЬ I. ВВЕДЕНИЕ
ГЛАВА 1. Объектно-ориентированный анализ и проектирование
1.1. Применение UML и шаблонов в процессе объектно-ориентированного
анализа и проектирования
1.2. Распределение обязанностей
1.3. Что такое анализ и проектирование
1.4. Объектно-ориентированный анализ и проектирование
1.5. Аналогия: организация предприятия MicroChaos
1.5.1. MicroChaos - развивающаяся компания
1.5.2. Определение экономических процессов
1.5.3. Распределение видов деятельности в организации
1.5.4. Кто чем занимается. Как взаимодействуют сотрудники
1.6. Пример объектно-ориентированного анализа и проектирования
1.6.1. Определение прецедентов
1.6.2. Определение концептуальной модели
1.6.3. Диаграммы взаимодействий
1.6.4. Диаграмма классов
1.6.5. Заключительные замечания об игре в кости
1.7. Объектный и функционально-ориентированный подходы к анализу и проектированию
1.8. Предупреждение: термины "анализ" и "проектирование" могут
вызвать терминологическую войну
1.9. Унифицированный язык моделирования UML
ГЛАВА 2. Введение в процесс разработки
2.1. Введение
2.1.1. Рекомендуемые процесс и модели
2.1.2. Предмет исследования данной книги
2.2. UML и процесс разработки
2.3. Этапы разработки на макроуровне
2.4. Итеративный процесс разработки
2.4.1. Временные рамки цикла разработки
2.4.2. Прецеденты и итеративные циклы разработки
2.4.3. Ранжирование прецедентов
2.5. Этап планирования
2.5.1. Порядок создания артефактов
2.6. Этап построения: циклы разработки
2.6.1. Порядок создания артефактов в цикле разработки
2.7. Когда следует создавать артефакты
2 7.1. Когда следует создавать концептуальную модель
2.7.2. Когда следует создавать развернутые прецеденты
ГЛАВА 3. Модели и артефакты
3.1. Введение
3.2. Моделирующие системы
3.3. Пример модели
3.3.1. Модель системы
3.4. Связь между артефактами
ЧАСТЬ II. СТАДИЯ ПЛАНИРОВАНИЯ
ГЛАВА 4. Конкретный пример: система розничной торговли
4.1. Система розничной торговли
4.2. Архитектурные уровни и основные моменты
4.3. Стратегия: последовательное изучение и разработка
ГЛАВА 5. Требования
5.1. Введение
5.2. Определение требований
5.2.1. Соединение составных частей
5.3. Общая формулировка задачи
5.4. Потребители
5.5. Цели
5.6. Функции системы
5.6.1. Категории функций
5.6.2. Основные функции
5.6.3. Функции обеспечения платежей
5.7. Атрибуты системы
5.7.1. Атрибуты системы в функциональной спецификации
Другие артефакты стадии формулировки требований
ГЛАВА 6. Описание процессов: прецеденты
6.1. Введение
6.2. Виды деятельности и зависимости
6.3. Прецеденты
6.3.1. Пример прецедента высокого уровня: Buy Items
6.3.2. Пример развернутого прецедента: приобретение товаров за наличные
6.3.3. Анализ развернутого формата
6.4. Исполнители
6.5. Стандартные ошибки, возникающие при использовании прецедентов
6.6. Определение прецедентов
6.7. Прецеденты и процессы предметной области
6.8. Прецеденты, функции системы и процесс их согласования
6.9. Диаграммы прецедентов
6.10. Форматы прецедентов
6.10.1. Прецеденты высокого уровня
6.10.2. Развернутый формат
6.11. Системы и их ограничения
6.12. Основные, второстепенные и дополнительные прецеденты
6.13. Идеальные и реальные прецеденты
6.13.1. Идеальные прецеденты
6.13.2. Реальные прецеденты
6.13.3. Идеальный прецедент Buy Items
6.13.4. Реальный прецедент Buy Items
6.14. Вопросы, касающиеся обозначений
6.14.1. Названия прецедентов
6.14.2. Развернутые прецеденты
6.14.3. Моменты принятия решений и ветвления
Главный раздел
Раздел "Оплата наличными"
Раздел "Оплата по кредитной карточке"
Раздел "Оплата чеком"
6.15. Прецеденты в процессе разработки
6.15.1. Стадии этапа планирования
6.15.2. Фазы выполнения итеративных циклов разработки
6.16. Разработка системы розничной торговли
6.16 1. Идентификация исполнителей и прецеденты
6.16.2. Представление прецедентов в формате высокого уровня
6.16.3. Построение диаграммы прецедентов
6.16.4. Установка связей между прецедентами
6.16.5. Представление некоторых идеальных прецедентов в развернутом формате
Прецедент Buy Items
Главный раздел
Раздел "Оплата наличными"
Раздел "Оплата по кредитной карточке"
Раздел "Оплата чеком"
6.16.6. Создание некоторых реальных прецедентов (при необходимости)
6.16.7. Ранжирование прецедентов
6.17. Примеры моделей
ГЛАВА 7. Ранжирование и составление графика реализации прецедентов
7.1. Введение
7.2. Распределение плана реализации прецедентов по циклам разработки
7.2.1. Прецеденты и циклы разработки
7.2.2. Ранжирование прецедентов
7.3. Ранжирование прецедентов системы розничной торговли
7.4. Прецедент Start Up
7.5. График реализации прецедентов системы розничной торговли
7.5.1. Создание нескольких версий сложных прецедентов
7.5.2. Распределение прецедента
7.6. Версии прецедента Buy Items
7.6.1. Buy Items: версия 1
Упрощения, цели и предположения
7.6.2. Buy Items: версия 2
Упрощения, цели и предположения
7.7. Резюме
ГЛАВА 8. Начало цикла разработки
ЧАСТЬ III. СТАДИЯ АНАЛИЗА (1)
ГЛАВА 9. Построение концептуальной модели
9.1. Введение
9.2. Виды деятельности и зависимости
9.3. Концептуальные модели
9.3.1. Словарь терминов предметной области
9.3.2. Концептуальная модель - это не модель структуры программы
9.3.3. Понятия
9.3.4. Концептуальные модели и декомпозиция
9.3.5. Понятия предметной области системы розничной торговли
9.4. Стратегии идентификации понятий
9.4.1. Поиск понятий по списку категорий
9.4.2. Определение понятий из текстовых описаний
9.5. Понятия-кандидаты для предметной области системы розничной торговли
9.5.1. Объекты отчета: включать ли понятие товарного чека в концептуальную модель
9.5.2. Концептуальная модель системы розничной торговли (понятия)
9.6. Принципы создания концептуальной модели
9.6.1. Как создать концептуальную модель
9.6.2. Имена и модели: стратегия построения карт
9.6.3. Типичная ошибка при выделении понятий
9 7. Разрешение конфликта сходных понятий: POST или Register
9.8. Моделирование "нереального" мира
9.9. Спецификация или описание понятий
9.9.1. Необходимость спецификаций
9.9.2. Когда нужны понятия-спецификации
9.9.3. Еще один пример спецификации
9.10. Термины языка UML
9.11. Пример модели
ГЛАВА 10. Концептуальная модель: добавление ассоциаций
10.1. Введение
10.2. Ассоциации
10.2.1. Какие ассоциации являются полезными
10.3. Система обозначений для ассоциаций языка UML
10.4. Поиск ассоциаций: список стандартных ассоциаций
10.4.1. Ассоциации с высоким приоритетом
10.5. Насколько подробными должны быть ассоциации
10.6. Рекомендации по поиску ассоциаций
10.7. Роли
10.7.1. Кратность
10.8. Имена ассоциаций
10.9. Несколько ассоциаций между двумя типами
10.10. Ассоциации и их реализация
10.11. Ассоциации для предметной области системы розничной торговли
10.11.1. Отношения в магазине, которые должны быть учтены
10.11.2. Использование списка категорий ассоциаций
10.12. Концептуальная модель системы розничной продажи
10.12.1. Сохранение только важных ассоциаций
10.12.2. Важные и второстепенные ассоциации
ГЛАВА 11. Концептуальная модель: добавление атрибутов
11.1. Введение
11.2. Атрибуты
11.3. Система обозначений атрибутов в языке UML
11.4. Корректные типы атрибутов
11.4.1. Атрибуты должны быть простыми
11.4.2. Анализ и проектирование: реализация атрибутов в программном коде
11.4.3 Данные простых типов
11.4.4. Не используйте атрибуты в качестве внешних ключей
11.5. Непримитивные типы атрибутов
11.5.1. Как размещать непримитивные и простые типы данных
11.6. Моделирование атрибутов Quantity и Unit
11.7. Атрибуты системы розничной торговли
11.8. Атрибуты в модели системы розничной торговли
11.8.1. Атрибуты системы POST
11.9. Кратная ассоциация между понятиями SalesLineltem и Item
11.10. Концептуальная модель системы розничной торговли
11.11. Выводы
ГЛАВА 12. Запись терминов в словарь
12.1. Введение
12.2. Словарь
12.3. Роли и зависимости
12.3.1. Правила и ограничения предметной области
12.4. Словарь системы розничной торговли
ГЛАВА 13. Поведение системы: диаграммы последовательностей
13.1. Введение
13.2. Виды деятельности и зависимости
13.3. Поведение системы
13.4. Диаграммы последовательностей
13.5. Пример диаграммы последовательностей
13.6. Системные события и операции
13.6.1. Запись системных операций
13.7. Построение диаграммы последовательностей
13.8. Диаграммы последовательностей и другие артефакты
13.9. Системные события и границы системы
13.10. Имена системных событий и операций
13.11. Отображение текста из описания прецедента
13.12. Пример модели
ГЛАВА 14, Поведение системы: описание системных операций
14.1. Введение
14.2. Виды деятельности и зависимости
14.3. Поведение системы
14.4. Описания
14.5. Пример описания системной операции: enterItem
14.6. Разделы описания
14.7. Составление описания
14.7.1. Описания и их артефакты
14.8. Постусловия
14.8.1. Связь постусловий с концептуальной моделью
14.8.2. Преимущества описания постусловий
14.9. Дух постусловий: сцена и занавес
14.10. Обсуждение: постусловия описания операции enterItem
14.10.1. Создание и удаление экземпляра
14.10.2. Модификация атрибута
14.10.3. Формирование и разрыв ассоциации
14.11. Насколько полными должны быть постусловия
14.12. Описание алгоритмов и деталей проекта: примечания
14.13. Предусловия
14.14. Советы по составлению описаний системных операций
14.14.1. Наиболее типичная ошибка при создании описаний системных операций
14.15. Описания для прецедента Buy Items
14.15.1. Описание операции enterItem
14.15.2. Описание операции endSale
14.15.3. Описание операции makePayment
14.16. Описания для прецедента StartUp
14.16.1. Описание операции startUp
14.17. Изменение концептуальной модели
14.18. Пример модели
ЧАСТЬ IV. ЭТАП ПРОЕКТИРОВАНИЯ (1)
ГЛАВА 15. От анализа к проектированию
15.1. Завершение стадии анализа
15.2. Начало этапа проектирования
ГЛАВА 16. Описание реальных прецедентов
16.1. Введение
16.2. Виды деятельности и зависимости
16.3. Реальные прецеденты
16.4. Пример: But Items (версия 1)
16.5. Пример модели
ГЛАВА 17. Диаграммы кооперации
17.1. Введение
17.2. Виды деятельности и зависимости
17.3. Диаграммы взаимодействий
17.4. Пример диаграммы кооперации: makePayment
17.5. Диаграммы взаимодействий - это важный артефакт
17.6. Данная глава - лишь введение в систему обозначений
17.7. Где приводятся рекомендации по разработке
17.8. Создание диаграмм кооперации
17.8.1. Диаграммы кооперации и другие артефакты
17.9. Основные обозначения для диаграмм кооперации
17.9.1. Отображение классов и экземпляров объектов
17.9.2. Отображение связей
17.9.3. Отображение сообщений
17.9.4. Отображение параметров
17.9 5. Представление возвращаемого значения
17.9.6. Синтаксис сообщений
17.9.7. Сообщения, передаваемые самому объекту
17.9.8. Представление итерационного процесса
17.9.9. Создание экземпляров объектов
17.9.10. Представление порядка передачи сообщений
17.9.11. Представление условных сообщений
17.9.12. Представление взаимоисключающих условных маршрутов
17.9.13. Представление коллекций
17.9 14. Сообщения, передаваемые сложному объекту
17.9.15. Сообщения, передаваемые классу
17.10. Пример модели
ГЛАВА 18, GRASP: шаблоны для распределения обязанностей
18.1. Введение
182. Виды деятельности и зависимости
18.3. Правильно спроектировать диаграммы взаимодействий - это очень важно
18.4. Обязанности и методы
18.5 Обязанности и диаграммы взаимодействий
18.6. Шаблоны
18.6.1. Шаблоны обычно не содержат новых идей
18.6.2. Шаблоны имеют имена
18.6.3. Именованные шаблоны облегчают общение
18.7 Шаблоны GRASP: общие принципы распределения обязанностей
18.7.1. Как применять шаблоны GRASP
18.8. Система обозначений диаграммы классов в языке UML
18.9. Шаблон Expert
18.10. Шаблон Creator
18.11. Шаблон Low Coupling
18.12. Шаблон High Cohesion
18.13. Шаблон Controller
Раздутый контроллер
Предупреждение: используя ролевые контроллеры, можно получить плохой проект
Системные события не обрабатываются на уровне представления
Системы обработки сообщений и шаблоны команд
18.14. Обязанности, роли и карты CRC
ГЛАВА 19. Проектное решение с использованием объектов и шаблонов
19 1. Введение
19.2. Диаграммы взаимодействия и другие артефакты
19.2.1. Диаграммы взаимодействия и системные события
19.2 2. Диаграммы взаимодействия и описания системных операций
19.2.3. Постусловия - это всего лишь оценки
19.2.4. Диаграммы кооперации и концептуальная модель
19.3. Концептуальная модель системы розничной торговли
19.4. Диаграммы кооперации для приложения POST
19.5. Диаграмма кооперации для операции enterItem
19 5.1. Выбор класса-контроллера
19.5.2. Отображение описания товара и его цены
19.5.3. Создание нового экземпляра объекта Sale
19.5.4. Создание экземпляров SalesLineltem
19.5.5. Нахождение ProductSpecification
19.5.6. Обеспечение видимости класса ProductCatalog
19.5.7. Получение значения ProductSpecification из базы данных
19.5.8. Диаграмма кооперации для системной операции enterItem
19.5.9. Сообщения мультиобъектам
19.6. Диаграмма кооперации для системной операции endSale
19.6.1. Выбор класса-контроллера
19.6.2. Установка значения атрибута Sale.isComplete
19.6.3. Отображение информации
19.6.4. Вычисление общей стоимости покупки
19.6.5. Диаграмма кооперации для операции total
19.7. Диаграмма кооперации для системной операции makePayment
19.7.1. Выбор класса-контроллера
19.7.2. Создание экземпляра Payment
19.7.3. Регистрация покупки
19.7.4. Вычисление причитающейся сдачи
19.8. Диаграмма кооперации для системной операции startUp
19.8.1. Когда создавать диаграмму кооперации для системной операции startup
19.8.2. Как запускаются приложения
19.8.3. Интерпретация системной операции startup
19.8.4. Операция startUp приложения розничной торговли
19.8.5. Выбор исходного специального объекта
19.8.6. Постоянные объекты ProductSpecification
19.8.7. Диаграмма кооперации для операции Store-create()
19.9. Подключение уровня представления к уровню реализации
Обязанности объектов уровней представления и реализации
19.10. Резюме
ГЛАВА 20. Области видимости
20.1. Введение
20.2. Видимость объектов
20.3. Что такое область видимости
20.3.1. Обеспечение видимости посредством атрибутов
20.3.2. Обеспечение видимости посредством параметров
20.3.3. Локальная видимость
20.3.4. Глобальная видимость
20.4. Иллюстрация видимости между объектами средствами языка UML
ГЛАВА 21. Диаграммы классов
21.1. Введение
21.2. Виды деятельности и зависимости
21.3. Когда следует создавать диаграммы классов
21.4. Пример диаграммы классов
21.5. Что такое диаграммы классов
21.6. Как построить диаграмму классов
21.7. Концептуальная модель и диаграммы классов
21.8. Создание диаграммы классов для системы розничной торговли
21.8.1. Идентификация программных классов и их отображение
21.8.2. Добавление имен методов
21.8.3. Выбор имен методов
21.8.4. Имена методов: create
21.8.5. Имена методов: методы доступа
21.8.6. Имена методов: мультиобъекты
21.8.7. Имена методов: синтаксис с учетом языка
21.8.8. Добавление дополнительной информации о типах
21.8.9. Добавление ассоциаций и информации о навигации
21.8.10. Добавление зависимостей
21.9. Обозначения для детальной информации о членах класса
21.10. Пример модели
21.11. Резюме
ГЛАВА 22. Вопросы проектирования систем
22.1. Введение
22.2. Классическая трехуровневая архитектура
22.3. Многоуровневая объектно-ориентированная архитектура
22.3.1. Декомпозиция уровня логики приложения
22.3.2. Многоуровневая архитектура
22.3.3. Развертывание
22.3.4. Обоснование многоуровневой архитектуры
22.4. Отображение архитектуры с использованием пакетов UML
22.4.1. Обозначение пакетов в языке UML
22.4.2. Диаграммы архитектуры пакетов
22.4.3. Пример пакетов и зависимостей
Комментарии к пакетам
Комментарии к отношениям зависимости
22.5. Идентификация пакетов
22.6. Уровни и разделы
22.6.1. "Свободная" многоуровневая архитектура
22.7. Обеспечение видимости между пакетами
22.8. Интерфейс со служебными пакетами: шаблон Facade
22.9. Отсутствие прямого взаимодействия с окнами: шаблон Model-View Separation
22.9.1. Обоснование шаблона Model-View Separation
22.9.2. Шаблон Model-View Separation и непрямое взаимодействие
22.10. Непрямое взаимодействие
22.10.1. Шаблон Publish-Subscribe
22.10.2. Класс Callback
22.10.3. Системы уведомления о событиях
22.11. Координаторы приложений
22.11.1. Координаторы приложений и оконные объекты
22.11.2. Координаторы приложений "собственного производства"
22.12. Объекты хранения данных
22.13. Пример модели
ЧАСТЬ V. СТАДИЯ КОНСТРУИРОВАНИЯ (1)
ГЛАВА 23. Преобразование результатов проектирования в программный код
23.1. Введение
23.2. Программирование и процесс разработки
23.2.1. Внесение изменений на стадии построения
23.2.2. Модификация кода и итерационный процесс
23.2.3. Изменение кода, CASE-средства и обратное проектирование
23.3. Преобразование результатов проектирования в программный код
23.4. Создание определений классов на основе диаграмм классов
23.4.1. Определение класса с методами и простыми атрибутами
23.4.2. Добавление атрибутов-ссылок ^
23.4.3. Атрибуты-ссылки и имена ролей
23.5. Создание методов на основе диаграмм кооперации
23.5.1. Метод POST-enterItem
23.5.2. Метод POST-isNewSale
23.6. Обновление определений классов
23.7. Классы-контейнеры в программном коде
23.8. Исключения и обработка ошибок
23.9. Определение метода Sale-make Line Item
23.10. Порядок реализации
23.11. Резюме
ГЛАВА 24. Программное решение на языке Java
24.1. Описание классов на языке Java
Класс Payment
Класс ProductCatalog
Класс POST
Класс ProductSpecification
Класс Sale
Класс SalesLineltem
Класс Store
ЧАСТЬ VI. СТАДИЯ АНАЛИЗА (2)
ГЛАВА 25. Определение требований второго цикла разработки
25.1. Требования второго цикла разработки
25.2. Предположения и упрощения
ГЛАВА 26. Взаимосвязь прецедентов
26.1. Введение
26.2. Когда следует создавать отдельные прецеденты
26.3. Диаграмма прецедентов со взаимоотношениями "включает"
26.3.1. Пример
26.4. Описание прецедентов при наличии отношения включает
26.4.1. Пример
26.4.2. Прецедент Buy Items
26.4.3. Прецедент Pay by Cash
26.4.4. Прецедент Pay by Credit
26.4.5. Прецедент Pay by Check
ГЛАВА 27. Доработка концептуальной модели
27.1. Новые понятия в системе розничной торговли
27.1.1. Категории понятий
27.1.2. Определение понятий из текстовых описаний
Прецедент Pay by Cash
Прецедент Pay by Credit
Прецедент Pay by Check
27.1.3. Транзакции со службами авторизации
27.1.4. Приблизительная концептуальная модель системы POST
ГЛАВА 28. Обобщение
28.1. Что такое обобщение
28.1.1. Обозначения языка UML
28.2. Определение супер- и подтипов
28.2.1. Обобщение и определение типов
28.2.2. Обобщение и множества типов
28.2.3. Совместимость определений подтипов
Правило 100%
28.2.4. Совместимость множества подтипа
Правило Is-a
28.2.5. Что такое корректный подтип
28.3. Когда нужно определять подтип
28.3.1. В каких случаях тип нужно разделять на подтипы
28.4. Когда нужно определять супертип
28.5. Иерархия типов системы розничной торговли
28.5.1. Типы Payment
28.5.2. Типы служб авторизации
28.5 3. Типы транзакций авторизации
28.6. Абстрактные типы
28.6.1. Обозначение абстрактных типов в UML
28.6.2. Абстрактные классы и методы
28.7. Моделирование изменения состояний
28.8. Иерархия классов и наследование
ГЛАВА 29. Пакеты: организация элементов
29.1. Введение
29.1.1. Уровни и разделы
29.2. Обозначение пакетов в языке UML
29.2.1. Принадлежность и ссылки
29.2.2. Зависимости пакетов
29.2.3. Отображение пакетов без использования диаграммы пакетов
29.3. Как разделить концептуальную модель
29.4. Пакеты концептуальной модели системы розничной торговли
ГЛАВА 30. Усовершенствование концептуальной модели
30.1. Введение
30.2. Ассоциативные типы
30.2.1. Рекомендации
30.3. Агрегация и объединение
30.3.1. Агрегация в языке UML
30.3.2. Композитная агрегация: затененный ромб
30.3.3. Коллективная агрегация: полый ромб
30.3.4. Как идентифицировать отношение агрегации
30.3.5. Преимущества отображения отношений агрегации
30.3.6. Отношение агрегации в модели системы розничной торговли
30.4. Имена ролей ассоциаций
30.5. Роли в форме понятий и роли, представленные в ассоциации
30.6. Производные элементы
30.7. Составные ассоциации
30.8. Рекурсивные или рефлексивные ассоциации
ГЛАВА 31. Концептуальная модель: подведение итогов
31.1. Введение
31.2. Пакет понятий предметной области
31.3. Пакет Core/Misc
31.4. Пакет Payments
31.5. Пакет Products
31.6. Пакет Sales
31.7. Пакет Authorization Transactions
ГЛАВА 32. Поведение системы
32.1. Диаграммы последовательностей
32.1.1. Стандартное начало прецедента Buy Items
32.1.2. Оплата с использованием кредитной карточки
32.1.3. Оплата чеком
32.2. Новые системные события
32.2.1. Переименование системного события make Payment
32.3. Описания системных операций
ГЛАВА 33. Моделирование поведения на диаграммах состояний
33.1. Введение
33.2. События, состояния и переходы
33.3. Диаграмм состояний
33.3.1. Предмет диаграммы состояний
33.4. Диаграммы состояний для прецедентов
33.4.1. Преимущества диаграмм состояний прецедентов
33.5. Диаграммы состояний системы
33.6. Диаграммы состояний прецедентов для приложения розничной торговли
33.6.1. Прецедент Buy Items
33.6.2. Прецедент Start Up
33.7. Для каких типов необходимы диаграммы состояний
33.7.1. Независимые и зависимые от состояний типы
33.7.2. Стандартные зависимые от состояния типы и классы
33.8. Другие диаграммы состояний для приложения розничной торговли
33.9. Изображение внешних и внутренних событий
33.9.1. Типы событий
33.9.2. Диаграммы состояний для внутренних событий
33.10. Дополнительные обозначения для диаграмм состояний
33.10.1. Действия и условия, связанные с переходами
33.10.2. Вложенные состояния
ЧАСТЬ VII. СТАДИЯ ПРОЕКТИРОВАНИЯ (2)
ГЛАВА 34. Шаблоны GRASP для распределения обязанностей
34.1. Общие шаблоны GRASP для распределения обязанностей
34.2. Polymorphism
34.3. Pure Fabrication
34.4. Indirection
34.4.1. Publish-Subscribe или Observer
34.5. Don't Talk to Strangers
34.5.1. Нарушение закона
ГЛАВА 35. Проектирование с использованием новых шаблонов
35.1. Введение
35.1.1. Творение четырех
35.2. Шаблон State (GoF)
35.2.1. Шаблон State: заключение
35.3. Шаблон Polymorphism (GRASP)
35.4. Шаблон Singleton (GoF)
35.4.1. Примеры кода
35.4.2. Обозначения языка UML для единственного экземпляра класса
35.4.3. Реализация
35.5. Шаблоны Remote Proxy и Proxy (GoF)
35.5.1. Замечания
35.6. Шаблоны Facade и Device Proxy (GoF)
35.6 1. Классы-оболочки
35.6.2. Шаблон Facade
35.6.3. Шаблон Device Proxy
35.6.4. Шаблон Indirection
35.6.5. Преобразование объектов в строковое представление
35.6.6. Использование удаленных объектов-посредников и устройств-посредников
35.7. Шаблон Command (GoF)
35.7.1. Метод CreditPaymentApprovalReply-execute
35.7.2. Метод CreditPaymentDenialReply-execute
35.8. Резюме
ЧАСТЬ VIII. СПЕЦИАЛЬНЫЕ ВОПРОСЫ
ГЛАВА 36. Другие обозначения языка UML
36.1. Введение
36.2. Обозначения общего назначения
36.2.1. Примечания и ограничения
36.2.2. Зависимость
36.2.3. Стереотипы и спецификации свойств
36.3. Интерфейсы
36.4. Диаграммы реализации
36.4.1. Диаграммы компонентов
36.4.2. Диаграммы развертывания
36.5. Асинхронные сообщения на диаграммах кооперации
36.6. Интерфейсы пакетов
ГЛАВА 37. Организация процесса разработки
37.1. Введение
37.2. В чем состоит проблема
37.3. Основные принципы успеха
37.4. Итеративность и последовательность
37.4.1. Недостатки однопроходного жизненного цикла
37.4.2. Итеративный жизненный цикл
37.5. Разработка, основанная на анализе прецедентов
37.6. Внимание к архитектуре на ранних стадиях разработки
37.7. Этапы разработки
37.7.1. Версии программного продукта
37.7.2. Основные этапы разработки
37.7.3. Версии программного продукта и циклы разработки
37.7.4. Стадия планирования
37.7.5. Стадия построения с акцентом на исследование
37.7.6. Основной этап построения
37.7.7. Этап развертывания
37.7.8. Стадия анализа одного цикла разработки
37.7.9. Этап проектирования одного цикла разработки
37.7.10. Этап конструирования одного цикла разработки
37.7.11. Стадия тестирования
37.8. Длительность циклов разработки
37.8.1. Временные рамки каждого цикла разработки
37.9. Циклы разработки
37.9.1. Параллельная работа групп разработчиков
37.9.2. Неочевидные требования и техническая архитектура
37.9.3. Прецеденты разработки системы
37.9.4. Зависимости при параллельной разработке
37.10. Составление графика разработки архитектурных уровней
ГЛАВА 38. Контуры, шаблоны и взаимодействие с базой данных
38.1. Введение
38.2. Проблема: постоянно хранимые объекты
38.2.1. Механизмы хранения и постоянно хранимые объекты
38.3. Решение: контур интерфейса с базой данных
38.4. Что такое контур
38.4.1. Контуры очень удобны для повторного использования
38.5. Требования к контуру интерфейса с базой данных
38.6. Суперкласс PersistentObject
38.7. Ключевые идеи
38.8. Соответствие: шаблон представления объектов в виде таблиц
38.9. Идентичность объектов: шаблон Object Identifier
38.10. Брокеры: шаблон Database Broker
38.11. Разработка контура: шаблон Template Method
38.12. Материализация: шаблон Template Method
38.13. Буферизованные объекты: шаблон Cache Management
38.13.1. Буферизация и управление транзакциями
38.14. "Интеллектуальные" ссылки: шаблоны Virtual Proxy и Bridge
38.14.1. Обобщенный виртуальный объект-посредник
38.14.2. Отсутствие необходимости в суперклассе PersistentObject
38.14.3. Реализация виртуального объекта-посредника
38.15. Виртуальные объекты-посредники и брокеры базы данных
38.15.1. Подключение объекта-посредника к брокеру: шаблон Factory Method
38.15.2. Только объекты-посредники
38.16. Способы представления отношений в таблицах
38.17. Шаблон Complex Object Instantiation
38.17.1. Проблема: материализация сложного объекта
38.17.2. Решение: материализация по требованию
38.17.3. Пример: материализация объекта SalesLineItem
38.18. Операции транзакции
38.18.1. Состояние объектов в контексте транзакции
38.18.2. Переход объекта в разряд измененных
38.18.3. Переход объекта в разряд удаленных
38.18.4. Операция commit
38.18.5. Операция rollback
38.19. Поиск объектов в постоянной базе данных
38.20. Альтернативные подходы
38.20.1. Метаданные и параметризованные брокеры
38.20.2. Объекты запросов
38.20.3. Изменяемые брокеры и резидентные брокеры базы данных
38.20.4. Состояния транзакций и виды буферов
38.21. Нерешенные вопросы
ПРИЛОЖЕНИЕ А. Список рекомендованной литературы
Основы объектно-ориентированного анализа и проектирования
Концептуальное моделирование
Объектно-ориентированное проектирование
Шаблоны
Анализ требований
Язык UML
ПРИЛОЖЕНИЕ Б. Виды деятельности в процессе разработки,
шаблоны GRASP и система обозначений языка UML
Виды деятельности в процессе разработки
Виды моделей
Основные шаблоны распределения обязанностей (шаблоны GRASP)
Система обозначений языка UML
Прецеденты
Статические структурные диаграммы
Диаграммы последовательностей и описание системных операций
Диаграммы сотрудничества
Диаграммы классов
Библиография
Словарь терминов
Предметный указатель
Начало
Оглавление
Предисловие
Об авторе
Заказать книгу в магазине "Мистраль"
|
|
|
|
|
|
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее... |
|