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

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

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

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

Моделирование прецедентов••Моделирование прецедентов лучше всего подходит для систем, в которых:• преобладают функциональные требования;• много типов пользователей;• много интерфейсов для взаимодействия с другими системами.Моделирование прецедентов меньше подходит для систем, в которых:• преобладают нефункциональные требования;• мало пользователей;• мало интерфейсов.5Дополнительные аспектымоделирования прецедентов5.1. План главыВ настоящей главе рассматриваются некоторые дополнительные аспекты моделирования прецедентов. И в завершение приводятся несколькосоветов и рекомендаций.Мы обсудим отношения, которые могут возникать между актерамии актерами и между прецедентами и прецедентами.

К ним относятся:• обобщение актеров – отношение обобщения между обобщенным актером и конкретным актером;• обобщение прецедентов – отношение обобщения между обобщенным прецедентом и специализированным прецедентом;• «include» (включить) – отношение между прецедентами, которое позволяет одному прецеденту включать в себя поведение другого;• «extend» (расширить) – отношение между прецедентами, котороепозволяет одному прецеденту расширять свое поведение одним илиболее фрагментами поведения другого.Важно сохранять максимальную простоту модели, поэтому эти отношения надо применять аккуратно и только там, где они действительноделают модель прецедентов более понятной. Можно легко увлечься«include» и «extend», но необходимо избегать этого.5.2.

Обобщение актеровВ примере на рис. 5.2 между двумя актерами, Customer (клиент) и SalesAgent (торговый агент), можно найти много общего в том, как они взаимодействуют с системой Sales (товарооборот) (здесь SalesAgent можетуправлять куплейпродажей от имени Customer). Оба актера инициируют прецеденты ListProducts (представить список продуктов), OrderProductsРис.

5.1. План главы5.7.1. Делать прецеденты короткими и простыми5.2. Обобщение актеровизучаем обобщение актеров5.4. Отношение «include»изучаем отношение «include»5.8. Что мы узнали5.7.2. Фокусироваться на том что, а не как5.7. Советы и рекомендации по написанию прецедентов5.6. Когда использовать дополнительные возможности5.3.

Обобщение прецедентовизучаем обобщение прецедентов5.7.3. Избегать функциональной декомпозиции5.5.3. Условные расширения5.5.2. Несколько сегментов вставки5.5.1. Расширяющий прецедент5.5. Отношение «extend»изучаем отношение «extend»120Глава 5. Дополнительные аспекты моделирования прецедентов1215.2. Обобщение актеровСистема SalesListProductsCustomerOrderProductsAcceptPaymentCalculateCommissionSalesAgentРис. 5.2. Пример двух актеров с общим поведением(заказать продукты) и AcceptPayment (принять платеж). По сути, единственное отличие между ними в том, что SalesAgent может инициировать прецедент CalculateCommission (вычислить комиссию). Кроме того,изза сходства поведения этих актеров на диаграмме возникает массапересекающихся линий.

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

Таким образом, как видно из рис. 5.3,и Customer, и SalesAgent взаимодействуют с прецедентами ListProducts, OrderProducts и AcceptPayment. Они наследуют это от своего родителя, Purchaser. Кроме того, SalesAgent взаимодействует с прецедентом CalculateCommission.

Это поведение не является унаследованным, оно характерно для актера SalesAgent. Как видим, разумное использование абстрактных актеров может упростить диаграмму прецедентов. Это такжеупрощает семантику модели прецедентов, потому что появляется возможность интерпретировать разные вещи одинаково.Следует отметить, что актерродитель в обобщении актеров не всегдаабстрактен. Это может быть конкретная роль, исполняемая человеком122Глава 5. Дополнительные аспекты моделирования прецедентовСистема Salesпредок или родительабстрактный актерListProductsобобщениеPurchaserOrderProductsУпрощать можнос помощьюобобщения актеров!AcceptPaymentCalculateCommissionCustomerSalesAgentпотомки или детиРис.

5.3. Общее поведение вынесено в актера+родителяили системой. Однако хорошим стилем считается делать актерародителя абстрактным для сохранения простоты семантики обобщения.Актерпотомок может использоваться везде, где ожидается актерпредок.Мы увидели, что если два актера одинаково общаются с одним и темже набором прецедентов, их можно обобщить в другом (возможно, абстрактном) актере. Актерыпотомки наследуют роли и отношения с прецедентами от актерародителя. Актерпотомок может использоватьсявместо актерапредка. Это принцип замещаемости, с помощью которого можно проверить правильность использования обобщения для лю+бого классификатора.В данном примере 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.

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

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

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