Диаграммы использования
Диаграммы использования (use case diagram) предназначены для отображения внешнего функционирования проектируемой системы и ее взаимодействия с внешним миром пользователями. Эти диаграммы впервые были предложены Иваром Якобсоном (Ivar Jacobson). Основой подхода являются так называемые блоки использования (use case), которые представляют собой некоторый набор функций системы, объединяемых в единое целое с точки зрения пользователя. Один блок использования не обязательно представляет собой одну часть системы или даже единую группу функций. Он представляет собой именно понимание пользователем поведения системы.
Диаграммы использования являются широко применяемыми в различных технологиях проектирования. Их главная задача - спецификация требований к системе на начальных этапах проектирования, когда решаются наиболее общие задачи предназначения разрабатываемой системы. Широкое распространение диаграмм использования привело, в частности, и к тому, что они имеют очень широкое и иногда различное толкование.
Диаграмма состоит из следующих элементов:
внешние пользователи (actors), это такие воздействия, которые передают или получают информацию для системы, это могут быть физические объекты разной природы: от людей и механизмов до программных систем, один физический объект может описываться несколькими пользователями, если он взаимодействует с разными функциями,
блоки использования (use case), это такие группы функций системы, которые объединяются в единое целое для внешнего пользователя,
связи между блоками использования и связи между блоками использования и внешними пользователями.
Выделены следующие виды связей:
взаимодействие (только между пользователем и блоком использования);
расширение - данный вид отношения от блока А к блоку В обозначает, что исполнение блока В может дополняться исполнением некоторых функций блока А;
использование - данный вид отношения от блока А к блоку В обозначает, что исполнение А также включает исполнение блока В;
Графически блоки использования обозначаются эллипсами с указанием имени внутри эллипса или рядом с ним. Внешние пользователи графически обозначаются как прямоугольники с табулятором “Пользователь” или в виде схематичной фигурки человека с именем под ней.
Графическое обозначение для связей следующее:
взаимодействие - сплошная линия,
расширение - линия со стрелкой от блока, предоставляющего расширение к базовому блоку, помеченная словом “extends”,
использование - линия со стрелкой от использующего блока к используемому блоку, помеченная словом “uses”.
Все блоки использования объединяются на рисунке в единый прямоугольник, очерчивающий рамки проектируемой системы.
Примером диаграммы может являться диаграмма, представленная на рис. 44, демонстрирующая структуру системы учета клиентов Internet для Internet Service Provider (ISP).
Внешними пользователями (actor) являются:
“клиент” - физическое или юридическое лицо, заказывающее услуги по подключению к сети Internet,
“оператор” - сотрудник ISP, осуществляющий работу с клиентом и системой учета,
“бухгалтер”- бухгалтер ISP,
“системный администратор” - сотрудник ISP, обеспечивающий системное администрирование системы учета клиентов.
Основными задачами “клиента” являются:
заключение договора о предоставлении услуг сети Internet,
выбор перечня услуг для работы в сети (например, создание почтового ящика, создание web-сервера, регистрация и обслуживание домена),
оплата предоставленных услуг или авансовый платеж,
получение необходимых документов (договор, счет, счет-фактура, акт о выполненных работах),
получение статистических отчетов (состояние счета, сеансы работы, начисления за услуги),
подключение и работа в режиме on-line.
Основной задачей “бухгалтера” является
получение отчетов о поступлении платежей
Основными задачами “системного администратора” являются:
удаление сведений о клиенте,
создание нового вида услуг.
Диаграммы использования являются весьма популярными и включаются в различные методики проектирования благодаря своим следующим достоинствам:
формулировка требований, ориентированная на пользователя, т.е. система заведомо проектируется так, как ее будет видеть пользователь;
простота модели, ее ориентированность на неподготовленного пользователя;
возможность описания больших проектов за счет декомпозиции на крупные блоки использования, которых в любой системе не так много, как структурных единиц самой системы.
Рис. 44. Пример диаграммы использования.
Рекомендуется следующая последовательность формулирования требований к системе с помощью диаграмм использования:
определить перечень главных пользователей (внешних входов-выходов) системы, это целесообразно сделать методом мозгового штурма с участием большого количества людей, начиная от руководителя разработки и кончая программистами;
определить методику участия внешних пользователей в проекте (методы привлечения их к составлению требований);
определить главные цели пользователей (что они хотят сделать с помощью системы) и задачи, которые нужно решить для достижения этих целей;
составить диаграмму использования, в которой каждой задаче каждого пользователя сопоставить блок использования; соединить блоки использования и внешних пользователей, ответственных за данную задачу;
проверить каждый блок использования какой-либо количественной метрикой, например, можно использовать оценку времени выполнения задачи или объема ресурсов, необходимого для ее решения; на этой стадии полезно составить прототип программного средства, для оценки реализуемости проекта (но ни в коем случае не интерфейса пользователя);
Все перечисленные шаги не должны приводить к слишком сложной модели и занимать слишком много времени. Далее можно перечислить рекомендации по составлению диаграмм использования:
диаграммы должны быть простыми и понятными любому пользователю;
автор проекта и идеи системы должен участвовать в спецификации требований;
каждый участник проекта должен понимать конечную цель и предназначение разрабатываемой системы;
блоки использования должны быть основаны на их целях (а не, например, структуре);
не использовать слишком много отношений “extends” и “uses” - они усложняют понимание диаграммы;
блоки использования не должны отражать вопросов пользовательского интерфейса;
необходимо вовремя остановить внешних пользователей, так как они могут хотеть от системы слишком много и она будет нереализуема.
Дата добавления: 2016-05-16; просмотров: 865;