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

Введение

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

Роли

В RUP предусмотрен ряд ролей, отвечающих за вопросы удобства работы. Системный аналитик и Ответственный за спецификацию требований должны уметь собирать информацию о пользователях, их задачах и среде, анализировать ее и отражать все это в требованиях. Эти материалы проверяет Ответственный за проверку требований. Роли Тестировщик и Аналитик тестирования отвечают за тестирование удобства работы. Проектировщик пользовательского интерфейса отвечает за разработку и оформление пользовательского интерфейса. Ответственный за реализацию отбирает или разрабатывает компоненты пользовательского интерфейса для создания рабочего пользовательского интерфейса.

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

Дисциплины

Далее описаны дисциплины RUP в отношении видов деятельности и артефактов, наиболее важных для удобства работы.

Требования

В том, что касается удобства работы, дисциплина требований акцентирует следующее:

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

В таблице приведены конкретные виды деятельности и артефакты.

Вид деятельности Артефакт Связь с удобством работы
Уточнение запросов заинтересованных лиц Запросы заинтересованных лиц

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

Шаблон артефакта: в ходе уточнения запросов заинтересованных лиц определяется целевая аудитория пользователей, включая данные об образовании, компьютерной грамотности, навыках, рабочей среде, ожиданиях, целях и пр. Также формулируются вопросы и приоритеты с точки зрения пользователей. Запросы заинтересованных лиц составляют исходный материал для написания документа Видение.

Разработка видения Видение

В шаблоне Видение раздел Среда пользователей описывает рабочую среду пользователей, о которой документы ISO говорят как о контексте среды [ISO 13407].

В разделе Аудитория пользователей шаблона Видение описаны квалификация пользователей, подготовленность, обязанности, критерии успеха, конечные продукты и т.д. Документы ISO называют это контекстом пользователей [ISO 13407].

Поиск субъектов и вариантов использования, Структуризация модели варианта использования, Подробное описание варианта использования Модель прецедентов

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

Совещания позволяют наилучшим образом вовлечь в процесс пользователей. См. Совещание по варианту использования

 

Субъекты

Особенности действующих лиц, или субъектов, отражены в их атрибутах. В их число входят:

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

Варианты использования

Могут включать основные варианты использования, описанные в [CON99] (см. Концепция: проектирование с учетом потребностей пользователей, где описаны варианты использования). Особые требования по удобству работы могут быть также отражены в спецификации варианта использования.
Подробное описание требований к программному обеспечению

Вспомогательные спецификации

В вспомогательных спецификациях отражаются требования, не описанные в вариантах использования. В их число могут входить требования по обеспечению готовности или производительности, связанные с удобством работы. Здесь также указываются общие требования по удобству работы для многих вариантов использования, а также законодательные требования и стандарты (см. Концепция: проектирование с учетом потребностей пользователей).
Управление зависимостями Атрибуты требований Вместе с указанием требований по удобству работы следует также фиксировать их важность или значимость. При этом необходимо консультироваться с пользователями и заинтересованными лицами. В данном артефакте могут также отражаться и прочие атрибуты, такие как частота варианта использования.
Обзор требований Изменение запроса При разработке с учетом потребностей пользователей рекомендуется как можно больше сверять все требования с самими пользователями.
Формализация общей терминологии Глоссарий Содержит общие термины в профессиональной области для облегчения взаимопонимания пользователей и коллектива разработчиков.

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

  • Диаграммы привязок [HOL96, BEY98] - это методика, в которой вся информация о пользователях и задачах сохраняется в прикрепленных заметках. Аналитики и пользователи работают вместе, чтобы выделить группы сходных заметок, или "привязки". В ходе этого можно развить общее понимание вопросов, их относительной значимости и взаимосвязей.
  • Сортировка карточек [CON99] - это схожая деятельность, в которой выделяются группы карточек. Карточки можно отсортировать по важности, частоте и пр.
  • Моделирование структуры задач [MAY99, CON99] предполагает анализ текущих задач, выполняемых пользователями, и их структурирование. В этой структуре можно увидеть, как сами пользователи понимают организацию своих задач.

Анализ и проектирование

Виды деятельности в этой дисциплине позволяют спроектировать и сформировать пользовательский интерфейс. Они включают следующее:

Деятельность

Артефакт

Связь с удобством работы

Проектирование пользовательского интерфейса

Раскадровка

Карта навигации

В ходе этой деятельности создается так называемый эскизный проект [FER01]. Это начальный набросок пользовательского интерфейса, включая основные окна и ссылки навигации, доступные пользователю. Этот вид деятельности сосредоточивается на вариантах использования, которые позволяют спроектировать пользовательский интерфейс.

Карты навигации (см. [CON99] ) дают схему путей перехода между активными областями (окна, меню, диалоги).

Прототип пользовательского интерфейса Прототип пользовательского интерфейса

Можно использовать три вида прототипов:

Наброски (на бумаге)
Изображения (в графическом редакторе)
Макеты (интерактивные программы)
В большинстве проектов рекомендуется использовать все три вида, в указанном порядке.

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


В проектировании пользовательского интерфейса могут быть полезны следующие методики:

  • Уже описанная ранее сортировка карточек [CON99] также может быть полезна при проектировании пользовательского интерфейса. Каждый пункт меню или элемент содержимого представляется карточкой, и пользователи упорядочивают карточки в логические категории.

Помимо уже упомянутых, в проектирование пользовательского интерфейса вносят свой вклад следующие виды деятельности:

Деятельность

Артефакт

Связь с удобством работы

Анализ вариантов использования Класс анализа
Реализация варианта использования

Также обратитесь к разделам:

Проектирование классов

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

Также обратитесь к следующим рекомендациям:

Рекомендация: создание Web-приложений с помощью UML


Реализация

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

Тестирование

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

Развертывание

Пользователи должны активно участвовать в бета-тестировании продукта и в окончательном тестировании удобства работы в ходе приемосдаточного тестирования.

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

Управление проектами

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

Среда

Дисциплина среды включает определение процесса разработки, которого должны придерживаться проект или организация. Задача: создать вариант разработки (Рабочий продукт: вариант разработки) определяет, какие методики должны применяться для проектирования удобства работы и как артефакты и виды деятельности RUP должны отвечать этим методикам.

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

Итерационная разработка и этапы

Жизненный цикл программного обеспечения в Rational Unified Process (RUP) состоит из четырех последовательных этапов, в конце каждого из которых находится большая веха. Таким образом, каждый этап представляет собой промежуток времени между двумя большими вехами. В конце каждого этапа выполняется проверка того, были ли достигнуты цели, которые были поставлены для данного этапа (Задача: обзор вех жизненного цикла).  Если будет получен положительный ответ, начинается выполнение следующего этапа проекта.

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

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

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

Начальный этап

Основные цели начального этапа (см. Начальный этап):

  • Определение содержания проекта и граничных условий, включая видение, критерии приемки и разграничение того, что должно входить в продукт, а что - нет.
  • Выделение наиболее важных вариантов использования, главных аспектов, определяющих проектные решения.

С точки зрения удобства работы это означает определение видов деятельности, относящихся к требованиям и бизнес-модели:

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

На начальном этапе также часто проверяются проектные концепции и "прикидочные" прототипы. Это особенно важно, когда основные риски проекта связаны с удобством работы и пользовательским интерфейсом. Тестирование удобства работы, включая связанное с удобством работы Тестирование производительности, должно начинаться как можно раньше, как только есть наброски или рабочие прототипы пользовательского интерфейса.

Уточнение

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

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

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

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

Построение

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

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

Внедрение

На этапе внедрения основной акцент перемещается на дисциплину развертывания. Если разработка ведется с учетом потребностей пользователей, то подключение пользователей только на стадии внедрения было бы запоздавшим. В любом случае, пользователи будут участвовать на этом этапе, давая отзывы о системе. Если пользователи участвовали в разработке на всех этапах, формальное бета-тестирование и приемка будут простыми или даже лишними. Их заменяет обратная связь с пользователями и их отзывы на всех этапах разработки.

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

На этапе внедрения пользователям передается конечный продукт. Рекомендуется запланировать хотя бы две итерации этого этапа, чтобы устранить неполадки, найденные в выпуске продукта, и учесть замечания пользователей.