Объектно-ориентированный анализ и проектирование с примерами приложений
Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон
Авторы описывают объектные методы решения сложных проблем, связанные с разработкой систем и программного обеспечения. Используя многочисленные примеры, они иллюстрируют основные концепции объектно-ориентированного подхода на примере разработки систем управления, сбора данных и искусственного интеллекта. Читатели найдут в книге практичные советы, касающиеся важных вопросов анализа, проектирования, реализации и оптимального управления проектами.
Книга будет полезна системным аналитикам и архитекторам, программистам, преподавателям и студентам высших учебных заведений, а также всем специалистам по информационным технологиям.
Издательство: Вильямс, 2010 г.
ISBN 978-5-8459-1401-9, 0-201-89551-X
Количество страниц: 720.
Содержание книги «Объектно-ориентированный анализ и проектирование с примерами приложений»:
- 17 Предисловие
- 17 Изменения, внесенные в третье издание
- 31 Часть I. Концепции
- 33 Глава 1. Сложность
- 34 1.1 Структура сложных систем
- 34 Структура персонального компьютера
- 35 Структура растений и животных
- 36 Структура материи
- 37 Структура общественных институтов
- 37 1.2 Сложность, присущая программному обеспечению
- 37 Определение сложности программного обеспечения
- 38 Почему программному обеспечению присуща сложность?
- 38 Сложность предметной области
- 40 Трудности управления проектированием
- 41 Необходимость обеспечить гибкость программ
- 41 Сложность описания дискретных систем
- 42 1.3 Пять признаков сложной системы
- 42 Иерархическая структура
- 43 Относительность выбора элементарных компонентов
- 43 Разделение функций
- 44 Общая структура
- 44 Устойчивые промежуточные формы
- 45 1.4 Организованная и неорганизованная сложность
- 45 Каноническая форма сложной системы
- 48 Пределы человеческих возможностей
- 48 1.5 Упорядочение хаоса
- 49 Роль декомпозиции
- 49 Алгоритмическая декомпозиция
- 50 Объектно-ориентированная декомпозиция
- 51 Сравнение алгоритмической и объектно-ориентированной композиции
- 51 Роль абстракции
- 54 Роль иерархии
- 55 1.6 О проектировании сложных систем
- 55 Инженерное дело как наука и искусство
- 55 Смысл проектирования
- 56 Важность моделирования
- 57 Элементы методологии проектирования программного обеспечения
- 57 Объектно-ориентированные модели
- 58 Резюме
- 34 1.1 Структура сложных систем
- 59 Глава 2. Объектная модель
- 59 2.1 Эволюция объектной модели
- 60 Поколения языков программирования
- 62 Топология языков первого поколения и ранних языков второго поколения
- 63 Топология языков программирования позднего второго и раннего третьего поколения
- 64 Топология поздних языков третьего поколения
- 65 Топология объектных и объектно-ориентированных языков
- 67 2.2 Основные положения объектной модели
- 69 Объектно-ориентированное программирование
- 72 Объектно-ориентированное проектирование
- 73 Объектно-ориентированный анализ
- 73 2.3 Составные части объектного подхода
- 75 Абстрагирование
- 81 Инкапсуляция
- 85 Модульность
- 89 Иерархия
- 94 Контроль типов
- 97 Параллелизм
- 100 Персистентность
- 102 2.4 Применение объектной модели
- 103 Преимущества объектной модели
- 104 Нерешенные вопросы
- 104 Резюме
- 59 2.1 Эволюция объектной модели
- 106 Глава 3. Классы и объекты
- 106 3.1 Природа объектов
- 107 Что является и что не является объектом?
- 109 Состояние
- 112 Поведение
- 113 Операции
- 114 Роли и обязанности
- 116 Объекты как автоматы
- 116 Индивидуальность
- 119 3.2 Отношения между объектами
- 119 Связи
- 122 Видимость
- 122 Синхронизация
- 122 Агрегация
- 123 3.3 Природа класса
- 123 Что такое класс
- 124 Интерфейс и реализация
- 126 Жизненный цикл класса
- 127 3.4 Отношения между классами
- 127 Ассоциация
- 129 Наследование
- 139 Агрегация
- 140 Зависимости
- 141 3.5 Взаимосвязь классов и объектов
- 141 Отношения между классами и объектами
- 141 Роль классов и объектов в анализе и проектировании
- 142 3.6 Качество классов и объектов
- 142 Измерение качества абстракции
- 144 Выбор операций
- 145 Временная и пространственная семантика
- 146 Выбор отношений
- 147 Выбор реализации
- 148 Упаковка
- 148 Резюме
- 106 3.1 Природа объектов
- 150 Глава 4. Классификация
- 150 4.1 Важность правильной классификации
- 151 Трудности классификации
- 153 Итеративная суть классификации
- 154 4.2 Идентификация классов и объектов
- 155 Классический и современный подходы
- 159 Применение классических и современных теорий
- 160 Объектно-ориентированный анализ
- 161 Анализ характеристик
- 167 4.3 Основные абстракции и механизмы
- 168 Идентификация основных абстракций
- 170 Идентификация механизмов
- 173 Резюме
- 150 4.1 Важность правильной классификации
- 175 Часть II. Метод
- 177 Глава 5. Обозначения
- 177 5.1 Элементы обозначений
- 178 Краткий исторический очерк
- 178 Модели и представления
- 179 Таксономия диаграмм
- 181 Практическое использование диаграмм
- 182 Концептуальные, логические и физические модели
- 183 Роль инструментов проектирования
- 184 Продукты объектно-ориентированного конструирования
- 184 Пропорциональное увеличение или уменьшение
- 185 Синтаксис и семантика языка UML
- 185 Источники информации о языке UML 2.0
- 186 5.2 Диаграммы пакетов
- 186 Основы: обозначения пакетов
- 187 Основы: области видимости элементов
- 189 Основы: отношение зависимости
- 189 Основы: диаграммы пакетов
- 191 Уточненная концепция: импорт и доступ
- 195 5.3 Диаграммы компонентов
- 195 Основы: обозначение компонентов
- 197 Основы: диаграмма компонентов
- 199 Основы: интерфейсы компонентов
- 200 Основы: реализация компонентов
- 202 Уточненная концепция: внутренняя структура компонентов
- 203 5.4 Диаграммы развертывания
- 204 Основы: обозначение артефактов
- 205 Основы: обозначение узла
- 206 Основы: диаграмма развертывания
- 208 5.5 Диаграммы прецедентов использования
- 208 Основы: действующие лица
- 209 Основы: прецеденты использования
- 209 Основы: диаграмма прецедентов использования
- 212 Уточненная концепция: отношения <<include>> и <<extend>>
- 217 Уточненная концепция: обобщение
- 218 5.6 Диаграммы деятельности
- 218 Основы: действия
- 219 Основы: начало и остановка
- 219 Основы: узлы принятия решений и слияний
- 220 Основы: разделы
- 221 Уточненные концепции: разветвления, объединения и параллельность
- 223 Уточненные концепции: потоки объектов
- 223 Уточненные концепции: дополнительные элементы
- 223 5.7 Диаграммы классов
- 225 Основы: классы
- 226 Основы: отношения между классами
- 229 Уточненные концепции: шаблонные (параметризованные) классы
- 231 Уточненные концепции: видимость
- 233 Уточненные концепции: имена полюсов ассоциации и квалификаторы
- 234 Уточненные концепции: ограничения
- 237 Уточненные концепции: классы ассоциаций и примечания
- 239 5.8 Диаграммы последовательностей
- 239 Основы: объекты и взаимодействия
- 240 Основы: “линия жизни” и сообщения
- 242 Уточненные концепции: уничтожение
- 242 Уточненные концепции: спецификация выполнения
- 243 Уточненные концепции: механизм использования взаимодействий
- 244 Уточненные концепции: управляющие конструкции
- 245 5.9 Диаграммы обзора взаимодействий
- 246 Основы: рамки
- 247 Основы: элементы потока управления
- 248 Основы: элементы диаграммы взаимодействий
- 248 5.10 Диаграммы композитных структур
- 249 Основы: части композитных структур
- 249 Основы: порты и интерфейсы сложной структуры
- 250 Основы: соединительные звенья композитной структуры
- 250 Уточненные концепции: механизм сотрудничества
- 252 5.11 Диаграммы конечных автоматов
- 253 Основы: начальное, конечное и простое состояния
- 254 Основы: переходы и состояния
- 255 Уточненные концепции: вход, операция и выход из состояния
- 256 Уточненные концепции: управляемые переходы
- 258 Уточненные концепции: сложные и вложенные состояния
- 259 Уточненные концепции: параллельность и управление
- 265 Уточненные концепции: состояние конечного автомата
- 265 Уточненные концепции: дополнительные элементы диаграмм конечных автоматов
- 265 5.12 Диаграммы синхронизации
- 267 Основы: элементы диаграмм синхронизации
- 267 Основы: схема
- 268 Основы: события
- 268 Основы: ограничения
- 269 Уточненные концепции: альтернативное представление
- 270 Уточненные концепции: события и сообщения
- 271 5.13 Диаграммы объектов
- 271 Основы: объекты
- 272 Основы: отношения между объектами
- 273 Уточненные концепции: имена и квалификаторы
- 274 5.14 Диаграммы коммуникации
- 274 Основы: объекты, связи и сообщения
- 275 Основы: нумерация сообщений
- 277 Уточненные концепции: сообщения и синхронизация
- 278 Уточненные концепции: итерационные выражения и дополнительные условия
- 279 Резюме
- 177 5.1 Элементы обозначений
- 281 Глава 6. Процесс
- 281 6.1 Основные принципы
- 281 Характерные черты удачных проектов
- 285 Рациональный процесс проектирования
- 290 6.2 Макропроцесс: жизненный цикл разработки программного обеспечения
- 291 Обзор
- 291 Содержание макропроцесса — стадии
- 295 Временные координаты макропроцесса — контрольные точки и этапы
- 301 Временной аспект макропроцесса — итерации
- 304 Планирование выпусков
- 307 6.3 Микропроцесс: анализ и проектирование
- 307 Обзор
- 308 Уровни абстракции
- 315 Микропроцесс и уровни абстракции
- 318 Идентификация элементов
- 324 Определение взаимодействия между элементами
- 328 Определение отношений между элементами
- 331 Детализация семантики элементов
- 336 Резюме
- 281 6.1 Основные принципы
- 338 Глава 7. Практические вопросы
- 339 7.1 Управление и планирование
- 339 Управление риском
- 340 Планирование заданий
- 342 Инспектирование проекта
- 343 7.2 Подбор кадров
- 343 Распределение ресурсов
- 344 Роли разработчиков
- 348 7.3 Управление выпусками
- 348 Управление конфигурацией и контроль версий
- 349 Интеграция
- 349 Тестирование
- 350 7.4 Повторное использование
- 350 Элементы повторного использования
- 351 Как осуществить повторное использование?
- 351 7.5 Гарантия качества и его показатели
- 352 Качество программного продукта
- 353 Объектно-ориентированные показатели
- 356 7.6 Документация
- 356 Наследие разработки
- 357 Содержание документации
- 358 7.7 Инструменты
- 358 Виды инструментов
- 359 Организационные выводы
- 360 7.8 Специальные вопросы
- 360 Специализированные проблемы
- 361 Адаптация объектных технологий
- 363 7.9 Преимущества и риски объектно-ориентированной разработки
- 363 Преимущества
- 363 Риски, связанные с объектно-ориентированным проектированием
- 365 Резюме
- 339 7.1 Управление и планирование
- 367 Часть III. Приложения
- 370 Глава 8. Системная архитектура: спутниковая система навигации
- 371 8.1 Начало
- 371 Требования, предъявляемые к спутниковой системе навигации
- 374 Определение границ задачи
- 377 Формулировка прецедентов выполнения заданий
- 380 Определение сценариев использования системы
- 383 8.2 Разработка
- 385 Разработка хорошей архитектуры
- 386 Определение действий, связанных с разработкой архитектуры
- 387 Обоснование предложенной системной архитектуры
- 397 Распределение нефункциональных требований и определение интерфейсов
- 400 Согласование системной архитектуры и ее разворачивание
- 403 Декомпозиция системной архитектуры
- 410 8.3 Конструирование
- 410 8.4 Сопровождение
- 410 Добавление новых функциональных возможностей
- 411 Изменение аппаратного оборудования
- 371 8.1 Начало
- 413 Глава 9. Система управления трафиком
- 414 9.1 Начало
- 415 Требования к системе управления движением
- 417 Определение прецедентов использования системы
- 423 9.2 Разработка
- 423 Анализ функциональных возможностей системы
- 426 Определение архитектуры системы TTMS
- 430 От проектирования системы к разработке аппаратного оборудования и программного обеспечения
- 434 Ключевые абстракции и механизмы
- 435 9.3 Конструирование
- 436 Механизм передачи сообщений
- 440 Планирование расписания движения поездов
- 443 Отображение информации
- 445 Сбор показаний датчиков
- 445 Управление версиями
- 446 Архитектура системы
- 447 Спецификация подсистем
- 450 9.4 Эксплуатация
- 414 9.1 Начало
- 452 Глава 10. Искусственный интеллект: криптоанализ
- 453 10.1 Начало
- 453 Требования криптоанализа
- 454 Определение границ задачи
- 456 Архитектура информационной доски
- 459 Анализ источников знаний
- 460 10.2 Разработка
- 460 Объекты информационной доски
- 462 Зависимости и утверждения
- 464 10.3 Конструирование
- 465 Проектирование объектов класса Blackboard
- 470 Проектирование источников знаний
- 470 Проектирование специализированных источников знаний
- 472 Обобщение источников знаний
- 477 Проектирование модуля управления
- 478 Интеграция модели
- 478 Интеграция объектов верхнего уровня
- 482 Реализация механизма оценки предположений
- 483 Добавление новых источников знаний
- 484 10.4 Сопровождение
- 484 Расширение функциональных возможностей
- 486 Изменение технических требований
- 453 10.1 Начало
- 487 Глава 11. Сбор данных: метеорологическая станция
- 487 11.1 Начало
- 488 Требования к метеорологической станции
- 488 Определение границ рассматриваемой задачи
- 499 Сценарии
- 500 11.2 Проектирование
- 501 Прецеденты использования системы мониторинга погодных условий
- 511 Архитектурная основа
- 513 11.3 Конструирование
- 513 Механизм временных рамок
- 516 Планирование выпусков
- 517 Механизм датчиков
- 520 Механизм работы дисплея
- 521 Механизм пользовательского интерфейса
- 524 11.4 Эксплуатация
- 487 11.1 Начало
- 526 Глава 12. Web-приложение: система планирования отпусков
- 527 12.1 Начало
- 527 Требования
- 529 Модель использования
- 531 12.2 Разработка
- 532 Представление развертывания
- 533 Логическое представление
- 535 Представление процессов
- 538 Представление реализации
- 538 Представление сценариев использования
- 543 12.3 Конструирование
- 544 Модель действий пользователя
- 546 Модели анализа и проектирования
- 557 Сущности
- 561 Сервисные объекты данных
- 563 Генерация первичного ключа
- 565 Методы поиска
- 567 Контроллеры
- 567 Web-страницы и пользовательский интерфейс
- 569 Заполнение динамического содержания
- 572 Вызов бизнес-функций
- 573 12.4 Внедрение и эксплуатация
- 527 12.1 Начало
- 575 Приложение А. Объектно-ориентированные языки программирования
- 575 Эволюция языков программирования
- 578 Язык программирования Smalltalk
- 584 Язык программирования C++
- 589 Язык программирования Java
- 595 Приложение Б. Рекомендации по дальнейшему чтению
- 605 Примечания
- 629 Глоссарий
- 641 Библиография
- 715 Предметный указатель
Инструкция как скачать книгу Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон: Объектно-ориентированный анализ и проектирование с примерами приложений в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
1540