П1.3. Фрагменты этапа Анализ (часть 2) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

П1.3. Фрагменты этапа Анализ (часть 2)



Во второй части этапа Анализ рассмотрим фрагменты шагов Диаграммы вариантов использования, Краткое описание вариантов использования, Полное описание вариантов использования, Проектирование пользовательского интерфейса. Рассмотрение второй части этапа Анализ начнем с изложения фрагментов шага Диаграммы вариантов использования иллюстративного примера «Информационная система сети торговых точек»

Диаграммы вариантов использования информационной системы сети торговых точек

О диаграммах вариантов использования

Основное предназначение диаграмм вариантов использования – это отобразить в графическом виде, что полезного для пользователя может делать проектируемое программное обеспечение. Напомним, что диаграмма вариантов использования может содержать в себе сущности языка UML трех видов:

· актеры,

· варианты использования,

· отношения.

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

 

 

Рис. П1.6. Значок актера

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

Вариант использования – это именованная совокупность некоторых действий, совершаемых актером по отношению к системе и описаний реакций системы на эти действия (воздействия). Вариант использования чаще всего представляет собой некоторый продолжительный во времени диалог между актером и системой. У этого правила бывают исключения. Зачастую для удобства необходимо выделить некоторую часть действий системы в отдельный вариант использования (чаще всего для облегчения понимания). В таком выделенном варианте использования видимого воздействия пользователя не присутствует, но есть косвенное воздействие через вариант использования, из которого был выделен рассматриваемый. Спецификация варианта использования содержит в основном текстовое описание, в котором в виде нумерованного списка описывается, как актер воздействует на систему и как она реагирует на это. Приведем такой пример спецификации варианта использования «Обновить данные о чем-нибудь из внешней системы», который может инициировать актер:

1. Актер вызывает функцию обновления данных.

2. Система запрашивает у актера подтверждение «Обновление данных из внешней системы приведет к потере всех текущих данных в системе. Вы действительно хотите обновить данные?»

3. Актер подтверждает обновление.

4. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

5. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

6. Система выдает сообщение «Обновление данных успешно завершено»

7. Актер подтверждает прочтение сообщения

8. Выполнение варианта использования заканчивается.

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

 

 

 

Рис. П1.7. Пример простейшей диаграммы вариантов использования

Теперь, основываясь на приведенном примере, рассмотрим следующие типы возможных отношений между вариантами использования:

· расширение (extend),

· включение (include),

· наследование (generalization).

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

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

 

Рис. П1.8. Пример диаграммы вариантов использования с отношением extend

 

Спецификация варианта использования «Обновить данные о чем-нибудь из внешней системы» изменится и будет следующей:

1. Актер вызывает функцию обновления данных.

2. Система запрашивает у актера подтверждение «Обновление данных из внешней системы приведет к потере всех текущих данных в системе. Вы действительно хотите обновить данные?».

3. Актер подтверждает обновление.

4. Система выполняет вариант использования «Получить данные из внешней БД».

6. Система выдает сообщение «Обновление данных успешно завершено».

7. Актер подтверждает прочтение сообщения.

8. Выполнение варианта использования заканчивается.

Спецификация варианта использования «Получить данные из внешней БД» будет выглядеть следующим образом:

1. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

2. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

3. Выполнение варианта использования на этом заканчивается.

Отношение типа включение обозначается пунктирной стрелкой со стереотипом include, направленной от варианта использования, в который включен другой вариант использования к этому другому варианту использования (см. рис. П.9).

 

Рис. П1.9. Пример диаграммы вариантов использования с отношением include

 

Спецификация вариантов использования будет выглядеть следующим образом. Вариант использования «Обновить данные о чем-нибудь из внешней системы»:

1. Актер вызывает функцию обновления данных.

4. Система выполняет вариант использования «Получить данные из внешней БД».

6. Система выдает сообщение «Обновление данных успешно завершено».

7. Актер подтверждает прочтение сообщения.

8. Выполнение варианта использования заканчивается.

Вариант использования «Получить данные из внешней БД»:

1. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

2. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

3. Выполнение варианта использования на этом заканчивается.

Видно, что применение отношения включения здесь правомочно, так как вариант использования «Получить данные из внешней БД» будет выполнен в любом случае.

Отношение типа наследование обозначает, что один вариант использования, наследует все характеристики и спецификации от родительского варианта использования и либо расширяет их, либо переопределяет их. Графическим отношение наследования изображается в виде стрелки с треугольным наконечником. Пример, использования такого отношения приведен на рис. П1.10.

 

Рис. П1.10. Пример диаграммы вариантов использования с отношением наследования

Как видно на диаграмме варианта использования «Создание чего-либо» и «Редактирование чего-либо» наследуются от абстрактного варианта использования «Создание-редактирование чего-либо». Абстрактный вариант использования – это такой вариант использования, который не содержит в себе спецификаций шагов актера и реакций системы. Кроме этого на диаграмме видно, что абстрактный вариантов использования «Создание-редактирование чего-либо» расширяется вполне конкретными вариантами использования «Создание записи в операционном журнале», «Проверка правильности данных», «Уведомление генерального директора».

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

Для идентификации вариантов использования нам могут пригодиться:

· требования к системе,

· описание актеров системы,

· описание предметной области,

· глоссарий.

Чтобы понять, какие вариантов использования при работе с системой присутствуют в проектируемой системе, необходимо:

· Иметь в виду, что очень часто одно или несколько рядом стоящих требований (при соблюдении правила последовательности изложения требований) являются прообразом варианта использования. Поэтому в первую очередь рекомендуется зафиксировать возможные варианты использования, соответствующие требованиям к системе, и дать им названия. Например, если существует требование «Система должна предоставлять возможность просмотра списка чего либо», то вариант использования «Просмотреть список чего-либо» за очень редким исключением есть в системе.

· Представить себе работу каждого актера с системой и попытаться глагольной фразой назвать некоторую типичную последовательность действий. Например, типичной последовательностью действий администратора торговой точки является внесение в систему журналов продаж, это значит, что в системе существует вариант использования «Ввод нового журнала продаж».

· Попытаться применить шаблон (паттерн), связанный с полным циклом администрирования чего-либо. Изобразить на диаграмме его можно следующим образом:

Рис. П1.11. Типовая диаграмма вариантов использования, связанная с администрированием каких-либо сущностей

Зачастую такой паттерн применим, когда в системе существует некоторое понятие, к которому применимы функции просмотра списка эти понятий, создания нового понятия, редактирования этого понятия и удаление этого понятия.

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

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

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

· связанные между собой, но никак несвязанные с другими вариантами использования при работе с  системой;

· относящиеся к работе с одной сущностью (например с товаром или продавцом);

· имеющие логически близкий смысл (например, вариант использования запуска и остановки программы).

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

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

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

· Если на одной диаграмме слишком много вариантов использования, разбейте ее на несколько.

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

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

· Не пытайтесь создать одну главную диаграмму, на которой отображена работа всей системы. Такая диаграмма чаще всего не имеет никакого практического смысла. Ведь для того, чтобы понять в общем, что делает система достаточно прочитать «Видение» - документ созданный на предыдущем этапе.

Приведем несколько примеров диаграмм для  информационной системы сети торговых точек.

Примеры диаграмм

Рис. П1.12. Диаграмма 01. Запуск и остановка программы

Это пример диаграммы, где варианты использования объединены скорее логически.

Рис. П1.13. Диаграмма 02. Управление товарами

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

 

Рис. П1.14. Диаграмма 05. Генерация отчетов

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

Без пояснений приведем фрагменты диаграмм вариантов использования для книжного Internet-магазина, поскольку эти фрагменты будут в дальнейшем использоваться при изложении некоторых шагов этапов Анализ и Проектирование.

Диаграммы вариантов использования для книжного Internet-магазина

На рис. П1.15 приведена полная диаграмма вариантов использования для книжного Internet-магазина а на рис. П1.16 приведена неполная диаграмма вариантов использования для книжного Internet-магазина.

Изменить содержимое корзины
Регистрация
Просмотреть Список Книг
Искать по Автору
Просмотреть Недавние Заказы
Открыть Счет
Оформить Заказ
Отменить Заказ
Клиент
Доставщик
Доставить Заказ
Участок Доставки
Упаковщик
Приемщик
Обработать Готовый к Доставке Заказ
Участок Приемки
Учетчик

 

Рис. П1.15  Полная диаграмма вариантов использования для книжного Internet-магазина

 

 

 

Рис. П1.16 Неполная диаграмма вариантов использования для книжного Internet-магазина

Теперь перейдем к следующему шагу Краткое описание вариантов использования этапа Анализ.

О кратком описании вариантов использования

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

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

 

Примеры кратких описаний вариантов использования

 

Приведем примеры кратких описаний вариантов использования, фигурирующих выше на рис. П.1.13 на диаграмме 02 Управление товарами рис. П1.17.   

Для наглядности эту диаграмму воспроизведем ниже еще раз.

Диаграмма Управление товарами

Рис. П1.17 Диаграмма 02 Управление товарами

 

02.010 Просмотр списка товаров торговой точки

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

02.020 Поиск товара

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

02.030 Ввод информации о поступлении имеющегося товара

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

02.040 Ввод информации о поступлении нового товара

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

02.060 Добавление записи в журнал приходов

Данный вариант использования вызывается при сохранении информации о новом или существующем товаре и является расширяющим поведение вариантов использования 02.030 Ввод информации о поступлении имеющегося товара и 02.040 Ввод информации о поступлении нового товара. Вариант использования выполняется для регистрации приходов товара на торговую точку.

02.070 Удаление товара

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

После того, как даны краткие описания вариантов использования системы, перейдем к следующему шагу Полное описание вариантов использования этапа Анализ (т.е. к специфицированию вариантов использования).

 

О полном описании вариантов использования

Спецификация (описание) вариантов использования – это текстовое структурированное описание последовательности действий актера и реакции системы на эти действия. Кроме этого спецификация вариантов использования может содержать в себе и другие разделы.

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

· инициатор,

· краткое описание,

· требования,

· нормальный ход варианта использования (состоящий из двух разделов: Действия актера и отклик системы),

· альтернативный ход варианта использования,

· точки расширения.

Раздел инициатор описывает, какие актеры могут запустить этот вариант использования. Заполняют этот раздел только там, где вариант использования инициируют несколько актеров и это непонятно из диаграммы. В примерах, рассматриваемом в данном пособии таких вариантов использования нет, поэтому ни в одной спецификации вариантов использования такого раздела нет.

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

Раздел нормальный ход варианта использования описывает самую типичную в варианте использования последовательность шагов. Каждый шаг варианта использования – это либо воздействие актера, либо отклик системы. Все шаги актера нумеруются. Нормальный ход варианта использования изображается в виде таблицы, в левом столбце которой находятся шаги актера, в правой отклики системы. Некоторые клеточки в правой или левой части таблицы могут быть не заполнены. Для того, чтобы правильно специфицировать нормальный ход варианта использования необходимо:

· просмотреть краткое описание варианта использования;

· просмотреть требования, которым вариант использования соответствует;

· представить себе актера, взаимодействующего с системой, его действия по отношению к ней (добавить эти действия в левую колонку таблицы);

· представить себе, что делает система (добавить эти действия в правую колонку таблицы), при этом рассматривать эти действия в контексте воздействий актера. Нумерация через десяток используется и здесь по тем же соображениям, что для требований и номеров вариантов использования.

Завершим описание процедуры специфицирования нормального хода варианта использования несколькими рекомендациями:

· Один шаг в варианте использования – это атомарное действие актера или системы, т.е. каждый шаг должен содержать элементарные действия, неподдающиеся дальнейшему разбиению. Не следует в описании шага варианта использования остерегаться использовать обороты «Причем,…», «Следует обратить внимание, …» и так далее, которые описывают некую специфику данного шага.

· В описании вариантов использования необходимо придерживаться терминологии, определенной в глоссарии. Если есть необходимость употребить какой-то термин, которого нет в глоссарии, то необходимо его сначала туда включить, а затем использовать.

· При описании вариантов использования следует использовать естественный язык, т.е. правильными являются фразы типа «Система создает новый товар», «Система отображает список продавцов, у которых не установлен признак «Удален»» и так далее, но не правильными являются фразы типа «Система вставляет в таблицу Items новую запись, соответствующую новому товару».

· В совокупности все варианты использования системы не должны оставлять белых пятен в работе системы. После описания вариантов использования всегда должна быть предоставлена возможность ответа на вопросы типа «Что будет если...», «Как пользователь управляет этим» или «Какие поля будут в отчете?» и так далее.

· Если между актером и вариантом использования на диаграмме существует ассоциация, то вариант использования должен начинаться с фразы «Актер вызывает функцию...» или «Актер инициирует...».

Раздел альтернативный ход варианта использования описывает шаги, которые могут быть выполнены, при ненормальном течении варианта использования. Например, если актер отказывается от своих действий, если происходит какая-либо ошибка, если ничего не найдено и в других случаях, которые как-то могут повлиять на нормальный ход варианта использования.

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

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

Раздел точки расширения. Если по отношению к варианту использования есть варианты использования находящиеся с ним в отношении расширения, это значит, что в варианте использования почти наверняка можно легко выделить точку расширения. Точка расширения – это место, в котором происходит расширение варианта использования другим вариантом использования.

Шаг Полное описание вариантов использования этапа Анализ завершим примерами.

Примеры полных описаний вариантов использования

Ограничимся примерами полных описаний вариантов использования, фигурирующих выше на рис. П1.13 на диаграмме 02. Управление товарами.  

Для наглядности эту диаграмму воспроизведем ниже еще раз рис.П1.18.

Рис. П1.18 Диаграмма 02 Управление товарами



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 227; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.22.136 (0.065 с.)