Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

СТАТЬЯ
03.04.03


Предыдущая часть

Введение в методологию разработки программного обеспечения при помощи Rational Rose

Часть 2. Требования к системе и способы использования

© Леонов И.В. , “ЭСКЕЙП”
© Статья была опубликована на сайте фирмы “ЭСКЕЙП”

Введение

Эта глава полностью посвящена методологии описания способов использования (Use Case). В литературе часто встречаются другие переводы термина Use Case - прецеденты, варианты использования и т.п. В основном мы будем использовать термин "прецедент", как наиболее часто встречающийся в русскоязычной литературе.

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

Материал в этой главе имеет следующую структуру.

Часто говорят, что одна диаграмма заменяет 100 страниц текста. Существует прямо противоположное мнение. Эта глава написана с позиций сторонников последнего подхода. Истина, как всегда, где-то посередине...

Полное изложение вопросов, которым посвящена данная глава, см. в книге Alistair Cockburn "Writing effective Use Cases", Addison Wesley

При выполнени реальных проектов для описания прецедентов вы можете воспользоваться шаблоном для Word 2000.

Шаблон описания прецедента

В этом параграфе приведен шаблон для полного и подробного описания прецедента

Прецедент <Имя прецедента. Имя имеет вид активного глагольного оборота или эквивалентного оборота с существительным и выражает основную цель действующего лица>

Главное действующее лицо <Имя роли или краткое описание действующего лица, которое играет ключевую роль во взаимодействии с системой в рамках данного прецедента>

Внешний контекст <В этом пункте цель действующего лица раскрывается чуть более полно>

Масштаб <описание границ системы: что находится вне системы, которую на этом этапе мы можем представить себе в виде "черного ящика", с чьей точки точки зрения составлено описание>

Уровень <один из трех вариантов - Обобщенный, Цель пользователя, Отдельная функция>

Заинтересованные лица <список всех заинтересованных лиц и обзор их ключевых интересов, которые должны быть соблюдены при работе системы>

Исходные условия <Состояние мира (системы и ее окружения), которое всегда имеет место перед выполнением прецедента>

Минимальный результат <Какие цели будут достигнуты в наихудшем варианте из возможных>

Результат успешного завершения <Какие цели будут достигнуты, если работа пройдет без малейших отклонений>

Триггер <Событие, при возникновении которого стартует наш прецедент>

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

Формат описания <Шаг #> <Описание выполняемого действия>

Расширения <Описание возможных отклонений, если на том или ином шаге основного успешного сценария возникают проблемы>

Формат описания <Шаг # Отклонение # ...> <Описание выполняемого действия>

Варианты изменения технологий и данных <Описание возможных отклонений, которые при которых может меняться набор шагов основного успешного сценария и т.п.>

Формат описания.

< Отклонение #><Необходимые изменения>.
< Отклонение #><Необходимые изменения>.

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

При выполнени реальных проектов для описания прецедентов вы можете воспользоваться шаблоном для Word 2000.

Прецедент - это документ, описывающий поведение системы

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

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

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

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

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

Полный шаблон описания требований для большого проекта может иметь следующий вид.

Глава 1. Цель и масштаб
1a. Цель проекта?
1b. Заинтересованные лица
1c. Что входит в систему, что выходит за ее рамки?

Глава 2. Используемые термины (Глоссарий)

Глава 3. Прецеденты
2a. Основные действующие лица и их главные цели
2b. Бизнес-прецеденты
2c. Прецеденты-системы

Глава 4. Используемые технологии
4a. Требования к технологиям, которые будут использоваться в разрабатываемой системе?
4b. Будут ли другие системы взаимодействовать с разрабатываемой? Требования к форматам и протоколам взаимодействия?

Глава 5. Другие требования, непосредственно касающиееся проекта
5a. Организация процесса разработки
Q1. Кто является непосредственным участником проекта?
Q2. Сроки.
Q3. Желательный уровень обратной связи с заказчиком на разных этапах проекта.
Q4. Что нужно приобрести, что нужно разработать самостоятельно?
Q5. Обзор конкурирующих систем.
Q6. Требования к тестированию и к процедуре развертывания системы у заказчика.
5b. Бизнес-правила
5c. Производительность
5d. Организация операций, безопасность, требования к документации
5e. Простота обучения и использования
5f. Переносимость и администрирование
5g. Вопросы, решение которых неизвестно на данный момент, и возможности, которые будут реализованы в следующей версии

Глава 6. Организационные вопросы: взаимодействие с руководством заказчика, политические, законодательные, человеческий фактор.
Q1. Требования к квалификации персонала.
Q2. Законодательные требования, вопросы взаимодействия с властями.
Q3. Возможные влияния человеческого фактора на успех/неудачу проекта.
Q4. Требования к обучению персонала.
Q5. Прочие организационные вопросы.

Для пользователей Rational Unified Process стоит напомнить о существовании документа Общее описание исходной проблемы и основных требований заказчика (Vision). Приведенный выше шаблон и шаблон описания исходной проблемы во многом очень близки друг к другу. В RUP есть хорошие примеры для Vision-шаблона, поэтому мы рекомендуем использовать шаблон RUP, расширив его при необходимости.

Масштаб

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

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

Для границ прецедента можно выделить три варианта: предприятие в целом, система, отдельная подсистема. Более тонкой детализации в разделе "масштаб" обычно не требуется.

Замечание 1.
Полезно использовать графические иконки для обозначения масштаба.

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

Дополнительная информация

За дополнительной информацией обращайтесь в компанию Interface Ltd.

Обсудить на форуме Rational Software

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
Ваши замечания и предложения отправляйте редактору
По техническим вопросам обращайтесь к вебмастеру
Дата публикации: 03.04.03