Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » А.М. Вендров - Объектно-ориентированный анализ и проектирование

А.М. Вендров - Объектно-ориентированный анализ и проектирование, страница 8

Описание файла

PDF-файл из архива "А.М. Вендров - Объектно-ориентированный анализ и проектирование", который расположен в категории "книги и методические указания". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из седьмого семестра, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

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

Идентификациясобытий,накоторыенеобходимореагировать,помогаетидентифицировать варианты использования.Диаграмма вариантов использования является самым общимпредставлением функциональных требований к системе. Дляпоследующего проектирования системы, однако, требуются болееконкретные детали. Эти детали описываются в документе, называемом"сценарий варианта использования" или "поток событий" (flow of events).Целью потока событий является подробное документирование процессавзаимодействия действующего лица с системой, реализуемого в рамкахварианта использования [7].37Хотя поток событий и описывается подробно, он также не должензависеть от реализации. Цель - описать, что будет делать система, а не какона будет делать это.

Обычно описание потока событий включаетследующие разделы:• краткое описание;• предусловия (pre-conditions);• основной поток событий;• альтернативные потоки событий;• постусловия (post-conditions);• расширения (extensions).Последовательно рассмотрим эти составные части.Краткое описание. Каждый вариант использования должен иметькраткое описание того, что в нем происходит.

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

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

Основной поток событий описываетнормальный ход событий (при отсутствии ошибок), и при наличиинескольких возможных вариантов хода событий может разветвляться наподчиненные потоки (subflow). Альтернативные потоки описываютотклонения от нормального хода событий (ошибочные ситуации) и ихобработку. Например, потоки событий варианта использования "Снятьденьги со счета" могут выглядеть следующим образом:38Основной поток событий1.

Вариант использования начинается, когда клиент вставляет своюкарточку в банкомат.2. Банкомат выводит приветствие и предлагает клиенту ввести свойперсональный PIN-код.3. Клиент вводит PIN-код.4. Банкомат подтверждает введенный код.5. Банкомат выводит список доступных действий: сделать вклад, снятьденьги со счета, перевести деньги6. Клиент выбирает пункт "Снять деньги со счета".7.

Банкомат запрашивает, сколько денег надо снять.8. Клиент вводит требуемую сумму.9. Банкомат определяет, имеется ли на счету достаточно денег.10. Банкомат вычитает требуемую сумму из счета клиента.11. Банкомат выдает клиенту требуемую сумму наличными.12. Банкомат возвращает клиенту его карточку.13. Банкомат печатает чек для клиента.14. Вариант использования завершается.Альтернативный поток событий 1. Ввод неправильного PIN-кода.4а1.

Банкомат информирует клиента, что код введен неправильно.4а2. Банкомат возвращает клиенту его карточку.4а3. Вариант использования завершается.Альтернативный поток событий 2. Недостаточно денег на счету.9а1. Банкомат информирует клиента, что денег на его счетунедостаточно.9а2. Банкомат возвращает клиенту его карточку.9а3. Вариант использования завершается.Альтернативный поток событий 3.

Ошибка в подтверждениизапрашиваемой суммы.9б1. Банкомат сообщает пользователю, что при подтверждениизапрашиваемой суммы произошла ошибка и дает ему номер телефонаслужбы поддержки клиентов банка.9б2. Банкомат заносит сведения об ошибке в журнал ошибок. Каждаязапись содержит дату и время ошибки, имя клиента, номер его счета и кодошибки.9б3. Банкомат возвращает клиенту его карточку.9б4. Вариант использования завершается.39Как видно из приведенного примера, хорошо написанный потоксобытий должен легко читаться и состоять из предложений, написанных вединой грамматической форме. На обучение его чтению не должноуходить больше нескольких минут. При написании основного потокасобытий нужно придерживаться следующих правил:• использовать простые предложения;• явно указывать в каждом пункте, кто выполняет действие действующее лицо или система;• не показывать слишком незначительные действия;• не показывать детальные действия пользователя в процессе работыс пользовательским интерфейсом;• не рассматривать возможные ошибочные ситуации (использоватьдействия "подтвердить", а не "проверить").При выявлении альтернативных потоков событий нужно в первуюочередь внимание на ситуации, связанные с:• некорректными действиями пользователя (например, вводневерного пароля);• бездействием действующего лица (например, истечением времениожидания пароля);• внутренними ошибками в разрабатываемой системе, которыедолжны быть обнаружены и обработаны в обычном порядке(например, заблокирован автомат для выдачи наличных);• критически важными недостатками в производительности системы(например, время реакции не укладывается в 5 секунд).Постусловия.

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

Этот пункт присутствует, если в основном потокесобытий имеют место относительно редко встречающиеся ситуации(частные случаи). Описание таких ситуаций выносится в данный пункт.В диаграммах вариантов использования может присутствоватьнесколько типов связей. Это связи коммуникации (communication),включения (include), расширения (extend) и обобщения (generalization).Связь коммуникации - это связь между вариантом использования идействующим лицом, она изображается с помощью однонаправленной40ассоциации (линии со стрелкой).

Направление стрелки позволяет понять,кто инициирует коммуникацию.Связь включения применяется в тех ситуациях, когда имеется какойлибо фрагмент поведения системы (часть потока событий), которыйповторяется более чем в одном варианте использования. С помощью такихсвязейобычномоделируютмногократноиспользуемуюфункциональность. В примере с банковской системой вариантыиспользования "Снять деньги со счета" и "Сделать вклад" должныаутентифицировать клиента и его PIN-код перед тем, как допуститьосуществление самой транзакции. Вместо того, чтобы подробно описыватьпроцесс аутентификации для каждого из вариантов использования, можнопоместить эту функциональность в свой собственный вариантиспользования под названием "Аутентифицировать клиента".Связь расширения применяется при наличии изменений внормальном поведении системы (описанных в пункте "Расширения"),которые также выносятся в отдельный вариант использования.Связи включения и расширения изображаются в виде зависимостей,как показано на рис.

1.12.Рис. 1.12. Связи включения и расширенияС помощью связи обобщения показывают, что у несколькихдействующих лиц имеются общие черты и различия. Например, услужащих организации имеются как общие свойства, так и разные способыоплаты труда (рис. 1.13).Нет необходимости всегда создавать связи этого типа. В общемслучае, они нужны, если отличия в поведении действующего лица одноготипа от поведения другого затрагивают функции системы. Если обаподтипа используют одни и те же варианты использования, показыватьобобщение действующего лица не требуется.41Рис.

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

Свежие статьи
Популярно сейчас