Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Применение объектного моделирования с использованием UML и анализ прецедентов на примере книжного Internet-магазина

Покупка
Артикул: 817325.01.99
Доступ онлайн
159 ₽
В корзину
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина. В книге описывается процесс ICONIX — методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на основе прецедентов: моделирование предметной области, моделирование прецедентов, анализ пригодности и построение диаграмм последовательности. Приводится обзор каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, предназначенных для самостоятельного поиска и исправления недочетов. Авторы показывают на конкретных примерах, как можно избежать типичных ошибок проектирования. Располагая этой информацией, читатель приобретет знания и навыки, необходимые для применения моделирования на основе прецедентов.
Розенберг, Д. Применение объектного моделирования с использованием UML и анализ прецедентов на примере книжного Internet-магазина : практическое руководство / Д. Розенберг, К. Скотт ; пер. с англ. А. А. Слинкина. - 2-е изд. - Москва : ДМК Пресс, 2022. - 160 с. - (Объектно-ориентированные технологии в программировании). - ISBN 978-5-89818-245-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2110007 (дата обращения: 05.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Применение объектного моделирования
с использованием UML и анализ прецедентов

на примере книжного Internetмагазина

Дуг Розенберг
Кендалл Скотт
Applying Use
Case Driven
Object Modeling
with UML

An Annotated
eCommerce Example

Doug Rosenberg
Kendall Scott

Boston • San Francisco • New York • Toronto • Montreal
London • Munich • Paris • Madrid
Capetown • Sydney • Tokyo • Singapore • Mexico City
Серия «Объектноориентированные технологии
в программировании»

Москва

Применение
объектного
моделирования
с использованием
UML и анализ
прецедентов

на примере
книжного Internetмагазина

Дуг Розенберг
Кендалл Скотт

 

2022

2-е издание, электронное
УДК 004.415.2
ББК 32.973.26-018.1

Р64

Р64
Розенберг, Дуг.

Применение объектного моделирования с использованием UML и анализ 
прецедентов на примере книжного Internet-магазина / Д. Розенберг, К. Скотт ; 
пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 160 с. — Москва : 
ДМК Пресс, 2022. — (Объектно-ориентированные технологии в программировании). — 
Систем. требования: Adobe Reader XI либо Adobe Digital Editions 
4.5 ; экран 10". — Текст : электронный.

ISBN 978-5-89818-245-8

Данная книга представляет собой руководство по применению прецедентов. Практические 
вопросы проиллюстрированы на примере разработки книжного Internet-магазина.

В книге описывается процесс ICONIX — методология, основанная на языке UML, 
которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом 
анализом и проектированием. Представлены четыре основных этапа проектирования 
на основе прецедентов: моделирование предметной области, моделирование прецедентов, 
анализ пригодности и построение диаграмм последовательности. Приводится обзор 
каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, 
предназначенных для самостоятельного поиска и исправления недочетов.
Авторы показывают на конкретных примерах, как можно избежать типичных ошибок 
проектирования.
Располагая этой информацией, читатель приобретет знания и навыки, необходимые 
для применения моделирования на основе прецедентов.

УДК 004.415.2 
ББК 32.973.26-018.1

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты 
авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-245-8
© AddisonWesley
©  Перевод на русский язык, оформление 
ДМК Пресс
Содержание

Предисловие .............................................................................. 7

Глава 1. Введение в ICONIX ................................................ 12

Краткий обзор процесса ICONIX ................................................. 13
Особенности процесса ICONIX ................................................... 22
Базовые принципы ..................................................................... 23
Краткое описание основных этапов процесса ............................ 24
Требования к книжному Internetмагазину .................................. 25

Глава 2. Моделирование предметной области ........... 28

Основные элементы моделирования предметной области ......... 29
10 самых распространенных ошибок
при моделировании предметной области – Top 10 ..................... 31
Упражнения ................................................................................ 34
Модель предметной области ...................................................... 45

Глава 3. Моделирование прецедентов........................... 47

Основные элементы моделирования прецедентов ..................... 48
10 самых распространенных ошибок
при моделировании прецедентов – Top 10 ................................. 50
Упражнения ................................................................................ 54
Готовая диаграмма прецедентов ................................................ 65

Глава 4. Рецензирование требований ............................ 66

Основные элементы рецензирования требований...................... 67
10 самых распространенных ошибок
при рецензировании требований – Top 10 .................................. 69

Глава 5. Анализ пригодности ............................................. 74

Основные элементы анализа пригодности ................................. 76
10 самых распространенных ошибок
при анализе пригодности – Top 10.............................................. 79
Объектное моделирование с использованием UML
6

Упражнения ................................................................................ 82
Модель предметной области с атрибутами классов ................... 93

Глава 6. Рецензирование
предварительного проекта ................................................. 94

Основные элементы рецензирования
предварительного проекта ......................................................... 95
10 самых распространенных ошибок
при рецензировании предварительного проекта – Top 10 .......... 97

Глава 7. Диаграммы последовательности.................. 101

Основные элементы диаграмм последовательности ................ 101
Введение в диаграммы последовательности ............................ 104
10 самых распространенных ошибок
при составлении диаграмм последовательности – Top 10 ........ 106
Упражнения .............................................................................. 110
Диаграммы классов уровня проектирования ............................ 123

Глава 8. Рецензирование
окончательного проекта..................................................... 124

Основные элементы
рецензирования окончательного проекта ................................. 124
10 самых распространенных ошибок
при рецензировании окончательного проекта – Top 10............. 129

Приложение. Отчет по взгляду
с точки зрения прецедентов ............................................. 133

Модель прецедентов. Документация по прецедентам .............. 133

Литература .............................................................................. 152

Предметный указатель ....................................................... 154
Предисловие

В первой своей книге, «Use Case Object Modeling with UML», мы отмечали, что разница между теорией и практикой состоит в том, что теоретически такой разницы быть не должно, а практически она существует. В данной работе мы попытались свести теорию объектноориентированного
моделирования к некоему полезному подмножеству, которое можно легко
изучить и применять для решения широкого круга задач. В основе книги –
наш опыт преподавания (примерно с 1993 года) этого материала людям,
работавшим над сотнями разнообразных проектов.
За два года книга выдержала уже пять изданий. Но, хотя наш труд получил лестную оценку, нам кажется, что работа еще не доведена до конца.
Довольно часто на протяжении последних двух лет нам приходилось слышать, что «нужно больше примеров прецедентов и моделирования на UML».
А поскольку мы пользовались первой книгой как основой для проведения
семинаров, на которых применяли теорию к реальным проектам, стало
ясно, что исключительно важная и плохо понимаемая тема – критический
анализ или рецензирование (reviewing) моделей.
Поэтому, несмотря на то что в нашей первой книге приведен развернутый пример, мы убедили издательство AddisonWesley выпустить продолжение, в котором очень подробно, шаг за шагом рассматриваем проектирование книжного Internetмагазина. Это позволило нам продемонстрировать
многие распространенные ошибки и показать фрагменты моделей, в которых эти ошибки устранены. Мы выбрали именно такую разработку, поскольку в ней сконцентрированы особенности, присущие многим проектам в современном мире, пронизанном «Всемирной паутиной». Кроме того,
данный пример мы использовали во многих семинарах, так что в нашем распоряжении оказалось множество учебных моделей на языке UML и, естественно, большая коллекция ошибок, которые часто совершают студенты.

Эту книгу мы посвящаем памяти Тома Джонсона
(Tom Johnson), который побуждал нас вести семинары, давшие материал для этого издания. Безвременная кончина Тома в момент, когда подготовка
рукописи уже близилась к завершению, опечалила
всех, кто его знал. Нам будет его не хватать.
Предисловие
8

Мы отобрали некоторые из наших «любимых» ошибок, которые повторялись снова и снова, и шаг за шагом проанализировали их. Затем добавили еще три главы, посвященные рецензированию требований, предварительного проекта и окончательного проекта.
От других изданий эта книга отличается, прежде всего, тем, что читатель учится исправлять допущенные при разработке недочеты.

Структура книги и соглашения

В главе 1 мы приводим обзор процесса ICONIX, а в следующих четырех
более подробно рассматриваем четыре основных этапа этого процесса. Все
эти главы строятся по одному принципу:

в первом разделе описывается суть вопроса – моделирования предметной области (глава 2), моделирования прецедентов (глава 3), анализа пригодности (глава 5) или построения диаграмм последовательности (глава 7). Показано, как излагаемый материал соотносится со
всем процессом. В каждой главе вам предлагается проработать отдельные фрагменты примера книжного Internetмагазина, а в завершение приводится диаграмма, в которой эти фрагменты объединены.
В главе 3 мы рассмотрим «кусочки» десяти разных прецедентов; пять
из них послужат предметом предварительного и детального проектирования в главах 5 и 7 соответственно. Фрагменты диаграмм классов, впервые появляющиеся в главе 2, также будут развернуты до
текстового описания прецедента и полной диаграммы классов в главах 5 и 7;

в следующем разделе описываются основные элементы рассматриваемого этапа. При этом в сжатом виде излагается материал соответствующей главы из книги «Use Case Object Modeling with UML», а также приводится некоторая дополнительная информация;

далее мы рассматриваем десять самых распространенных ошибок,
которые наши студенты допускали во время работы на семинарах.
В каждую из трех глав, посвященных рецензированию, мы включили соответствующие перечни: десять ошибок при анализе пригодности, при построении диаграмм последовательности и т.д.;

напоследок предлагается цикл из пяти упражнений для самостоятельной работы. В ходе их выполнения вы можете проверить степень
усвоения материала.

У всех циклов упражнений есть общие черты:

упражнения, посвященные моделированию предметной области и прецедентам, пронумерованы. В упражнениях на анализ пригодности
и диаграммы последовательности указывается название прецедента
(чуть позже мы объясним смысл такого соглашения);

в одном упражнении из каждой пары допущено три или четыре ошибки. Все они помечены на рисунке значком с надписью «Top 10». Цифра на этом значке показывает, какое правило нарушено;

название упражнения, содержащего ошибки, сопровождается знаком ,
а название правильного варианта, идущего следом, – знаком ;

В вашу задачу входит исправление ошибок, обнаруженных в первом
упражнении из каждой пары.
Помимо этого в книге приняты следующие соглашения:

смысловые выделения в тексте обозначены курсивом;

на рисунках серым цветом выделены исправления ошибок, допущенных студентами и отмеченных значками с надписью «Top 10» на предыдущих рисунках.

Подведем итоги. В главе 2 описаны классы, которые будут использоваться в десяти выбранных прецедентах. Их фрагменты представлены в главе 3.
В главах 5 и 7 приведены диаграммы, соответствующие пяти различным
прецедентам. Идея состоит в том, чтобы пройти все стадии от частичного
понимания каждого прецедента через диаграммы последовательности до
ассоциированных с ними элементов детального проекта.
В главе 4 описана процедура рецензирования требований, в результате
проведения которой следует удостовериться, что прецеденты и модель
предметной области правильно описывают функциональные требования
заказчика.
В главе 6 рассказывается о том, как выполнять рецензирование предварительного проекта, которое позволяет вам убедиться в наличии диаграмм
пригодности для всех прецедентов (и в их согласованности с прецедентами), а также в том, что модель предметной области обладает развитым набором атрибутов, достаточным для описания всех имеющихся прототипов
(и всех объектов, которые необходимы прецедентам, представленным в модели). Наконец, необходимо удостовериться, что команда разработчиков
готова приступить к детальному проектированию.
Глава 8 посвящена рецензированию окончательного проекта. На этой
стадии необходимо гарантировать, что реализация (как), представленная
в детальном проекте, соответствует спецификации (что), описанной с помощью прецедентов. Кроме того, нужно убедиться, что детальный проект
проработан в достаточной степени, и таким образом исключить серьезные
проблемы при переходе к кодированию.
В главах 4, 6, 8 представлены общий обзор проблемы, детальный анализ и перечень десяти самых распространенных ошибок, но упражнения

Структура книги и соглашения
Предисловие
10

отсутствуют. Цель, общая для всех трех видов рецензирования, состоит в том,
чтобы удостовериться в согласованности различных частей модели в соответствии с принципами, продемонстрированными на правильных диаграммах в упражнениях из других глав.
В приложении содержится сводный отчет о модели нашего книжного магазина. Полную модель можно загрузить со страницы http://www.iconixsw.
com/WorkbookExample.html. В приложении отражены все диаграммы, встречающиеся в книге, а полная модель включает также все детали пяти прецедентов, оставшихся нерассмотренными. Проработку этих прецедентов можно рассматривать как дополнительное упражнение. Полученные результаты
вы можете сравнить с нашим решением, и мы настоятельно рекомендуем
так и поступить.
Ну что, нравится перспектива? Нам не попадались другие книги такого
же плана. Надеемся, что сумеем помочь вам в освоении объектного моделирования на основе анализа прецедентов.

Благодарности

Дуг благодарит отважную команду, работающую над проектом ICONIX,
в особенности Андреа Ли (Andrea Lee) за сценарий компактдиска, посвященного процессу ICONIX, из которого мы многое позаимствовали для
главы 1, а также Криса Старчака (Chris Starczak), Джеффа Кантора (Jeff Kantor) и Эрина Арнольда (Erin Arnold). Еще Дуг благодарит Кендалла за то,
что он, в конце концов, снисходил до просьб соавтора, говоря: «да, это действительно улучшит книгу» и «да, у нас есть время это добавить», и к тому
же согласился с тем, что, поскольку буква Р предшествует букве С, мнение
гна Розенберга имеет приоритет над мнением гна Скотта1.
Дуг и Кендалл признательны Полу Беккеру (Paul Becker) и всем сотрудникам издательства AddisonWesley, включая Росса Венабля (Ross Venables) – он там уже не работает, но начинал этот проект, – которым удалось
максимально сократить график запуска в производство, компенсировав
тем самым задержки на стадии написания книги (все Кендалл виноват).
Мы также выражаем благодарность рецензентам рукописи, особенно Марку Вудбери (Mark Woodbury), чьи язвительные замечания по поводу «дефрагментации» привели к тому, что книга стала, по нашему мнению, блестящей, а не просто «классной». И еще мы благодарим Грега Вилсона (Greg
Wilson), который писал рецензию на нашу первую книгу для журнала «Dr.
Dobbs’ Journal». Идея ему понравилась, и он предложил написать продолжение. Если быть точными, вот его слова: «Никогда не думал, что выскажу

1 Надо бы мне официально поменять имя на Скотт Кендалл, будет тогда знать! – Прим.
соавтора.
такую претензию к книге, но... она слишком короткая! Наконецто я нашел
действительно полезное, приятное для чтения и применимое на практике
описание методологии разработки, в основе которой лежит проектирование. И мне хочется видеть десяток, а то и поболее примеров на каждую
тему. Если авторы напишут продолжение, обещаю, что хотя бы один покупатель будет».
И наконец, Кендалл благодарит Дуга за то, что он поднял искусство
быть всем недовольным на такую высоту, что на этом фоне Кендалл стал
выглядеть эталоном благодушия.

Äóã Ðîçåíáåðã
Êåíäàëë Ñêîòò
Ñàíòà Ìîíèêà, øòàò Êàëèôîðíèÿ
Õàððèñîí, øòàò Òåííåññè
Ìàé 2001
Ìàé 2001
dougr@iconixsw.com
kendall@usecasedriven.com

http://www.iconixsw.com
http://www.usecasedriven.com

Благодарности
Глава 1. Введение в ICONIX

Процесс ICONIX представляет собой нечто среднее между очень громоздким рациональным унифицированным процессом (Rational Unified Process – RUP) и весьма компактной методологией программирования eXtreme (XP). Процесс ICONIX, как и RUP, основан на прецедентах, но не
характеризуется множеством его недостатков. В этом процессе тоже применяется язык моделирования UML (Unified Modeling Language), однако основное внимание уделяется анализу требований. Отметим еще раз,
что ICONIX, по представлению Айвара Джекобсона (Ivar Jacobson), «основан на прецедентах», вот почему с помощью этого процесса создаются
вполне конкретные и простые для понимания прецеденты, которые легко
использовать для разработки системы.
ICONIX вобрал в себя лучшие стороны трех методологий, разработанных в начале 90х годов Айваром Джекобсоном, Джимом Рамбо (Jim Rumbaugh) и Грейди Бучем (Grady Booch), называющими себя «три амиго».
Мы пользуемся подмножеством языка UML, отобранным в результате
проведенного Дугом анализа этих методологий.
В главе 32 руководства по языку UML, «The Unified Modeling Language User Guide», говорится: «80% всех задач можно промоделировать
с помощью 20% UML». Однако в книге нет ни слова о том, что это за
двадцать процентов. В подмножество UML мы включили ту базовую нотацию, которой должно хватить для большинства моделей. В соответствующих разделах мы поясняем, как можно использовать другие элементы UML и при каких обстоятельствах они уместны.
Один из наших любимых афоризмов гласит: «разница между теорией
и практикой состоит в том, что теоретически этой разницы не должно
быть, а практически она существует». В практической работе никогда не
хватает времени для моделирования, анализа и проектирования. Руководство всегда требует быстрого перехода к кодированию, поскольку степень
завершенности программных проектов традиционно оценивается по количеству написанных строк. Мы придерживаемся минималистского подхода, обращая особое внимание на область между прецедентами и кодом.
Мы хотим показать, что должно происходить в той точке жизненного цикла проекта, в которой вы начинаете работу: у вас уже есть несколько прецедентов и необходимо заняться анализом и проектированием.
Доступ онлайн
159 ₽
В корзину