logo search
2012 ВС РСПС Конспект(KIED)

46. Моделирование требований к системе с помощью диаграмм прецедентов.

Прецедент (use case) - это спецификация поведения системы или ее части без определения реализации системы.

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

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

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

Моделирование требований осуществляется следующим образом:

  1. · Установите контекст системы, идентифицировав окружающих ее актеров.

  2. · Для каждого актера рассмотрите поведение, которого он ожидает или требует от системы.

  3. · Назовите эти общие варианты поведения как прецеденты.

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

  5. · Смоделируйте эти прецеденты, актеров и отношения между ними на диаграмме прецедентов.

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

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

Хорошо структурированная диаграмма прецедентов обладает следующими свойствами:

акцентирует внимание на одном аспекте статического вида системы с точки зрения вариантов использования,

содержит только такие прецеденты и актеров, которые важны для понимания этого аспекта,

содержит только такие детали, которые соответствуют данному уровню абстракции (следует показывать только те дополнения, которые необходимы для понимания системы),

не слишком лаконична, чтобы ввести в заблуждение относительно важной семантики.