Оценить:
 Рейтинг: 0

Проектирование на UML. Сборник задач

Год написания книги
2017
<< 1 2 3 4 5 6 7 >>
На страницу:
4 из 7
Настройки чтения
Размер шрифта
Высота строк
Поля

Вариантом использования (use case) называют классификатор, который описывает совокупность сценариев взаимодействия акторов с системой или компонентом для достижения какой-либо цели, значимой для акторов. Варианты использования могут различаться по уровню цели, достижение которой они обеспечивают: высокоуровневые цели, пользовательские цели и отдельные функции системы.

Субъектом (subject) варианта использования называют систему или компонент, взаимодействие акторов с которым он описывает.

Ассоциация (association) актора с вариантом использования указывает на взаимодействие актора с субъектом в одном из сценариев данного варианта использования.

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

Отношение включения (inclusion) указывает, что в процессе выполнения сценарии базового варианта использования вызывают выполнение сценариев включаемого варианта использования.

Как и для других классификаторов, для акторов и вариантов использования определено отношение обобщения (generalization).

ЗАДАЧИ

2.1. Актор User взаимодействует с системой OnlineTranslator в рамках абстрактного варианта использования Translate. Варианты использования TranslateText и TranslateWebPage уточняют Translate. Отобразите на диаграмме вариантов использования.

а. Вариант использования TranslateWebPage включает «include» вариант использования SetURL.

б. Вариант использования SetLanguages расширяет «extend» вариант использования Translate в точке расширения specifyLaguages. Условие расширения «язык не определен автоматически».

в. Добавьте в модель актора ExperiencedUser, уточняющего User. ExperiencedUser может взаимодействовать с системой в рамках варианта использования ProposeTranslation, который уточняет вариант использования TranslateText.

2.2. (см. решение в §11) Автор Author направляет статью SendPaper редактору журнала Editor. Редактор передает статью на рецензирование Review нескольким рецензентам Reviewer. Затем редактор возвращает отзывы рецензентов автору в том же варианте использования SendPaper.

а. Добавьте возможность автору вместе с корректором ProofReader подготовить статью к публикации PrepareForPublishing.

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

2.3. Распознавателю текста OCR от модуля морфологии нужны возможность определить, принадлежит ли слово языку, и функция приведения слова к заданной форме, в частности, восстановления начальной формы. Также нужна функция получения грамматического значения конкретного слова.

а. Постройте модель модуля, выделите акторов, варианты использования и укажите отношения между ними.

б. Добавьте функцию вывода слов, похожих на введенное, если его нет в словаре языка. Каким образом данная возможность системы связана с другими функциями?

в. Укажите в модели, что все перечисленные задачи подразумевают выполнение поиска слова (или его основы) в словаре.

г. Некоторые языки могут не поддерживаться системой. Перед выполнением любой функции модуля морфологии нужно проверить, поддержан ли язык. Отобразите это в модели.

2.4. Ответственное лицо ResponsiblePerson может прикрепить документ AttachToIssue к обсуждаемому вопросу, выступая в роли автора author, и к постановлению AttachToResolution, выступая в роли председателя chairman.

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

б. Добавьте в модель оператора Operator, который является ответственным лицом с возможностью удаления документов DeleteDocument.

в. Доработайте модель, укажите, что при прикреплении документа рассылается оповещение SendAnnouncement. Несколько операторов могут выступать в роли контролеров controller.

г. Каким образом можно указать, что прикрепление документа возможно только к вопросу или к постановлению? Ответ поясните.

д. (*) Покажите в модели, что ответственное лицо участвует в сценарии прикрепления в роли пользователя user, объединяющей роли автора и председателя. Указание. Используйте производные свойства. См. §4.

2.5. Пользователь User настраивает подключаемые модули аудиоплеера AudioPlayer в рамках варианта использования ConfigurePlugins.

а. Добавьте к варианту использования ConfigurePlugins возможность выбора определенного модуля для настройки SelectPlugin и возможность настройки конкретного модуля ChangeSettings.

б. Добавьте в модель возможность обновить подключаемые модули UpdatePlugins с внешнего сервера PluginsServer.

в. Помимо обычного пользователя в системах обычно есть привилегированный пользователь SuperUser, который имеет права на изменение конфигурации системы. В системе аудиоплеера такой пользователь может обновить модули UpdatePluginsList. Обновление включает в себя удаление DeletePlugin, установку InstallPlugins и просмотр списка доступных на сервере CheckPluginsList.

2.6. Рассмотрим электронную библиотеку научных работ, представленную на рис. 4.

а. Поясните, каким образом используется электронная библиотека. Перечислите актеров и варианты использования.

б. Укажите, что аналитик Analyst принимает участие в индексировании статей, выполняемом в процессе их загрузки бизнес-партнером ContentPartner.

в. Предоставьте возможность исследователю Researcher использовать расширенный поиск AdvancedSearch, который позволяет указать другие параметры поиска в FindPapers.

г. Укажите, что все варианты использования преследуют цели уровня пользователя (user goal) системы. Указание. Уровни целей[1 - Коберн А. Современные методы описания функциональных требований к системам. – М.:Лори. – 2011. – 288 с.] не входят в стандарт UML2.

2.7. Клиент Client выполняет операции над своими счетами в банке Bank, используя банкомат ATM в рамках абстрактного варианта использования PerformOperation, который включает информирование об услугах в варианте использования InformAboutServices. Для выполнения операций ATM обращается к платежной системе PaymentSystem.

а. Перечислите основных и вспомогательных акторов системы ATM. Какие из них взаимодействуют с системой в варианте использования PerformOperation?

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

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

2.8. Во время подготовки данных для морфологического модуля лингвист Linguist взаимодействует с системой подготовки данных MorphoDPS с целью изменения данных ModifyData. Кроме того, для проверки целостности модифицируемых данных лингвисты могут компилировать данные Compile. Компиляция также включает в себя экспорт данных ExportData в формат, понимаемый компилятором. Каждую ночь сервер сборки приложения BuildServer компилирует данные Compile.

а. Добавьте в систему программиста Programmer, которому доступны те же возможности, что и лингвисту. Кроме того, он может экспортировать данные ExportData для отладки подсистемы компиляции данных.

б. Укажите, что для повторного использования словаря, который хранится на сервере данных морфологии, модуль семантики Semantics может взаимодействовать с системой подготовки данных морфологии в варианте использования ExportWordList.

в. Добавьте функции изменения данных: добавление, изменение и удаление слова.

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

д. Будет ли проверяться целостность данных при удалении слова? Ответ поясните.

2.9. Инкассатор Cashier и заправщик Loader занимаются обслуживанием автомата с газировкой. В обязанности инкассатора входит сбор денег CollectCash, а заправщик загружает в автомат баллоны с водой ChangeWater и газом ChangeGas.

а. Выделите в модели общий сценарий обслуживания, который включает авторизацию в системе обслуживания автомата и завершение сессии обслуживания.

б. Укажите, что автомат также может быть заправлен сиропом.

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

г. Отразите в модели, что инкассатор может наблюдать за автоматом через Интернет с помощью встроенной видеокамеры с включением по сигналу датчика присутствия здания. Решение поясните.

2.10. Первоначальная модель загрузки CreateDocument и проверки документов ReviewDocument преподавателем Professor учебного заведения приведена на рис. 5.
<< 1 2 3 4 5 6 7 >>
На страницу:
4 из 7