ebook img

UML. Основы PDF

184 Pages·2004·0.838 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview UML. Основы

UML Distilled A Brief Guide to the Standard Object Modeling Language Third Edition Martin Fowler UML Основы Краткое руководство по стандартному языку объектного моделирования Третье издание Мартин Фаулер Санкт(cid:7)Петербург 2005 Мартин Фаулер UML. Основы, 3(cid:8)е издание Перевод А. Петухова Главный редактор А.Галунов Зав. редакцией Н.Макарова Научный редактор В.Шальнев Редактор В.Овчинников Корректура О.Макарова Верстка Н.Гриценко Фаулер M. UML. Основы, 3(cid:20)е издание. – Пер. с англ. – СПб: Символ(cid:20)Плюс, 2004. – 192 с., ил. ISBN 5(cid:20)93286(cid:20)060(cid:20)Х Третье издание бестселлера Фаулера «UML. Основы» охватывает UML2– вер(cid:20) сию, которая существенно отличается от всех предыдущих. Но основная фор(cid:20) мула успеха этой книги не претерпела изменений. До сих пор она, бесспорно, остается лучшим кратким и точным руководством по применению UML. Главное достоинство книги заключается в кратком и сжатом изложении сути UML и особенностей применения этого языка в современном процессе разра(cid:20) ботки ПО. В книге описаны все главные типы диаграмм UML, рассказано, для чего они предназначены и какие нотации применяются при их создании и чте(cid:20) нии. Это диаграммы классов, последовательности, объектов, пакетов, развер(cid:20) тывания, прецедентов, состояний, деятельности, составных структур, компо(cid:20) нентов, обзора взаимодействия, коммуникационные и временные. Фаулер не только в ясной и доступной манере описывает ключевые аспекты языка UML, но и четко показывает ту роль, которую UML играет в процессе разработки. Замечательные примеры моделирования являются результатом многолетнего опыта работы автора в области проектирования и моделирования. ISBN 5(cid:2)93286(cid:2)060(cid:2)Х ISBN 0(cid:2)321(cid:2)19368(cid:2)7 (англ) © Издательство Символ(cid:20)Плюс, 2004 Original English language title: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition by Martin Fowler, Copyright © 2004 by Pearson Education, Inc. All Rights Reserved. Published by arrangement with the original pub(cid:20) lisher, Pearson Education, Inc., publishing as ADDISON WESLEY. Все права на данное издание защищены Законодательством РФ, включая право на полное или час(cid:20) тичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные зна(cid:20) ки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм. Издательство«Символ(cid:20)Плюс».199034,Санкт(cid:20)Петербург,16линия,7, тел.(812) 324(cid:20)5353, [email protected]. Лицензия ЛП N 000054 от 25.12.98. Налоговая льгота – общероссийский классификатор продукции ОК 005(cid:20)93, том 2; 953000 – книги и брошюры. Подписано в печать 9.12.2004. Формат 70х1001 /16. Печать офсетная. Объем 12 печ.л. Тираж 2000 экз. Заказ N Отпечатано с готовых диапозитивов в ГУП «Типография «Наука» 199034, Санкт(cid:20)Петербург, 9 линия, 12. Посвящается Синди Оглавление Отзывы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Предисловие к третьему изданию. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Предисловие к первому изданию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 От автора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Что такое UML?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Способы применения UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Как мы пришли к UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Нотации и метамодели. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Диаграммы UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 Что такое допустимый UML?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Смысл UML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 UML не достаточно . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 С чего начать. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 2. Процесс разработки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Процессы итеративные и водопадные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 Прогнозирующее и адаптивное планирование . . . . . . . . . . . . . . . . . . . . . . . . .49 Гибкие процессы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Унифицированный процесс от Rational . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 Настройка процесса под проект. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Настройка UML под процесс. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Выбор процесса разработки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 3. Диаграммы классов: основы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Свойства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 Атрибуты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Кратность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 Программная интерпретация свойств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 8 Оглавление Двунаправленные ассоциации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Операции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Обобщение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72 Примечания и комментарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 Зависимость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 Правила ограничений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Когда применяются диаграммы классов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 4. Диаграммы последовательности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 Создание и удаление участников. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 Циклы, условия и тому подобное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 Синхронные и асинхронные вызовы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Когда применяются диаграммы последовательности . . . . . . . . . . . . . . . . . . .89 5. Диаграммы классов: дополнительные понятия. . . . . . . . . . . . . . . . . . . . . .92 Ключевые слова. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Ответственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Статические операции и атрибуты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Агрегация и композиция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Производные свойства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Интерфейсы и абстрактные классы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 Read(cid:20)Only и Frozen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 Объекты(cid:20)ссылки и объекты(cid:20)значения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 Квалифицированные ассоциации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Классификация и обобщение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 Множественная и динамическая классификация . . . . . . . . . . . . . . . . . . . . .103 Класс(cid:20)ассоциация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Шаблон класса (параметризованный класс) . . . . . . . . . . . . . . . . . . . . . . . . . .108 Перечисления. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Активный класс. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Видимость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Сообщения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 6. Диаграммы объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Когда применяются диаграммы объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 7. Диаграммы пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Пакеты и зависимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116 Аспекты пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 Реализация пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 Оглавление 9 Когда применяются диаграммы пакетов . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . .120 8. Диаграммы развертывания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Когда применяются диаграммы развертывания. . . . . . . . . . . . . . . . . . . . . . .122 9. Прецеденты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 Содержимое прецедентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Диаграммы прецедентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Уровни прецедентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 Прецеденты и возможности (или пожелания). . . . . . . . . . . . . . . . . . . . . . . . .128 Когда применяются прецеденты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 10. Диаграммы состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130 Внутренние активности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 Состояния активности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 Суперсостояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133 Параллельные состояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 Реализация диаграмм состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 Когда применяются диаграммы состояний . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 11. Диаграммы деятельности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 Декомпозиция операции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 Разделы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 Сигналы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144 Маркеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 Потоки и ребра. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 Контакты и преобразования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 Области расширения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147 Окончание потока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 Описания объединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 И еще немного . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150 Когда применяются диаграммы деятельности . . . . . . . . . . . . . . . . . . . . . . . .150 Где найти дополнительную информацию. . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 12. Коммуникационные диаграммы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 Когда применяются коммуникационные диаграммы. . . . . . . . . . . . . . . . . .154 13. Составные структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 Когда применяются составные структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 10 Оглавление 14. Диаграммы компонентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Когда применяются диаграммы компонентов. . . . . . . . . . . . . . . . . . . . . . . . .160 15. Кооперации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 Когда применяются кооперации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163 16. Диаграммы обзора взаимодействия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 Когда применяются диаграммы обзора взаимодействия . . . . . . . . . . . . . . .164 17. Временные диаграммы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 Когда применяются временные диаграммы. . . . . . . . . . . . . . . . . . . . . . . . . . .167 A. Отличия версий языка UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Библиография . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.