Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 5
Текст из файла (страница 5)
Этоиздание должно быть всегда под рукой и у профессионалов, и у студентов».– Исхан Де Силва (Ishan De Silva)разработчик программного обеспеченияMillennium Information Technologies, Шри+Ланка14Отзывы о книге«Если вы ищете книгу с рецептами, почитайте чтонибудь другое. Этакнига заставит вас думать! В ней описываются все синтаксические элементы UML, но, что более важно, она дает практический совет, каки когда использовать (или не использовать) UML. Вы научитесь думать о роли моделирования в процессе разработки.
Эти знания помогут вам ответить на вопрос: как и когда использовать UML, чтобы найти оптимальное решение для своего проекта. «UML 2 и Унифицированный процесс», 2е издание подготовит вас к успешному применению UML».– Джос Уормер (Jos Warmer)Ordina System Integration & Development, Нидерланды«Авторы создали книгу, объединяющую два важных предмета, UMLи Унифицированный процесс. «UML 2 и Унифицированный процесс» –превосходный справочник по UML 2. Издание рассказывает о возможностях UML и о том, как применять его в дисциплинах анализа и проектирования Унифицированного процесса. Эта книга должна быть настоле у каждого профессионала».– Гэри Поллис (Gary Pollice)профессор, преподаватель вычислительной техникиВустерский политехнический институтБлагодарностиХотелось бы поблагодарить Фабрицио Феррандина (Fabrizio Ferrandina), Вольфганга Еммериха (Wolfgang Emmerich) и наших друзей изZь hlke Engineering за то, что они сподвигли нас на создание учебногокурса, который стал основой этой книги.
Особая благодарность РоландуЛейбандгуту (Roland Leibundgut) из Zь hlke за его комментарии к главам, посвященным прецедентам, и Джосу Уормеру (Jos Warmer) и Тому Ван Корту (Tom VanCourt) за их глубокий анализ главы по OCL.Огромное спасибо и остальным техническим редакторам: Глен Форд(Glen Ford), Бергеру МеллерПедерсену (Birger MшllerPedersen), РобуПеттиту (Rob Pettit), Гэри Поллису (Gary Pollice), Исхану Де Силва(Ishan De Silva) и Фреду Васкиевичу (Fred Waskiewicz).
Спасибо Сьюи Девиду Эпштейнам (Sue, David Epstein) за жизненно важную нетехническую поддержку в течение всего проекта. Благодарим Энди Полса(Andy Pols), поделившегося с нами своими идеями по поводу прецедентов и процесса производства программного обеспечения. Наша благодарность сотрудникам издательства AddisonWesley Ларе Вайсонг(Lara Wysong), Мэри Лу Нор (Mary Lou Nohr) и Ким Арни Малкахи(Kim Arney Mulcahy) за их замечательную работу над текстом и нашему редактору Мэри О’Брайан (Mary O’Brien).
Спасибо семейству Нейштадт (Neustadt) за их терпение и Элу Томсу (Al Toms) за огромнуюподдержку. И конечно же, нашим котам, Гомеру, Падди и Мег, замногие часы сна на рукописях, которые наполнили их «неописуемымкачеством».И наконец, мы должны выразить признательность «Трем амигос» –Гради Бучу (Grady Booch), Джиму Рамбо (Jim Rumbaugh) и АйваруДжекобсону (Ivar Jacobson) – за их высококлассную работу над UMLи UP, которым посвящена эта книга.ПредисловиеОб этой книгеЦель этой книги – показать процесс объектноориентированного (ОО)анализа и проектирования с помощью Унифицированного языка моделирования (Unified Modeling Language, UML) и Унифицированногопроцесса (Unified Process, UP).UML представляет собой язык визуального моделирования для ОО моделирования.
UP обеспечивает каркас процесса производства программного обеспечения, указывающий, как осуществлять ОО анализи проектирование.О UP можно говорить много. В книге представлены только аспекты,имеющие непосредственное отношение к работе ОО аналитика/проектировщика. За подробной информацией по другим деталям UP обращайтесь к [Rumbaugh 1] и другим указанным в библиографии книгам по UP.Здесь приведено достаточное количество информации по UML и ассоциированным с ним методикам анализа и проектирования, что обеспечивает возможность эффективно применять моделирование в реальномпроекте. Согласно Стивену Меллору (Stephen Mellor) [Mellor 1], существует три способа использования UML:• UML как эскиз – это неформальный подход к UML, при котором используется схематическое изображение диаграмм, помогающее визуализировать программную систему.
Это несколько схоже с наброском идеи на обратной стороне салфетки. Эскизы не представляютпрактически никакой ценности кроме их исходного применения, несохраняются и в конце концов выбрасываются. Для создания неформальных эскизов обычно используют доску или инструментальныесредства рисования, такие как Visio и PowerPoint (www.micro+soft.com).• UML как модель – это более формальный и точный подход, при котором UML используется для подробного описания программной системы. Это как набор архитекторских планов или чертеж машины. UMLмодель активно поддерживается и становится важным поставляемымартефактом проекта.
Этот подход требует использования настоящего инструментального средства моделирования, такого как RationalRose (www.rational.com) или MagicDraw UML (www.magicdraw.com).•UML как исполняемый проект – с помощью MDA (Model Driven Architecture – архитектура, управляемая моделью) UMLмодели мо17Предисловиегут использоваться как язык программирования.
Создается достаточно подробная UMLмодель, и система может быть скомпилирована прямо из нее. Это самое формальное и точное применение UMLи, по нашему мнению, это будущее разработки программного обеспечения. При таком подходе необходим UMLинструмент, поддерживающий MDA, такой как ArcStyler (www.arcstyler.com). Рассмотрение MDA выходит за рамки обсуждения этой книги, хотя мыкасаемся его вкратце в разделе 1.4.Основное внимание в книге сосредоточено на UML как модели. Представленные технические приемы также подойдут и для использованияUML как исполняемого проекта. Изучив UML как модель, вы свободносможете использовать UML как эскиз в случае необходимости.Мы попытались сделать наше представление UML и UP максимальнопростым и доступным.Условные обозначенияЧтобы упростить ориентирование по книге, каждая глава снабженапланом в форме диаграммы деятельностей UML.
Эти диаграммы показывают деятельности чтения и порядок прочтения всеx разделов. Диаграммы деятельности подробно рассматриваются в главе 14, а сейчасрис. 1 поможет разобраться с диаграммами планов глав.начинаем отсюдаэто деятельность – то, что вы делаетеусловие – направляемся по этому пути,если условие истинно22.2. Составные состоянияветвление –выбираемодин из путейизучаем типы составного состояния22.2.1. Простые составные состоянияelse22.2.2. Ортогональные составные состоянияelse[изучаем состояния подавтоматов][изучаем взаимодействие подавтоматов]22.3.
Состояния подавтоматов22.4. Взаимодействие подавтоматовветвление –поток разделяетсяна параллельноевыполнениедеятельностейобъединение –назад к одному потоку[изучаем предысторию]22.5. Предыстория22.5.1. Неглубокая предысторияэти деятельности могутосуществляться параллельно22.5.2. Глубокая предыстория22.6. Что мы узнализаканчиваем здесьРис. 1.18ПредисловиеБольшинство диаграмм в данной книге – это UMLдиаграммы.
Поясняющий текст на диаграммах не является частью синтаксиса UML.Важная информация оформлена в виде UMLпиктограммы примечания,т. е. заключена в прямоугольник с загнутым уголком.В книге используются разные шрифты:Этот шрифт применяется для элементов моделирования UML.Этот шрифт – для кода.Для кого эта книгаМы видим следующих возможных читателей данной книги.• Вы аналитик или проектировщик, которому необходимо научитьсяпроводить ОО анализ и проектирование.• Вы аналитик или проектировщик, которому необходимо научитьсяпроводить ОО анализ и проектирование в рамках Унифицированного процесса.• Вы студент, изучающий курс UML в университете.• Вы разработчик программного обеспечения, которому необходимасправочная информация по UML.• Вы разработчик программного обеспечения, слушающий учебныйкурс по UML, и эта книга – ваш учебник.Компания Clear View Training предлагает 4дневный учебный курс поUML, основанный на данной книге.
Этот курс читается по всей Европенашим партнером, компанией Zuhlke Engineering (www.zuhlke.com),и доступен для лицензирования. Образовательные учреждения, использующие данную книгу как учебник, могут воспользоваться нашимучебным курсом бесплатно. Более подробно о коммерческом и учебномлицензировании см. по адресу www.clearviewtraining.com.Как читать эту книгуТак много книг и так мало времени, чтобы прочитать их все! Помня обэтом, мы спланировали эту книгу так, что ее можно читать поразному(в том числе и от корки до корки) соответственно вашим нуждам.По ускоренной схемеВыберите ускоренную схему, если хотите просто просмотреть всю книгу или отдельную главу. Кроме того, это способ получить сжатый смыслглавы или книги.• Выберите главу.• Прочитайте план главы, чтобы знать, о чем пойдет речь.Предисловие•••19Просмотрите главу, останавливаясь на рисунках и примечанияхв рамках.Прочитайте раздел «Что мы узнали».Вернитесь и прочитайте любой заинтересовавший вас раздел.Ускоренная схема – это быстрый и эффективный способ чтения этойкниги.
Возможно, вас приятно удивит, как много информации можнопочерпнуть! Обратите внимание, что ускоренная схема эффективнее,если вы с самого начала можете четко сформулировать, какую информацию хотите получить. Например: «Я хочу понять, как осуществлять моделирование прецедентов».Для справкиЕсли вам необходимо знать конкретную часть UML или изучить определенный технический прием, мы предоставили подробный индекс и оглавление, которые помогут найти необходимую информацию быстрои эффективно. Чтобы помочь в этом, в тексте используются точные перекрестные ссылки.ПросмотретьСуществует две стратегии просмотра данного текста.• Если необходимо максимально эффективно и быстро освежить знания по UML, прочитайте краткие обзоры, приведенные в разделе«Что мы узнали» каждой главы.
Если чтото непонятно, вернитесьи прочитайте соответствующий раздел.• Если вы располагаете большим количеством времени, можно просмотреть каждую главу, изучая диаграммы и прочитывая примечания в рамках.Пробежать глазамиЕсли у вас есть пара свободных минут, можно взять книгу и открытьее на любой странице. Мы попытались сделать так, чтобы на каждойстранице было чтото интересное. Если даже вы уже довольно хорошознаете UML, все равно можно найти чтото новое.План книгиНа рис.
2 представлен план книги. Мы показали, какие главы можночитать в любом порядке, а какие можно пропустить при первом чтении, поскольку они обсуждают усовершенствованные техническиеприемы.20ПредисловиеЧасть 1Введениев UML и UPобзор UMLобзор UPГлава 1: Что такое UML?Глава 2: Что такое Унифицированный процесс?Глава 3: Рабочий поток определения требованийЧасть 2Опреде!ление тре!бованийГлава 4: Моделирование прецедентовизучаем дополнительные Глава 5: Дополнительные аспектымоделирования прецедентовметодикиГлава 6: Рабочий поток анализаЧасть 3АнализГлава 7: Объекты и классыучимся выявлять классы анализаизучаем отношенияизучаем пакетыГлава 8: Выявление классов анализаГлава 9: ОтношенияГлава 11: Пакеты анализаГлава 10: Наследование и полиморфизмГлава 12: Реализация прецедентовизучаем дополнительныеГлава 13: Дополнительныеаспекты реализации прецедентовметодикиГлава 14: Диаграммы деятельностиизучаем дополнительныеметодикиГлава 15: Дополнительныеаспекты диаграмм деятельностиГлава 16: Рабочий поток проектированияЧасть 4Проекти!рованиеГлава 17: Проектные классыГлава 18: Уточнение отношений,выявленных при анализеГлава 20: Реализацияпрецедента – проектированиеГлава 19: Интерфейсы и компонентыГлава 21: Конечные автоматыГлава 22: Дополнительныеаспекты конечных автоматовГлава 23: Рабочий поток реализацииЧасть 5РеализацияЧасть 6Дополни!тельныематериалыРис.