Table of Contents

Be Careful With Use Cases

Edward V. Berard. Be Careful With “Use Cases”.

https://www.cs.unc.edu/~stotts/204/usecases/careful.html

Сценарии использования

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

Проблемы локализации информации

Говоря о локализации, имеют в виду размещение некоторых объектов близко друг от друга, то есть группировке их в определенные «зоны». Так, в функциональной декомпозиции информация размещается с оглядкой на функции, а в объектно-ориентированной разработке информация заключена в классы и объекты. Если представить процесс создания продукта от проектирования интерфейса пользователя (что реализуют функциональные по природе сценарии использования) до непосредственно реализации системы (например, при помощи ООП), становится очевидно, что где-то на этом пути происходит смена парадигмы локализации, что часто приводит к ошибкам. Рассмотрим для примера систему, в которой несколько команд работают над своими частями проекта, разделение на которые было выполнено, исходя из сценариев использования. Распространенной проблемой в таких случаях является несовпадение функционально-декомпозированной схемы с реальной реализацией, из-за чего, например, объектам приходится собирать информацию по разным частям системы, обращаясь к реализации из разных функциональных делений. Другая возможная проблема — реализация одних и тех же объектов несколько раз, т.е. каждая часть продукта использует свои собственные классы и интерфейсы. Помимо траты времени на создание одной сущности несколько раз, это приводит также и к сложностям с дальнейшей интеграцией компонентов системы. В описанных случаях затруднения возникают в тот момент, когда функциональное описание интерфейса пользователя используется для реализации системы. Таким образом, для избежания проблем подобного рода не следует рассматривать сценарии использования как основу создания внутренней архитектуры описываемых объектов.

Вопросы сокрытия данных

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

Поддержка и управление сценариями использования

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

Заключение

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