UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд.

116 грн.

Добавить в корзину:

Перед вами поистине революционная книга, посвященная базовым принципам объектно-ориентированного мышления. Своей универсальностью она выгодно отличается от множества книг, описывающих отличительные черты какого-нибудь одного языка программирования. Новое издание этого бестселлера обновлено в соответствии со стандартом UML 2.0. Авторы четко и ясно объясняют суть важнейших концепций объектно-ориентированного программирования, представляют способы реализации этих идей при разработке ПО с использованием языков C++ и Java, а также реляционных баз данных. В книге есть задания и множество советов, что делает ее очень практичной.

Оглавление к книге: UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд.
От издательства

Глава 1. Введение
1.1. Что такое объектная ориентированность?
1.2. Объектно-ориентированная разработка
1.2.1. Моделирование концепций, а не реализации
1.2.2. Объектно-ориентированная методология
1.2.3. Три модели
1.3. Объектно-ориентированные концепции
1.3.1. Абстракция
1.3.2. Инкапсуляция
1.3.3. Объединение данных и поведения
1.3.4. Совместное использование
1.3.5. Выделение сущности объекта
1.3.6. Когда целое больше суммы частей
1.4. Доводы в пользу объектной ориентированности
1.5. История объектно-ориентированного моделирования
1.6. Структура книги

Часть I. Концепции моделирования
Глава 2. Моделирование как методика проектирования
2.1. Моделирование
2.2. Абстрагирование
2.3. Три модели
2.3.1. Модель классов
2.3.2. Модель состояний
2.3.3. Модель взаимодействия
2.3.4. Отношения моделей
2.4. Резюме
Глава 3. Моделирование классов
3.1. Концепции объекта и класса
3.1.1. Объекты
3.1.2. Классы
3.1.3. Диаграммы классов
3.1.4. Значения и атрибуты
3.1.5. Операции и методы
3.1.6. Резюме системы обозначений классов
3.2. Концепции связи и ассоциации
3.2.1. Связи и ассоциации
3.2.2. Кратность
3.2.3. Имена полюсов ассоциации
3.2.4. Упорядочение
3.2.5. Мультимножества и последовательности
3.2.6. Классы ассоциаций
3.2.7. Квалифицированные ассоциации
3.3. Обобщение и наследование
3.3.1. Определения
3.3.2. Использование обобщения
3.3.3. Подмена составляющих
3.4. Пример модели классов
3.5. Навигация моделей классов
3.5.1. Прослеживание моделей с помощью конструкций OCL
3.5.2. Построение выражений OCL
3.5.3. Примеры выражений OCL
3.6. Практические советы
3.7. Резюме по моделям классов
Глава 4. Углубленное моделирование классов
4.1. Расширенные концепции классов и объектов
4.1.1. Перечисление
4.1.2. Кратность
4.1.3. Область действия
4.1.4. Видимость
4.2. Полюса ассоциаций
4.3. N-арные ассоциации
4.4. Агрегация
4.4.1. Агрегация и ассоциация
4.4.2. Агрегация и композиция
4.4.3. Распространение операций
4.5. Абстрактные классы
4.6. Множественное наследование
4.6.1. Виды множественного наследования
4.6.2. Множественная классификация
4.6.3. Обходные маневры
4.7. Метаданные
4.8. Воплощение
4.9. Ограничения
4.9.1. Ограничения на объекты
4.9.2. Ограничения на наборы обобщений
4.9.3. Ограничения на связи
4.9.4. Использование ограничений
4.10. Производные данные
4.11. Пакеты
4.12. Практические рекомендации
4.13. Резюме
Глава 5. Моделирование состояний
5.1. События
5.1.1. Событие сигнала
5.1.2. События изменения
5.1.3. События времени
5.2. Состояния
5.3. Переходы и условия
5.4. Диаграммы состояний
5.4.1. Пример диаграммы состояний
5.4.2. Одноразовые диаграммы состояний
5.4.3. Основные обозначения для диаграмм состояний
5.5. Поведение на диаграммах состояний
5.5.1. Действия и деятельность
5.5.2. Текущая деятельность
5.5.3. Деятельность при входе и при выходе
5.5.4. Переход по завершении
5.5.5. Отправка сигналов
5.5.6. Пример диаграммы состояний с деятельностью
5.6. Практические рекомендации
5.7. Резюме
Глава 6. Углубленное моделирование состояний
6.1. Вложенные диаграммы состояний
6.1.1. Задачи с одноуровневыми диаграммами состояний
6.1.2. Разложение состояний
6.2. Вложенные состояния
6.3. Обобщение сигналов
6.4. Параллелизм
6.4.1. Параллелизм в агрегации
6.4.2. Параллелизм в объекте
6.4.3. Синхронизация параллельной деятельности
6.5. Пример модели состояний
6.6. Модель состояний и модель классов
6.7. Практические рекомендации
6.8. Резюме
Глава 7. Моделирование взаимодействий
7.1. Модели вариантов использования
7.1.1. Действующие лица
7.1.2. Варианты использования
7.1.3. Диаграммы вариантов использования
7.1.4. Руководство к вариантам использования
7.2. Модели последовательности
7.2.1. Сценарии
7.2.2. Диаграммы последовательности
7.2.3. Руководство к диаграммам последовательности
7.3. Модели деятельности
7.3.1. Деятельность
7.3.2. Ветвление
7.3.3. Инициализация и завершение
7.3.4. Параллельная деятельность
7.3.5. Выполняемые диаграммы деятельности
7.3.6. Руководство к моделям деятельности
7.4. Резюме
Глава 8. Дополнительные вопросы моделирования взаимодействий
8.1. Отношения вариантов использования
8.1.1. Отношение включения
8.1.2. Отношение расширения
8.1.3. Обобщение
8.1.4. Комбинации отношений вариантов использования
8.1.5. Руководство по применению отношений к вариантам использования
8.2. Процедурные модели последовательности
8.2.1. Диаграммы последовательности с пассивными объектами
8.2.2. Диаграммы последовательности с временными объектами
8.2.3. Руководство к процедурным моделям последовательности
8.3. Специальные конструкции для моделей деятельности
8.3.1. Отправка и получение сигналов
8.3.2. Плавательные дорожки
8.3.3. Потоки объектов
8.4. Резюме
Глава 9. Обзор концепций
9.1. Модель классов
9.2. Модель состояний
9.3. Модель взаимодействия
9.4. Отношения между моделями
9.4.1. Обобщение
9.4.2. Агрегация

Часть II. Анализ и проектирование
Глава 10. Обзор процесса разработки
10.1. Этапы разработки
10.1.1. Концептуализация системы
10.1.2. Анализ
10.1.3. Проектирование системы
10.1.4. Проектирование классов
10.1.5. Реализация
10.1.6. Тестирование
10.1.7. Обучение
10.1.8. Развертывание
10.1.9. Поддержка
10.2. Жизненный цикл разработки
10.2.1. Водопадная разработка
10.2.2. Итерационная разработка
10.3. Резюме
Глава 11. Концептуализация системы
11.1. Изобретение концепции системы
11.2. Проработка концепции
11.3. Подготовка задачи к постановке
11.4. Резюме
Глава 12. Анализ предметной области
12.1. Обзор этапа анализа
12.2. Модель классов предметной области
12.2.1. Выделение классов
12.2.2. Удаление лишних классов
12.2.3. Подготовка словаря данных
12.2.4. Выделение ассоциаций
12.2.5. Удаление лишних ассоциаций
12.2.6. Выделение атрибутов
12.2.7. Удаление лишних атрибутов
12.2.8. Реструктурирование при помощи наследования
12.2.9. Проверка маршрутов
12.2.10. Итерационная разработка модели классов
12.2.11. Смещение уровня абстрагирования
12.2.12. Группировка классов в пакеты
12.3. Модель состояний предметной области
12.3.1. Выявление классов с разными состояниями
12.3.2. Выделение состояний
12.3.3. Выделение событий
12.3.4. Построение диаграмм состояний
12.3.5. Проверка диаграмм состояния
12.4. Модель взаимодействия предметной области
12.5. Итерационный анализ
12.5.1. Уточнение аналитической модели
12.5.2. Корректировка требований
12.5.3. Анализ и проектирование
12.6. Резюме
Глава 13. Анализ приложения
13.1. Модель взаимодействия приложения
13.1.1. Определение границы системы
13.1.2. Идентификация действующих лиц
13.1.3. Идентификация вариантов использования
13.1.4. Идентификация начальных и конечных событий
13.1.5. Подготовка типовых сценариев
13.1.6. Нетипичные сценарии и исключительные ситуации
13.1.7. Выделение внешних событий
13.1.8. Подготовка диаграмм деятельности для сложных вариантов использования
13.1.9. Структурирование действующих лиц и вариантов использования
13.1.10. Проверка по модели классов предметной области
13.2. Модель классов приложения
13.2.1. Определение интерфейсов пользователя
13.2.2. Определение пограничных классов
13.2.3. Определение управляющих объектов
13.2.4. Проверка по модели взаимодействия
13.3. Модель состояний приложения
13.3.1. Выделение классов приложения
13.3.2. Поиск событий
13.3.3. Построение диаграмм состояний
13.3.4. Проверка по другим диаграммам состояний
13.3.5. Проверка по модели классов
13.3.6. Проверка по модели взаимодействия
13.4. Добавление операций
13.4.1. Операции из модели классов
13.4.2. Операции из вариантов использования
13.4.3. Операции «по списку»
13.4.4. Упрощение операций
13.5. Резюме
Глава 14. Проектирование системы
14.1. Обзор проектирования систем
14.2. Оценка производительности
14.3. Планирование повторного использования
14.3.1. Библиотеки
14.3.2. Каркасы
14.3.3. Образцы
14.4. Разбиение системы на подсистемы
14.4.1. Уровни
14.4.2. Разделы
14.4.3. Сочетание уровней и разделов
14.5. Выделение параллелизма
14.5.1. Выделение неотъемлемой параллельности
14.5.2. Определение параллельных задач
14.6. Распределение подсистем
14.6.1. Оценка требований к аппаратным ресурсам
14.6.2. Выбор между аппаратным и программным обеспечением
14.6.3. Распределение задач по процессорам
14.6.4. Определение физической связности
14.7. Управление хранилищами данных
14.8. Распределение глобальных ресурсов
14.9. Выбор стратегии управления программным обеспечением
14.9.1. Процедурное управление
14.9.2. Событийное управление
14.9.3. Параллельное управление
14.9.4. Внутреннее управление
14.9.5. Другие парадигмы
14.10. Учет граничных условий
14.11. Установка приоритетов
14.12. Распространенные архитектурные стили
14.12.1. Пакетное преобразование
14.12.2. Непрерывное преобразование
14.12.3. Интерактивный интерфейс
14.12.4. Динамическое моделирование
14.12.5. Системы реального времени
14.12.6. Администратор транзакций
14.13. Архитектура сети банкоматов
14.14. Резюме
Глава 15. Проектирование классов
15.1. Обзор этапа проектирования классов
15.2. Наведение мостов
15.3. Реализация вариантов использования
15.4. Проектирование алгоритмов
15.4.1. Выбор алгоритмов
15.4.2. Выбор структур данных
15.4.3. Определение внутренних классов и операций
15.4.4. Назначение операций классам
15.5. Рекурсия вниз
15.5.1. Уровни функциональности
15.5.2. Уровни механизмов
15.6. Реорганизация
15.7. Оптимизация проекта
15.7.1. Добавление избыточных ассоциаций для повышения эффективности доступа
15.7.2. Изменение порядка выполнения для повышения эффективности
15.7.3. Сохранение промежуточных результатов
15.8. Воплощение поведения
15.9. Корректировка иерархии наследования
15.9.1. Реорганизация классов и операций
15.9.2. Абстрагирование общего поведения
15.9.3. Делегирование
15.10. Организация проекта модели классов
15.10.1. Сокрытие информации
15.10.2. Согласованность сущностей
15.10.3. Коррекция определений пакетов
15.12. Резюме
Глава 16. Резюме процесса разработки
16.1. Концептуализация системы
16.2. Анализ
16.2.1. Анализ предметной области
16.2.2. Анализ приложения
16.3. Проектирование
16.3.1. Проектирование системы
16.3.2. Проектирование классов

Часть III. Реализация
Глава 17. Моделирование реализации
17.1. Обзор реализации
17.2. Уточнение классов
17.3. Уточнение обобщений
17.4. Реализация ассоциаций
17.4.1. Анализ прослеживания ассоциаций
17.4.2. Односторонние ассоциации
17.4.3. Двусторонние ассоциации
17.4.4. Сложные ассоциации
17.5. Тестирование
17.5.1. Модульное тестирование
17.5.2. Системное тестирование
17.6. Резюме
Глава 18. Объектно-ориентированные языки
18.1. Введение
18.1.1. Введение в C++
18.1.2. Введение в Java
18.1.3. Сравнение C++ и Java
18.2. Сокращенная модель банкомата
18.3. Реализация структуры
18.3.1. Типы данных
18.3.2. Классы
18.3.3. Управление доступом
18.3.4. Обобщение
18.3.5. Ассоциации
18.4. Реализация функциональности
18.4.1. Создание объекта
18.4.2. Существование объекта
18.4.3. Уничтожение объекта
18.4.4. Создание связи
18.4.5. Удаление связи
18.4.6. Производные атрибуты
18.5. Практические рекомендации
18.6. Резюме
Глава 19. Базы данных
19.1. Введение
19.1.1. Концепции баз данных
19.1.2. Концепции реляционных баз данных
19.1.3. Нормальные формы
19.1.4. Выбор СУБД
19.2. Сокращенная модель банкомата
19.3. Реализация структуры — основы
19.3.1. Классы
19.3.2. Ассоциации
19.3.3. Обобщения
19.3.4. Индивидуальность
19.3.5. Основные правила реализации РСУБД
19.4. Реализация структуры — дополнительные вопросы
19.4.1. Внешние ключи
19.4.2. Проверка ограничений
19.4.3. Индексы
19.4.4. Представления
19.4.5. Дополнительные правила реализации моделей UML в РСУБД
19.5. Реализация структуры из примера с банкоматом
19.6. Реализация функциональности
19.6.1. Связь языка программирования с базой данных
19.6.2. Преобразование данных
19.6.3. Инкапсуляция и оптимизация запросов
19.6.4. Использование кода SQL
19.7. Объектно-ориентированные базы данных
19.8. Практические рекомендации
19.9. Резюме
Глава 20. Стиль программирования
20.1. Объектно-ориентированный стиль
20.2. Повторное использование
20.2.1. Виды повторного использования
20.2.2. Правила хорошего стиля для повторного использования
20.2.3. Использование наследования
20.3. Возможность расширения
20.4. Устойчивость
20.5. Программирование крупных систем
20.6. Резюме

Часть IV. Разработка программного обеспечения
Глава 21. Итерационная разработка
21.1. Обзор итерационной разработки
21.2. Итерационная и водопадная модели
21.3. Итерационная разработка и быстрое прототипирование
21.4. Масштаб итераций
21.5. Выполнение итерации
21.6. Планирование следующей итерации
21.7. Моделирование и итерационная разработка
21.8. Идентификация рисков
21.9. Резюме
Глава 22. Управление моделированием
22.1. Обзор управления моделированием
22.2. Виды моделей
22.3. Ловушки моделирования
22.4. Сеансы моделирования
22.4.1. Скрытое моделирование
22.4.2. Циклическое моделирование
22.4.3. Моделирование на месте
22.5. Организация персонала
22.6. Методики изучения
22.7. Методики обучения
22.8. Средства
22.8.1. Средства моделирования
22.8.2. Средства управления конфигурациями
22.8.3. Генераторы кода
22.8.4. Средства интерпретации моделей
22.8.5. Репозиторий
22.9. Оценка затрат на моделирование
22.10. Резюме
Глава 23. Унаследованные системы
23.1. Инженерный анализ
23.1.1. Инженерный анализ и разработка
23.1.2. Входные данные для инженерного анализа
23.1.3. Выходные данные инженерного анализа
23.2. Построение модели классов
23.2.1. Восстановление реализации
23.2.2. Восстановление проекта
23.2.3. Восстановление анализа
23.3. Построение модели взаимодействия
23.4. Построение модели состояний
23.5. Рекомендации по проведению инженерного анализа
23.6. Обертка
23.7. Обслуживание
23.8. Резюме

Библиографические замечания
Литература

Приложение А. Система графических обозначений UML
Приложение Б. Краткий словарь
Ответы к избранным упражнениям

Алфавитный указатель

  • Модель: 978-5-469-00814-9, 5-469-00814-2
  • 48 Количество в запасе
  • Производитель: Питер


Данный товар был добавлен Monday 12 November, 2007.