- •Важнейшим моментом в процессе проектирования является управление требованиями.
- •Цель управления требованиями состоит в том, чтобы гарантировать что организация документирует, проверяет и
- •Обычно под заинтересованным лицом (stakeholder) понимают личность, на которую оказывает влияние разрабатываемая система.
- •Принято называть заинтересованным лицом любого, кто имеет отношение к системе (как в процессе
- •Пирамида Требований
- •ПОТРЕБНОСТИ ЗАИНТЕРЕСОВАННОГО ЛИЦА
- •Какой будет степень детализации требований на каждом уровне, зависит от
- •Трассировка – это способ представления отношений между требованиями различного уровня в системе. Она
- •Трассировка играет несколько важных ролей:
- •Требование должно удовлетворять нескольким критериям для того, чтобы считаться «хорошим требованием» оно должно
- •Должен существовать только один путь интерпретации требования. Иногда двусмысленность проявляется в виде неопределенных
- •Тестеры должны иметь возможность проверить, было ли требование реализовано корректно. Тестирование должно быть
- •Требования не должны содержать ненужных выражений или информации. Они должны быть изложены кратко
- •Требования должны быть грамматически правильные, написаны в соответствующем стиле. Должны быть использованы стандартные
- •Требование должно содержать отдельный трассируемый элемент (для которого возможно отслеживание связи):
- •Требования не должны содержать ненужной информации о дизайне и реализации системы:
- •Каждое требование должно быть обозначено только один раз, и не должно перекрываться другим
- •Самое простое описание процесса управления требованиями содержит следующие основные пункты:
- •Управление требованиями – это интерактивный процесс. На типичной итерации предполагается полное прохождение по
- •Одна из самых первых задач в проекте – это разработка Плана Управления Требованиями
- •Если часть проекта разрабатывается сторонними исполнителями, какие требования и документы будут использоваться как
- •Наилучшая форма описания функциональных требований – это сценарии использования (use cases). Они извлекаются
- •Дополнительная Спецификация
- •План Управления Требованиями (Requirements Management Plan - RMP).
- •Сбор Требований
- •Дополнительная Спецификация
- •IBM Rational RequisitePro - это инструмент, который способствует процессу управления требованиями. Он позволяет
Важнейшим моментом в процессе проектирования является управление требованиями.
Управление требованиями к программному обеспечению (software requirements management) — процесс, включающий идентификацию, выявление, документирование, анализ, отслеживание, достижение соглашения по требованиям и затем управление изменениями и уведомление соответствующих заинтересованных лиц. Управление требованиями — непрерывный процесс на протяжении всего проекта разработки программного обеспечения.
Цель управления требованиями состоит в том, чтобы гарантировать что организация документирует, проверяет и удовлетворяет потребности и ожидания её клиентов и внутренних или внешних заинтересованных лиц.
Требование определяется как «условие или особенность, которой должна удовлетворять система». Требованием может быть:
Функциональность, необходимая заказчику или пользователю для разрешения проблем (или получения прибыли).
Функциональность, которая должна быть реализована в системе в соответствии с контрактом, стандартом, спецификацией, инструкцией или другим официальным документом.
Ограничение, наложенное заинтересованным лицом. |
2 |
|
Цель управления требованиями состоит в том, чтобы гарантировать что организация документирует, проверяет и удовлетворяет потребности и ожидания её клиентов и внутренних или внешних заинтересованных лиц.
Управление требованиями начинается с выявления и анализа целей и ограничений клиента. Управление требованиями далее включает поддержку требований, интеграцию требований и организацию работы с требованиями и сопутствующей информацией, поставляющейся вместе с требованиями.
Установленная таким образом отслеживаемость требований используется для того, чтобы уведомлять заинтересованных участников об их выполнении, с точки зрения их соответствия, законченности, охвата и последовательности. Отслеживаемость также поддерживает управление изменениями как часть управления требованиями, так как она способствует пониманию того, как изменения воздействуют на требования или связанные с ними элементы и облегчает внесение этих изменений.
Отслеживаемость требования -документирование всего жизненного цикла требования.
3
Обычно под заинтересованным лицом (stakeholder) понимают личность, на которую оказывает влияние разрабатываемая система.
Два главных типа заинтересованных лиц – это пользователи и
заказчики.
Пользователи – это лица, которые будут пользоваться системой. Заказчики – лица, кто заказывает систему и отвечает в дальнейшем за
приемку системы.
Обычно заказчики платят за разработку системы. Важно понимать различие между этими двумя группами
заинтересованных лиц, потому что иногда требования этих двух групп конфликтуют между собой. В большинстве таких конфликтов, запросы заказчика имеют преимущество над запросами пользователя. Например, в проекте веб-сайта агентства путешествий, заказчик – владелец агентства путешествий, а пользователи – люди, кто будет пользоваться этим веб- сайтом через Интернет.
Кроме заказчиков и пользователей, могут быть многие другие типы заинтересованных лиц.
4
Принято называть заинтересованным лицом любого, кто имеет отношение к системе (как в процессе разработки, так и после его завершения), а также любого, у кого могут быть какие-либо требования к системе.
В качестве заинтересованного лица можно рассматривать:Любого, участвующего в разработке системы (бизнес-аналитики,
дизайнеры, кодировщики, тестеры, менеджеры проектов, менеджеры по внедрению, дизайнеры сценариев использования, графические дизайнеры).
Любого, кто привносит свои знания в систему (эксперты предметной области, авторы документов, которые были использованы для сбора требований, собственники веб-сайтов, ссылки на которые были предоставлены).
Руководство (президент компании, которого представляют заказчики, директор отдела информационных технологий компании, проектирующей и разрабатывающей систему).
Лица, вовлеченные в управление, настройку и сопровождение системы (например, хостинговая компания, справочная служба).
Поставщики стандартов и регламентов.
5
Пирамида Требований
В зависимости от формата, источника и общих характеристик, требования могут быть разделены на различные типы. Несколько типов требований, наиболее часто использующихся в проектах:Потребности заинтересованного лица: требование от заинтересованного лица.
Функциональная особенность: предоставляемая системой функциональность, обычно формулируемая бизнес-аналитиком; назначение особенности – удовлетворить потребности заказчика.Сценарий Использования (Use Case): описание поведения системы в терминах последовательности действий.
Дополнительное требование: другое требование (обычно нефункциональное), которое не может быть охвачено сценариями использования.
Тестовые сценарии (Test Cases): спецификация тестовых исходных данных, условий выполнения и ожидаемых результатов.
Сценарий (Алгоритм, Scenario): особая последовательность действий; определенный путь по сценариям использования.
6
ПОТРЕБНОСТИ ЗАИНТЕРЕСОВАННОГО ЛИЦА
ФУНКЦИОНАЛЬНЫЕ
ОСОБЕННОСТИ
USE CASES (СЦЕНАРИИ ИСПОЛЬЗОВАНИЯ)
СЦЕНАРИИ
(АЛГОРИТМЫ)
ТЕСТОВЫЕ
СЦЕНАРИИ
На верхнем уровне располагаются потребности заинтересованного лица. На последующих уровнях находятся функциональные особенности, сценарии использования и дополнительные требования. Достаточно часто на разных уровнях этих требований могут быть выяснены детали различного уровня.
Чем ниже уровень, тем более детально описывается требование. Например, потребность может быть следующей: «Данные должны быть неизменными». Функциональная особенность этого требования будет: «Система должна использовать реляционную базу данных».
На уровне дополнительных требований, требование еще более точное: «Система должна использовать базу данных Oracle 9i». Чем дальше вниз, тем более детальным становится требование.
Один из лучших способов управления требованиями – обобщать
требования, по крайней мере, на двух различных уровнях. |
|
Например, документ Концепция («Vision») содержит |
|
высокоуровневые требования (особенности), а низшие уровни |
7 |
Какой будет степень детализации требований на каждом уровне, зависит от
бизнес-аналитиков.
Главное отличие между потребностями и функциональными особенностями
– в источнике требований. Потребности поступают от заинтересованных лиц, а функциональные особенности формулируются бизнес-аналитиками.
Роль тестовых сценариев – проверить, корректно ли были реализованы сценарии использования и дополнительные требования. Алгоритмы помогают получить сценарии использования из тестовых сценариев, а также способствуют проектированию и реализации определенных путей через сценарии использования.
В RequisitePro можно определить многие другие типы требований, такие как термины справочника и действующие лица. Они не являются в чистом виде требованиями, подходящими под приведенное определение требований. Но если их представить их в RequisitePro в качестве требований, то мы получим возможность отслеживать их атрибуты и трассировку (связь), используя те же механизмы, применяемые к остальным типам требований.
8
Трассировка – это способ представления отношений между требованиями различного уровня в системе. Она помогает определить источник любого требования.
Каждая потребность обычно соответствует нескольким функциональным особенностям. Обычно это отношение «многие-ко-многим», т.к. одна потребность может трассироваться ко многим функциональным особенностям, но из нескольких потребностей может быть получена одна функциональная особенность. Одна потребность, соответствующая одной функциональной особенности – это также общий случай.
Функциональные особенности соответствуют сценариям использования в отношении «многие-ко-многим». Функциональные особенности также соответствуют дополнительным требованиям в отношении «многие-ко- многим».
Каждый сценарий использования соответствует одному или более сценарию (алгоритму), таким образом, их тип отношений – «один-ко- многим». Сценарии (алгоритмы) соответствуют тестовым сценариям в отношении «один-ко-многим».
9
Трассировка играет несколько важных ролей:
Подтверждение, что реализация удовлетворяет всем требованиям: Все, что требовал заказчик, было реализовано.
Подтверждение, что приложение делает только то, что было заказано: Не реализовывать то, что заказчик никогда не просил.
Анализ воздействия: Какие элементы будут затронуты при добавлении новых требований или изменении текущих?
Помощь в управлении изменениями: Когда некоторые требования изменяются, мы хотим знать, какие тестовые сценарии должны быть изменены, чтобы протестировать данное изменение.
Элемент трассировки – это элемент проекта, который должен быть получен (трассирован) из другого элемента. В терминах RequisitePro под ним понимается все, что принадлежит какому-либо типу требований.
Примеры типов требований в RequisitePro: потребности
заинтересованных лиц, функциональные особенности, сценарии использования, действующие лица и термины справочника. В
RequisitePro есть очень удобный способ отображения трассировки (связи) с помощью специальных представлений (views).
10
Требование должно удовлетворять нескольким критериям для того, чтобы считаться «хорошим требованием» оно должно иметь следующие характеристики:
Недвусмысленность |
Правдоподобность |
Тестируемость |
(реальность, |
(возможность проверки) |
выполнимость) |
Ясность (краткость, |
Независимость |
сжатость, простота, |
Элементарность |
точность) |
|
Корректность |
Необходимость |
Понятность |
Независимость от |
Помимо этих критериев для отдельных требованийреализациидля набора требований
(абстрактность)
применяются три критерия. Требования должны быть:Постоянными.
Немногословными.Завершенными.
11