Прецедент (UML) (Hjyey;yum (UML))

Перейти к навигации Перейти к поиску

Прецедент (англ. use case), также: вариант использования, сценарий использования — спецификация последовательностей действий (варианты последовательностей и ошибочные последовательности) в Унифицированном языке моделирования (UML), которые может осуществлять система, подсистема или класс, взаимодействуя с внешними действующими лицами (англ. Actors).

Прецеденты были предложены Иваром Якобсоном и значительно популяризированы Алистером Коберном.

Назначение

[править | править код]

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

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

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

Один и тот же прецедент может быть описан с различной степенью детализации.

В MSF используются аналоги прецедентов — сценарии (англ. Scenario).

На диаграммах прецедентов в UML прецедент отображается в виде эллипса. Внутри эллипса или под ним указывается имя элемента.

К прецедентам в UML применимы следующие виды отношений:

  • Ассоциация (англ. Association) — может указывать на то, что действующее лицо инициирует соответствующий вариант использования.

В том числе между прецедентами:

  • Расширение (англ. Extend) — разновидность отношения зависимости между базовым вариантом использования и его специальным случаем.
  • Включение (англ. Include) — определяет взаимосвязь базового варианта использования с другим вариантом использования, функциональное поведение которого всегда задействуется базовым вариантом использования.
  • Обобщение (англ. Generalization, наследование) — моделирует соответствующую общность ролей.