Главная » Просмотр файлов » Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование

Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (1158625), страница 25

Файл №1158625 Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование) 25 страницаДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (1158625) страница 252019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 25)

Это принцип замещаемости, с помощью которого можно проверить правильность использования обобщения для лю+бого классификатора.В данном примере SalesAgent или Customer могут использоваться вместоPurchaser везде (т. е. взаимодействовать с прецедентами ListProducts, OrderProducts и AcceptPayment). Таким образом, обобщение актеров является правильной стратегией.5.3. Обобщение прецедентовОбобщение прецедентов используется, если есть один или более прецедентов, которые на самом деле являются специализациями более общего прецедента. Как и обобщение актеров, этот прием следует применять, только если он упрощает модель прецедентов.Обобщение прецедентов выносит поведение, общее для одного или более прецедентов, в родительский прецедент.1235.3. Обобщение прецедентовВ обобщении прецедентов дочерние прецеденты представляют болееспециализированные формы их родителей.

Потомки могут:• наследовать возможности родительского прецедента;• вводить новые возможности;• переопределять (менять) унаследованные возможности.Дочерний прецедент автоматически наследует все возможности своегородителя. Однако не все возможности прецедента могут быть переопределены. Ограничения приведены в табл. 5.1.Таблица 5.1Возможность прецедентаНаследованиеДобавлениеПереопределениеОтношениеДаДаНетТочка расширенияДаДаНетПредусловиеДаДаДаПостусловиеДаДаДаШаг основного потокаДаДаДаАльтернативный потокДаДаДаВ UML 1.5 прецеденты имели атрибуты и операции, в UML 2 их нет.Фактически атрибуты и операции прецедентов не имели особого значения, они редко использовались и редко поддерживались инструментальными средствами UML.

Согласно спецификации UML 1.5, операции прецедента даже не могли быть запрошены извне, поэтому труднопредставить, зачем они вообще были нужны.Итак, как же осуществляется документирование обобщения прецедентов в описаниях прецедентов? Спецификация UML по этому поводубезмолвствует. Однако существует несколько довольно стандартныхметодов. Мы предпочитаем использовать простой язык тегов для обозначения пяти возможностей в дочернем прецеденте. Есть два правилаприменения этого метода:• Каждый номер шага в потомке сопровождается номером эквивалентного шага родителя, если таковой имеется.Например: 1.

(2.). Некоторый шаг.• Если шаг потомка переопределяет шаг родителя, его номер сопровождается буквой «o» (что значит overridden – переопределенный)и родительским номером шага. Например: 6. (o6.) Другой шаг.В табл. 5.2 представлен синтаксис всех пяти возможных вариантов.На рис. 5.4 показан фрагмент диаграммы прецедентов системы Sales.Здесь есть родительский прецедент FindProduct (найти продукт) и двеего специализации: FindBook (найти книгу) и FindCD (найти CD).На рис. 5.5 показано описание родительского прецедента FindProduct.Обратите внимание на ее очень высокий уровень абстракции.124Глава 5. Дополнительные аспекты моделирования прецедентовТаблица 5.2Возможность…Пример обозначенияУнаследована без изменений3.

(3.) Покупатель вводит запрашиваемыйкритерий.Унаследована и перенумерована 6.2. (6.1.) Система сообщает Покупателю,что соответствующие продукты не найдены.Унаследована и переопределена 1. (о1.) Покупатель выбирает опцию «найтикнигу».Унаследована, переопределенаи перенумерована5.2.

(о5.1.) Система выводит на экран страницу с данными максимум пяти книг.Добавлена6.3. Система повторно выводит на экранстраницу поиска «найти книгу».Система SalesFindProductCustomerFindBookFindCDРис. 5.4. Фрагмент диаграммы прецедентов системы SalesПрецедент: FindProductID: 6Краткое описание:Customer ищет продукт.Главные актеры:CustomerВторостепенные актеры:Нет.Предусловия:Нет.Основной поток:1. Customer выбирает опцию «найти продукт».2. Система запрашивает у Customer критерий поиска.3. Customer вводит запрашиваемый критерий.4. Система ищет продукты, соответствующие критерию от Customer.5.

Если система находит соответствующие продукты5.1. Система выводит на экран список соответствующих продуктов.6. Иначе6.1. Система сообщает Customer о том, что соответствующие продукты не найдены.Постусловия:Нет.Альтернативные потоки:Нет.Рис. 5.5. Описание родительского прецедента FindProduct1255.3. Обобщение прецедентовПрецедент: FindBookID: 7ID родителя: 6Краткое описание:Customer ищет книгу.Главные актеры:CustomerВторостепенные актеры:Нет.Предусловия:Нет.Основной поток:переопределенный 1.

(o1.) Customer выбирает опцию «найти книгу».переопределенный 2. (o2.) Система запрашивает у Customer критерий поиска книги,включающий автора, название, ISBN или тематику.унаследованный без изменений 3. (3.) Customer вводит запрашиваемый критерий.переопределенный 4. (o4.) Система ищет книги, соответствующие критерию от Customer.переопределенный 5. (o5.) Если система находит соответствующие книги.5.1. Система выводит на экран текущий бестселлер.добавленный5.2. (o5.1.) Система выводит на экран данные по максимум пяти книгам.переопределенный и перенумерованный5.3. Для каждой книги система выводит название, автора, цену и ISBN.добавленный5.4. Пока есть другие соответствующие запросу книги, система предостав!добавленныйляет Customer опцию для отображения следующей страницы с книгами.унаследованный без изменений 6. (6.) Иначедобавленный6.1.

Система выводит на экран текущий бестселлер.6.2. (6.1.) Система сообщает Покупателю о том, что соответствующиеперенумерованныйкниги не найдены.Постусловия:Нет.Альтернативные потоки:Нет.Рис. 5.6. Описание дочернего прецедента FindBookОдин из дочерних прецедентов, FindBook, показан на рис. 5.6. Здесь демонстрируется применение нашего стандарта обозначения переопределенных или новых возможностей. Как видно из рис. 5.6, дочернийпрецедент FindBook намного более конкретный.

В нем более абстрактный родитель специализирован для работы с конкретным типом продуктов – книгами.Если в родительском прецеденте нет потока событий или поток событийне завершен, это абстрактный прецедент. Абстрактные прецеденты довольно широко распространены, потому что могут использоваться дляописания поведения на самых высоких уровнях абстракции. Поскольку в абстрактных прецедентах поток событий отсутствует или являетсянеполным, они не могут быть выполнены системой. Вместо потока событий в абстрактных прецедентах используется простое высокоуровневое текстовое описание поведения, которое должны реализовать их потомки.

Это описание можно поместить в раздел «Краткое описание».Как мы уже видели, унаследованные возможности в дочерних прецедентах показать сложно. Приходится применять определенный языктегов или соглашение об обозначениях, что обычно сбивает с толку за126Глава 5. Дополнительные аспекты моделирования прецедентовинтересованные стороны. Поскольку прецеденты предназначены дляобщения с заказчиками, это является серьезной проблемой. Другойнедостаток состоит в том, что приходится вручную изменять таблицусоответствия между родителями и потомками, если один из них меняется. Это утомительно и может приводить к большому числу ошибок.Одно из решений данной проблемы – ограничить родительский прецедент так, чтобы в нем не было основного потока, а только краткое описание семантики.

Тогда не надо беспокоиться о наследовании или переопределении. В этом случае с помощью прецедентов можно легко и эффективно показать, что один или более прецедентов на самом деле являются просто особыми вариантами более общего прецедента. Болееобщий прецедент позволяет рассматривать систему более абстрактнои может указать на возможности оптимизации системы ПО.5.4. Отношение «include»Иногда в прецедентах присутствует многократное описание одних и техже действий.

Например, рассмотрим систему Personnel (персонал)(рис. 5.7). Практически любое действие системы начинается с получения данных о конкретном служащем. Если бы эту последовательностьсобытий приходилось писать каждый раз, когда необходимы данныеслужащего, прецеденты имели бы повторяющиеся части. Отношение«include», устанавливаемое между прецедентами, позволяет включитьповедение одного прецедента в поток другого прецедента.Отношение «include» выносит шаги, общие для нескольких прецедентов, в отдельный прецедент, который потом включается в остальные.Включающий прецедент мы называем базовым, а тот прецедент, который включается, включаемым.

Включаемый прецедент предоставляетповедение своему базовому прецеденту.В базовом прецеденте необходимо точно указать место, где должнобыть включено поведение включаемого прецедента. Синтаксис и семантика отношения «include» немного напоминают вызов функции.Cистема Personnelбазовый прецедентChangeEmployeeDetailsViewEmployeeDetailsвключаемыйпрецедент«include»«include»FindEmployeeDetailsde»ManagerDeleteEmployeeDetails«incluотношение включенияРис. 5.7. Отношение «include»1275.5.

Отношение «extend»Прецедент: ChangeEmployeeDetailsПрецедент: ViewEmployeeDetailsПрецедент: DeleteEmployeeDetailsID: 1Краткое описание:Manager меняет данные служащего.ID: 2Краткое описание:Manager просматривает данные служащего.ID: 3Краткое описание:Manager удаляет данные служащего.Главные актеры:ManagerВторостепенные актеры:Нет.Предусловия:1. Manager входит в систему.Основной поток:1. include (FindEmployeeDetails).2. Система выводит данные служащего.3. Manager меняет данные служащего.…Постусловия:1. Данные служащего изменены.Главные актеры:ManagerВторостепенные актеры:Нет.Предусловия:1.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее