Опубликован: 18.06.2007 | Уровень: для всех | Доступ: платный
Лекция 10:

Расширенный анализ требований. Иллюстрированные сценарии и прототипы

< Лекция 9 || Лекция 10: 123 || Лекция 11 >

Классификация прототипов

Вслед за К. Вигерсом [10.2] рассмотрим следующие классификации прототипов:

  • горизонтальные и вертикальные;
  • одноразовые и эволюционные;
  • бумажные и электронные, раскадровки1Понятие раскадровки [3] отсутствует в классификации Вигерса, но хорошо ее дополняет..

Горизонтальный прототип

Горизонтальный или поведенческий прототип (horizontal prototype, behavioral prototype) моделирует интерфейс пользователя приложения, не затрагивая логику обработки и базу данных.

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

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

Вертикальный прототип

Вертикальный или структурный прототип (vertical prototype, structural prototype) не ограничивается интерфейсом пользователя. Он реализует вертикальный "срез" системы, затрагивая все уровни ее реализации. При создании такого рода прототипов рекомендуется использовать те языки и среды реализации, что и при изготовлении целевой системы (что, вообще говоря, совсем не обязательно для горизонтальных прототипов).

Основные цели применения такого рода прототипов - анализ применимости, проверка архитектурных концепций.

Одноразовый прототип

Одноразовый или исследовательский прототип (throwaway prototype, exploratory prototype) создается, когда нужно быстро промакетировать те или иные аспекты и компоненты системы.

Целям создания исследовательских прототипов служит технология RAD (rapid application development) - быстрая разработка приложений , см. "Выявление требований" .

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

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

К. Вигерс приводит следующую схему перехода от одноразового прототипа к детально проработанному UI:

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

Эволюционный прототип

Эволюционный прототип (evolutionary prototype) создается, как первое приближение системы, призванное стать впоследствии самой системой.

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

В таблице приведено соотношение между рассмотренными выше 4 видами прототипов [10.2].

Таблица 10.1.
Одноразовые Эволюционные
Горизонтальные
  • Прояснение и уточнение примеров использования и функциональных требований
  • Выявление пропущенных требований
  • Исследование возможных вариантов интерфейса пользователя
  • Реализация базовых вариантов использования
  • Реализация дополнительных вариантов использования по приоритетам
  • Реализация и доработка web-сайтов
  • Адаптация системы к быстро меняющимся требованиям бизнеса
Вертикальные
  • Демонстрация технической осуществимости
  • Реализация и наращивание ключевой клиент-серверной функциональности и уровней коммуникации
  • Реализация и оптимизация основных алгоритмов
  • Тестирование и настройка производительности

Бумажный прототип

Бумажный прототип (paper prototype) - отличная альтернатива рассмотренным выше разновидностям электронных прототипов в случае, когда Разработчик ограничен в ресурсах. Наброски интерфейсов на бумаге, конечно, не заменят интерфейс, созданный в среде разработки. Однако, при всех недостатках, у таких прототипов есть два существенных достоинства.

  1. Заказчик не станет акцентировать внимание на цветовом решении, форме кнопок и т.п., отвлекаясь от анализа функциональности.
  2. Заказчик никогда не скажет, глядя на бумажный интерфейс: "Да вы, я вижу, уже создали систему на 85%! Давайте закончим ее в течении недели".

Раскадровка

Решением промежуточного между электронным и бумажным вариантами прототипов UI класса являются презентации, изготовленные при помощи средств электронного офиса (например, комбинации Microsoft Visio и Microsoft PowerPoint). В этом случае пользователь лишен свободы выбора, предоставляемой ему поведенческим прототипом. Но идею пошаговой смены экранов в процессе реализации сценария варианта использования вполне можно реализовать. Данный вид решения определяется в [10.3], как пассивная раскадровка. Активная раскадровка является дальнейшим развитием понятия пассивной раскадровки, с применением средств анимации и т.п. Третий вид раскадровки, вводимый в [10.3] - интерактивная представляет собой электронный одноразовый горизонтальный прототип.

< Лекция 9 || Лекция 10: 123 || Лекция 11 >
Оксана Швецова
Оксана Швецова
Как оплатить обучение?
Ринат Гатауллин
Ринат Гатауллин
Получение диплома о переподготовке
Александр Санчиров
Александр Санчиров
Россия, Москва
Александр Климов
Александр Климов
Россия, Московское высшее техническое училище им. Н. Э. Баумана, 1989