Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 3
Текст из файла (страница 3)
Реализация ассоциаций . 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. Введение в С++ 18.12. Введение в 1ача 18.1.3. Сравнение С++ и зача 18.2. Сокращенная модель банкомата .
18.3. Реализация структуры . 18.3.1. Типы данных 18.32. Классы 18.3.3. Управление доступом .. 18.3.4. Обобщение .. 18.3.5. Ассоциации .. 18.4. Реализация функциональности 18.4.1. Создание объекта 18.42. Существование объекта . 18.4.3. Уничтожение объекта .. 18.4Я. Создание связи 18Я.5. Удаление связи 18.4.6. Производные атрибуты 185. Практические рекомендации 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. Ассоциации Часть |П. Реализация 360 . 360 . 361 . 362 363 . 365 365 . 365 . З67 . 367 . 368 . 369 . 369 . З7О . З7О . З7О . 372 . 372 . 372 . 374 . 376 . 377 . 378 . 378 381 381 384 388 391 392 395 396 397 399 400 401 402 403 403 404 409 409 409 410 412 413 413 414 414 416 14 Содержание 418 419 420 421 421 423 423 423 424 424 428 428 430 431 432 432 433 434 435 435 436 Глава 20. Стиль программирования Часть ю. Разработка программного обеспечения 19.3.3. Обобщения 19.3.4. Индивидуальносгь 19.3.5. Основные правила реализации РСУБД 19А.
Реализация структуры — дополнительные вопросы 19Я.1. Внешние ключи . 19.4.2. Проверка ограничений 19Я.З. Индексы 19.4.4. Представления 19.4.5. Дополнительные правила реализации моделей омб в РСУБД 19.5. Реализация структуры из примера с банкоматом.............. 19.6. Реализация функциональности 19.6.1. Связь языка программирования с базой данных.......... 19.6.2. Преобразование данных......................
19.6.3. Инкапсуляция и оптимизация запросов 19.6.4. Использование кода 59. 19.7. Объектно-ориентированные базы данных 19.8. Практические рекомендации 19.9. Резюме . Библиографические замечания .. Литература . упражнения 20.1. Объектно-ориентированный стиль . 20.2. Повторное использование .. 20.2.1.
Виды повторного использования 20.22. Правила хорошего стиля для повторного использования 202.3. Использование наследования . 20.3. Возможность расширения .. 20.4. Устойчивость 20.5. Программирование крупных систем 20.6. Резюме .
Библиографическиезамечания .. Литература . Упражнения Глава 21. Итерационная разработка . 21.1. Обзор итерационной разработки . 2135 Итерационная и водопадная модели .. 21.3. Итерационная разработка и быстрое прототипирование 21.4. Масштаб итераций 21.5. Выполнение итерации . 21.6.Планированиеследующей итерации .. 21.7. Моделирование и итерационная разработка 21.8.
Идентификация рисков 21.9. Резюме . Библиографические замечания .. Литература . 440 440 441 . 441 . 441 443 . 446 . 448 . 451 . 452 . 452 . 453 456 . 456 . 456 . 457 . 458 . 459 . 460 . 461 . 462 . 463 . 464 . 464 Содержание 490 491 508 Алфавитный указатель 538 Глава 22. Управление моделированием .. 22.1. Обзоруправления моделированием .. 222. Виды моделей 22.3. Ловушки моделирования 22.4.
Сеансы моделирования 22М.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. Построение модели классов .
232.1. Восстановление реализации . 23.2.2. Восстановление проекта 23.2.3. Восстановление анализа 23.3. Построение модели взаимодействия .. 23.4. Построение модели состояний .. 23.5. Рекомендации по проведению инженерного анализа . 23.6. Обертка 23.7. Обслуживание 23.8.Резюме Библиографическиезамечания . Литература . Приложение А.
Система графических обозначений ЦМС Приложение Б. Краткий словарь Ответы к избранным упражнениям 465 . 465 . 465 . 466 . 468 . 469 . 469 . 470 . 472 . 473 . 474 475 475 . 476 476 . 477 477 477 . 478 478 479 . 480 480 481 . 481 . 482 482 . 483 483 483 . 484 484 . 485 486 487 487 488 488 От издательства Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты сошр9рйег.согп (издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение! Подробную информацию о наших книгах вы найдете на веб-сайте издательства: Гкгр://еаттт.рйег.сгхп.
мам Введение Объектно-ориентированное моделирование и проектирование — это подход к решению задач с использованием моделей, основанных на понятиях реального мира. Фундаментальным элементом является объект, объединяющий структуру данных с поведением. Объектно-ориентированные модели полезны для понимания задач, взаимодействия с экспертами по работе с приложениями, моделирования предприятий, подготовки документации и проектирования программ и баз данных.
Эта книга предлагает объектно-ориентированную систему обозначений и объектно-ориентированный процесс разработки программного обеспечения, которые могут использоваться на всех этапах, начиная с анализа и заканчивая проектированием и реализацией. 1.1. Что такое объектная ориентированность? Обьектная ориентированность в простейшем смысле означает представление программного обеспечения в виде дискретных объектов, содержащих в себе структуры данных и поведение. До появления объектно-ориентированного подхода структургя данных и поведение были связаны между собой очень слабо.
Характеристики объектно-ориентированного подхода до сих пор являются предметом обсуждения, но, как правило, речь идет об индивидуальности, классификации, наследовании и полиморфизме. Индивидуальность (Ыепг1гу) означает, что данные делятся на дискретные сущности, хорошо отличимые друг от друга. Эти сущности называются обьвктами (оЬ)есгэ). Примерами объектов являются первый абзац этой главы, мой компьютер и белый ферзь в шахматах. На рис. 1.1 приведены другие примеры объектов. Объекты могут быть конкретными, как, например, файл в составе файловой системы, или концептуальным, как политика планирования в многопроцессорной 18 Глава 1 ° Введение операционной системе.
Каждый объект обладает своей собственной внутренней индивидуальностью. Другими словами, два объекта различимы даже в том случае, если значения всех их атрибутов (таких как имя или размер) одинаковы. В реальном мире объекты просто существуют. В языках программирования каждый объект обладает уникальным абстрактнгям идентификатором (!1апг)!е), посредством которого осуществляются ссылки на данный объект. Абстрактный идентификатор может быть реализован по-разному в разных языках, например, как адрес ячейки памяти, индекс массива или произвольное число. Ссылки на объекты должны быть однотипными и не зависящими от содержимого объектов, что позволяет создавать смешанные совокупности объектов.
Например, каталог файловой системы содержит как файлы, так и подкаталоги. Ю Таблица символов Двоичное дерево Монитор Велосипед Майка Велосипед Брайана Белея ладья Рис. 1.1. Объекты — фундамент объектно-ориентированных технологий Классификация (с!азз!(!саг!оп) означает, что объекты с одинаковыми структурами данных (атрибутами) и поведением (операциями) группируются в классы. Абзац, Монитор и ШахматнаяФигура — это примеры классов. Класс (с!аэз)— это абстракция, описывающая свойства, важные для конкретного приложения, и игнорирующая все остальные.
Любой выбор классов произволен и зависит от приложения. Каждый класс описывает множество индивидуальных объектов, которое может быть бесконечным. Каждый объект из этого множества называется экземпляром класса (!пзгапсе). Объект имеет свои собственные значения атрибутов, но названия атрибутов и операции являются общими для всех экземпляров класса. На рис. 1.2 изображены два класса и их экземпляры. Объект всегда содержит неявную ссылку на свой класс, он «знает, чем является».
Наследование (!пЬейгапсе) — это наличие у разных классов, образующих иерархию, общих атрибутов и операций (сослгавляющих). Суперкласс задает наиболее общую информацию, которую затем уточняют и улучшают его подклассы. Каждый подкласс соединяет в себе, то есть наследует, все чертгя его суперкласса, к которым добавляет собственные уникальные чертьь Подклассам не обязательно воспроизводить все черты суперкласса. Например, классы аско!ВлдИлг(ого (ОкноСПрокруткой) 1.1. Что такое объектная ориентированность? 19 и Блейуггглйогл (ФиксированноеОкно) являются подклассами класса %~лг1огс (Окно).