Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

ПРИМЕНЕНИЕ UML И ШАБЛОНОВ ПРОЕКТИРОВАНИЯ. Введение в объектно-ориентированный анализ и проектирование

Крэг Ларман

Издано:2001, М., Издательский дом "Вильямс"
Для читателей с различным уровнем подготовки
ISBN: 5-8459-0125-1
Твердый переплет, 496 стр.
Формат: 70x100/16

Начало
Оглавление
Предисловие
Об авторе
[Заказать книгу в магазине "Мистраль"]

Содержание

ЧАСТЬ 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
  Прецеденты
  Статические структурные диаграммы
  Диаграммы последовательностей и описание системных операций
  Диаграммы сотрудничества
  Диаграммы классов

  Библиография
  Словарь терминов
  Предметный указатель
  

Начало
Оглавление
Предисловие
Об авторе
Заказать книгу в магазине "Мистраль"

 

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...