Применение объектного моделирования с использованием UML и анализ прецедентов на примере книжного Internet-магазина
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Перевод:
Слинкин Алексей Александрович
Год издания: 2022
Кол-во страниц: 160
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-245-8
Артикул: 817325.01.99
Данная книга представляет собой руководство по применению прецедентов. Практические вопросы проиллюстрированы на примере разработки книжного Internet-магазина.
В книге описывается процесс ICONIX — методология, основанная на языке UML, которая поможет вам избавиться от «аналитического паралича», не жертвуя при этом анализом и проектированием. Представлены четыре основных этапа проектирования на основе прецедентов: моделирование предметной области, моделирование прецедентов, анализ пригодности и построение диаграмм последовательности. Приводится обзор каждой темы, подробное обсуждение, перечень характерных ошибок и ряд упражнений, предназначенных для самостоятельного поиска и исправления недочетов.
Авторы показывают на конкретных примерах, как можно избежать типичных ошибок проектирования. Располагая этой информацией, читатель приобретет знания и навыки, необходимые для применения моделирования на основе прецедентов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Применение объектного моделирования с использованием 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 Надо бы мне официально поменять имя на Скотт Кендалл, будет тогда знать! – Прим. соавтора.