Участники и действующие лица

Участники и действующие лица

Участник — это один из тех, кто заключает контракт. Действующее лицо — это некто (нечто), обладающий поведением, оно должно быть способно выполнить предложение с if. Действующим лицом может быть индивидуум, компания или организация, компьютерная программа или компьютерная система — оборудование, программное обеспечение либо то и другое.
Действующими лицами могут быть:.
■ Участники системы.
■ Основные действующие лица вариантов использования.
■ Участники разрабатываемой системы (SuD).
■ Вспомогательные действующие лица варианта использования.
■ Внутренние действующие лица (в компонентах SuD).
4.1. Участники.
Участник — это кто-то (что-то), имеющий законный интерес в поведении, реализуемом в варианте использования.
Каждое основное действующее лицо является участником, но некоторые участники никогда не взаимодействуют с системой непосредственно, даже если имеют право проявлять интерес к поведению системы. Примером служат владельцы системы, правление компании и органы государственного управления, например Налоговое управление и Министерство страхования.
Студенты называют участников, которые никогда напрямую не появляются в шагах действий вариантов использования, закулисными, третьестепенными или бессловесными действующими лицами.
Уделяя внимание последним, мы значительно улучшаем качество варианта использования. Их интересы касаются проверок и подтверждений, которые производит система, журналов, которые она создает, и выполняемых ею действий. Правила бизнеса документируются, так как система должна проводить их в жизнь от имени участников. Необходимо, чтобы варианты использования показывали, как система защищает интересы участников. Далее следует история, иллюстрирующая, во что обходится забывчивость в данном вопросе.
" Невымышленная история.
В первый год работы после продажи нескольких копий своей новой системы компания получила запросы на изменение системы. Это казалось естественным, пока дело не дошло до вариантов использования и не понадобилось предпринять "мозговой штурм" по поводу участников и интересов в недавно поставленной системе.
Обнаружилось, что во время такого штурма сотрудники компании сами выявили элементы последнего запроса на изменение. Очевидно, во время разработки системы они совершенно упустили из вида некоторые интересы нескольких участников. Эти участники довольно скоро заметили, что система не обслуживала их надлежащим образом, и, естественно, послали запрос на изменение.
С тех пор в компании стали стал неукоснительно именовать участников и интересы на ранней стадии во избежание повторения этой дорогостоящей ошибки.
Мои коллеги и я считаем, что, выявляя участников и их интересы, мы определяем важные требования на ранней стадии. Эти требования другим способом выяснить невозможно. Это не занимает много времени и сберегает много сил в будущем.
4.2. Основное действующее лицо.
Основное действующее лицо варианта использования — это участник, который обращается к системе за одной из ее услуг. По отношению к системе он имеет цель, которая может бытьдостигнута в результате работы этой системы. Основное действующее лицо часто (но не всегда) является тем, кто запускает вариант использования.
Обычно вариант использования стартует вследствие того, что основное действующее лицо посылает сообщение, нажимает на кнопку, на клавишу или инициирует работу варианта использования каким-либо другим способом. Однако существуют две распространенные ситуации, когда инициатором варианта использования является не основное действующее лицо. В первом случае служащий компании или оператор на телефоне инициирует вариант использования от имени кого-то еще, во втором — вариант использования запускается по таймеру.
Наличие служащего компании или телефонного оператора часто удобно с технологической точки зрения для конечного основного действующего лица, которое действительно имеет свой интерес. По мере развития технологии становится более вероятным, что конечное основное действующее лицо будет инициировать или запускать вариант использования непосредственно с помощью Интернета или автоматической телефонной системы. Примером служит клиент, который прямо сейчас звонит и выдает запрос. С системой, переделанной для работы в Интернете, клиент сможет вводить свой запрос напрямую (как в Amazon.com).
Подобным же образом подразделение маркетинга или аудита может настаивать на вариантах использования, с которыми работал бы служащий. Вариант использования как таковой служащему не нужен, просто он технологически удобен для менеджеров по продажам. При несколько иных условиях менеджеры сами работали бы с вариантами использования.
Сегодня я пишу “торговый представитель для клиента” или “служащий для отдела маркетинга”, чтобы зафиксировать, что пользователь системы действует в интересах кого-то еще. Разработать интерфейс пользователя и определить уровень защиты необходимо для служащего, а в результатах заинтересованы клиент или отдел продаж.
Таймер — другой пример запуска без оператора. Вариант использования запускается каждую полночь или в конце месяца. В этом случае основное действующее лицо — это какой-либо участник, заинтересованный в том, чтобы вариант использования работал в это самое время.
Можно вступить в продолжительную дискуссию и сравнивать пользователей с конечными основными действующими лицами. Предлагаю вам не тратить слишком много времени на это. Если группа начинает исследовать вопросы проектирования интерфейса пользователя, она затрачивает много усилий на изучение реальных характеристик пользователя (или ей следует это делать). Когда разработчики рассмотрят требования, они поймут, что для каждого варианта использования полезно знать конечное основное действующее лицо, т.е. того, кто действительно заинтересован в результате.
Один сообразительный студент спросил: “Насколько велик будет ущерб, если мы на этом этапе неправильно определим конечное основное действующее лицо?” Ущерб будет не слишком большим, как показано в следующем разделе.
Почему основные действующие лица бывают несущественны (и существенны).
Основные действующие лица важны в начале сбора требований и непосредственно перед сдачей системы. Между этими двумя этапами они не важны.
В начале создания вариантов использования.
Перечисление основных действующих лиц помогает нам составить мнение о системе в целом за короткий промежуток времени (это довольно скоро выскочит у нас из головы). Мы устраиваем “мозговые штурмы”, выявляя сначала всех действующих лиц, а затем — их цели. Это цели, которые нас действительно интересуют, но если мы будем выявлять их напрямую, то слишком многое упустим. Выявление основных действующих лиц определяет рабочую основу. Затем ее можно досконально обсудить, чтобы получить более качественный список целей.
Построение чуть более длинного списка основных действующих лиц делу не мешает, поскольку в худшем случае одна и та же цель будет сформулирована дважды. Когда будем просматривать набор действующих лиц и целей, чтобы назначить приоритеты разработки, обнаружим и удалим дубликаты.
Однако даже при двойном “мозговом штурме” маловероятно, что мы перечислим все цели, достижение которых должна обеспечивать система. Новые цели имеют обыкновение появляться, когда мы пишем шаги обработки ошибок варианта использования, но это невозможно учесть на столь ранней стадии. Лучшее, что мы можем сделать, — это зафиксировать все цели, перечислив сначала всех основных действующих лиц.
Полный список основных действующих лиц дает еще три преимущества:.
■ Он фокусирует наши мысли на людях, которые будут использовать систему. В документе, содержащем требования, мы фиксируем, кого предполагаем в качестве основных действующих лиц, описание их работы, их типичную подготовку и навыки. Мы делаем это, чтобы разработчики системы и интерфейса пользователя могли обеспечить соответствие системы этим характеристикам.
■ Он определяет структуру списка Действующее лицо/Цель, которая будет использована для расстановки приоритетов и распределения работы.
■ Он нужен для разбиения огромного множества вариантов использования на пакеты, которые можно распределить между различными группами разработчиков.
Во время создания вариантов использования и во время проектирования.
Когда мы начинаем разрабатывать варианты использования в деталях, основные действующие лица практически теряют важность, что удивительно. Дело в том, что со временем создатели вариантов использования обнаруживают, что в них могут быть разные типы действующих лиц. Например, кто-то (не простой служащий) может ответить на звонок и поговорить с клиентом. Поэтому писатели называют основное действующее лицо общим именем, используя такие ролевые имена, как “приемщик утерянного", “приемщик заказов” или “производитель счетов". Как следствие варианты использования сообщают, что производитель счетов производит счет, а приемщик заказов принимает заказ (что не слишком информативно).
Дроблением ролей можно управлять разными способами, каждый из них имеет преимущества и недостатки. Ни одна стратегия не является идеальной, поэтому вам просто придется выбрать одну из них.
АЛЬТЕРНАТИВА 1. Разбейте множество основных действующих лиц в соответствии с их ролями. Постройте таблицу Действующее лицо/Роль, в которой перечислены все люди и системы, являющиеся основными действующими лицами в каких-либо вариантах использования, и все их роли. Используйте названия роли в поле Основное действующее лицо. С помощью таблицы Действующее лицо/Роль перейдите от вариантов использования к людям и системам в реальной жизни.
Эта стратегия позволяет авторам игнорировать сложные названия работ и продолжать писать. Разработчик интерфейса пользователя или компоновщик пакета программного обеспечения применит таблицу Действующее лицо/Роль, чтобы обеспечить соответствие вариантов использования их конечным пользователям. Недостаток альтернативы 1 в том, что приходится поддерживать и читать отдельный список.
АЛЬТЕРНАТИВА 2. В начальном разделе вариантов использования пишем: "Администратор может выполнять все те варианты использования, которые может выполнять служащий, и сверх того. Региональный управляющий может выполнять все те варианты использования, которые может выполнять администратор, и сверх того. Поэтому, если написано, что основное действующее лицо — это, к примеру, служащий, значит подразумевается, что любой индивидуум должностью выше, администратор и региональный управляющий в данном случае, способен выполнять этот вариант использования".
Такую форму легче поддерживать, чем таблицу Действующее лицо/Роль, поскольку маловероятно, что она изменится. Ее недостаток в том, что люди будут затрачивать некоторое время, напоминая друг другу об этом примечании.
Обе альтернативы обеспечивают адекватные результаты. Я использую вторую, так как меня устраивает, что надо писать, анализировать и поддерживать на один продукт меньше.
Дело в том, что поле основного действующего лица шаблона варианта использования со временем обесценивается. Это нормально, и не стоит об этом беспокоиться.
Завершение проекта, подготовка к внедрению системы.
Непосредственно перед сдачей системы основные действующие лица опять становятся важными. Нам необходим список всех людей и вариантов использования, которые они будут выполнять. Нам нужно:.
■ Разделить систему на модули, которые будут загружаться на различных пользовательских компьютерах.
■ Определить уровни безопасности для камедого варианта использования (для Интернет-пользователей, внутренних пользователей, администратора и т.д.).
■ Организовать обучение для различных групп пользователей.
Действующие лица в сравнении с ролями.
Термин действующее лицо подразумевает индивидуума в действии. Иногда в варианте использования он означает индивидуум. Однако в других случаях он указывает на общую категорию индивидуумов, которые могут исполнять заданную роль.
Предположим, что Ким — клиент MyTelCo, Крис — служащий, а Пэт —менеджер по продажам. Каждый из них способен разместить заказ. На языке действующих лиц мы скажем, что Ким, Крис и Пат могут быть основными действующими лицами для варианта использования Разместить заказ. Мы также скажем, что клиент, служащий и менеджер по продажам — допустимые основные действующие лица для варианта использования Разместить заказ. Можно отметить, что менеджер по продажам может выполнять любой вариант использования, который может выполнять служащий. Все это правильно.
Используя язык ролей, мы скажем, что Ким, Крис и Пэт — это действующие лица-индивидуумы. Каждый из них может играть роль клиента, но только Крис и Пэт способны играть роль служащего, и одна только Пэт способна играть роль менеджера по продажам. Управляет вариантом использования Разместить заказ роль приемщика заказов. Этот способ описания более точен, чем предыдущий, и некоторые предпочитают его. Однако в мире вариантов использования он является нестандартным.
Вам следует употреблять такие термины, какие предпочитают разработчики вашей группы. Между тем, действующее лицо — термин, принятый в программной инженерии. Он вполне адекватен, поэтому я использую его в этой книге.
Диаграммы UML и специализация Действующее лицо/Роль.
В UML используется незакрашенная стрелка, обозначающая, что одно действующее лицо является специализацией другого (см. рис. А.6).
Такая стрелка позволяет кратко выразить, что менеджер может делать все то, что может делать служащий. Достаточно нарисовать стрелку, направленную от менеджера к служащему.
Недостатком является то, что многим такая диаграмма кажется перевернутой. Они не считают менеджера особым видом служащего или служащего особым видом клиента, что, по-видимому, показывает диаграмма (в действительности она показывает, что один может делать то, что может делать и другой). Многие полагают, что менеджер — это больше, чем служащий. Это мнение не столь существенно, но вам придется иметь его в виду.
Стрелка специализации вовсе не помогает решить главную часть проблемы Действующее лицо/Роль. Для служащего отдела продаж и служащего отдела аудита наборы вариантов использования перекрываются, но между ними нельзя поставить стрелку специализации, так как никто из них не может делать все, что может другой. Таким образом, вы возвращаетесь к середине дискуссии о действующем лице и роли.
Характеристики основных действующих лиц.
Имея только список действующих лиц, нельзя существенно помочь разработчикам, которым надо знать, какими навыками должны обладать пользователи, чтобы построить соответствующие поведение системы и интерфейс пользователя. Группы, создающие таблицу профиля действующих лиц, считают, что они лучше представляют себе, насколько их программное обеспечение удовлетворит потребности конечных пользователей, поскольку во время разработки у них перед глазами есть данные о навыках конечных пользователей.
Самая простая таблица профиля действующих имеет две колонки (см. таблицу 4.1). Иногда приводят и вторые имена, или псевдонимы, под которыми известны эти.
действующие лица. Изменения в таблице профиля действующих лиц обсуждаются в книге Software for Use (Constantine and Lockwood, 1999).
Таблица 4.1. Пример таблицы профиля действующих лиц Название Профиль: подготовке и навыки
Название
Профиль: подготовка и навыки
Клиент
Человек с улицы, умеющий пользоваться сенсорным дисплеем, но вряд ли имеющий опыт работы с графическим интерфейсом пользователя (GUI). Могут возникнуть трудности с чтением, возможны близорукость, дальтонизм и т.д.
Менеджер
Нерегулярный пользователь, работал с GUI, но не знаком с какой-либо определенной функцией программного обеспечения. Нетерпелив.
4.3.
Вспомогательные действующие лица
Клиент Человек с улицы, умеющий пользоваться сенсорным.
дисплеем, но вряд ли имеющий опыт работы с графическим интерфейсом пользователя (GUI). Могут возникнуть трудности с чтением, возможны близорукость, дальтонизм и т.д.
Лицо, постоянно работающее с этим программным обеспечением. Умеет работать с сенсорным дисплеем, опытный пользователь. Может захотеть модифицировать интерфейс пользователя.
Нерегулярный пользователь, работал с GUI, но не знаком с какой-либо определенной функцией программного обеспечения. Нетерпелив.
Вспомогательное действующее лицо в варианте использования — это внешнее действующее лицо, предоставляющее некоторую услугу для разрабатываемой системы. Это может быть высокоскоростной принтер, служба Интернета или люди, которые должны провести для нас некоторое исследование (например, следователь по делам о насильственной или скоропостижной смерти дает страховой компании заключение о смерти клиента). Обычно мы называем их второстепенными действующими лицами, но некоторым этот термин кажется дезориентирующим. Теперь чаще используется термин вспомогательное действующее лицо.
Мы определяем вспомогательное действующее лицо, чтобы указать на внешние интерфейсы, которые будет применять система, и протоколы, лежащие в основе этих интерфейсов. Отсюда дополнительные требования: форматы данных и внешние интерфейсы (см. рис. l.l).
Действующее лицо может быть основным в одном варианте использования и вспомогательным в другом.
4.4.
Разрабатываемая система.
Разрабатываемая система сама по себе является действующим лицом —особым. Обычно мы называем ее по имени, например Acura, или просто разрабатываемой системой, SuD. Она именуется или описывается в поле Область действия проектирования варианта использования.
SuD не является основным либо вспомогательным действующее лицом ни для какого варианта использования, несмотря на то, что она — действующее лицо (см. подраздел Область действия проектирования).
4.5.
Внутренние действующие лица и варианты использования типа “прозрачный ящик".
Большую часть времени мы рассматриваем разрабатываемую систему как “черный ящик”, содержимое которого мы не можем видеть. Внутренние действующие лица намеренно не упоминаются, что вполне оправдано, когда мы применяем варианты использования, чтобы сформулировать требования к еще не разработанной системе.
Иногда нам требуется применить форму варианта использования для документирования взаимодействия частей системы (см. варианты использования 5 и 19). Мы могли бы проделать это, показывая более масштабное проектирование для мультикомпьютерной системы (см. вариант использования 8). При таких условиях компоненты системы проявляются как действующие лица.
Заглядывая внутрь системы и именуя компоненты и их поведение, мы трактуем систему как “прозрачный ящик”. Все относительно написания вариантов использования пока работает, только теперь мы обсуждаем поведение как внутренних, так и внешних действующих лиц. В варианте использования “прозрачный ящик” существует более двух действующих лиц, поскольку наряду с внешними действующими лицами раскрыты и компоненты системы.
Исключительно редко и, как правило, по ошибке варианты использования типа “прозрачный ящик” пишут как требования к поведению компьютерной системы, которую предстоит разработать.
4.6.
Упражнения.
Действующие лица и участники.
4.1.
Определите вариант использования для торгового автомата, если его владелец является основным действующим лицом.
4.2.
Вас наняли, чтобы документировать требования для нового банкомата. Определите, является ли каждый элемент следующего списка участником, основным действующим лицом, вспомогательным действующим лицом, разрабатываемой системой или вовсе не относится к действующим лицам (либо к перечисленному множеству).
Банкомат.
Клиент.
Карточка для банкомата Банк.
Передняя панель банкомата Владелец банка.
Специалист по техническому обслуживанию Принтер.
Главная банковская компьютерная система Банковский кассир Грабитель банков.
4.3.
Банкомат — компонент более сложной системы. Практически, это часть множества более сложных систем. Повторите предыдущее упражнение для одной такой охватывающей системы.
4.4.
Воображаемая компания “Персональные консультанты” выпускает новый продукт, который позволит людям анализировать инвестиционные стратегии, например вложения в пенсионные, образовательные фонды, землю и акции. Продукт, персональный консультант по финансам (PAF), поставляется на CD. Пользователь устанавливает его, а затем проигрывает различные финансовые сценарии, чтобы научиться оптимизировать свое финансовое будущее. PAF может также получать информацию о налоговых законах от различных налоговых пакетов, таких как Kiplinger Tax Cut. Компания заключает соглашение о прямом обмене информацией с компанией Kiplinger, а также соглашения с различными компаниями, оказывающими услуги в Интернете, например Vanguard или E*Trade, чтобы напрямую покупать и продавать ценные бумаги и акции через Интернет. В компании также считают, что необходима действующая в Сети версия PAF, за ее использование следует взимать плату.
Назовите и определите для PAF действующих лиц, основных действующих лиц, разрабатываемую систему и охватывающую систему (в которую PAF входит как компонент).

Популярные статьи

Свежие статьи