Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
434
Добавлен:
04.06.2015
Размер:
2.33 Mб
Скачать
      1. Быстрое прототипирование

Быстрое прототипирование – это частичная реализация системы программного обеспечения, созданная с целью помочь разработчикам, пользователям и клиентам лучше понять требования к системе.

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

Таблица 3.18

Выгода от прототипа: грубая оценка

Предполагаемая ценность прототипа

Низкая

Высокая

Низкая стоимость прототипа

Возможно

Да

Высокая стоимость прототипа

Нет

Возможно

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

Существует много способов разбиения прототипов на категории. Например, Дэвис (Davis, 1995) в своей работе выделял следующие прототипы: отбрасываемые, эволюционирующие и операционные; вертикальные и горизонтальные; пользовательские интерфейсы и алгоритмические; и т.д. Каким должен быть прототип в каждом конкретном случае, зависит от того, какую проблему вы пытаетесь решить путем построения прототипа.

Как пример представьте себе приложение для электронной коммерции, в котором компания-производитель одежды желает продавать товары через Интернет, хранить информацию о клиентах и предоставлять клиентам возможность получать свое фото в одежде из каталога. Финансовая оценка для разных уровней прототипирования для программы, продающей одежду, приведена в таблице 4.4. Для каждой из четырех характеристик, рассмотренных в прототипе, сделано несколько оценок: стоимость работы; процент работы, который будет повторно использоваться в самой программе (то есть не будет отброшен); и полная прибыль от прототипа. Под полной прибылью здесь понимается оценка того, что будет получено, если характеристика будет включена в прототип, но код не будет использован в программе. Например, мы подсчитали, что если прототип «примерка одежды» будет построен, это сэкономит минимум 20 000 при разработке. Оценка базируется на нижеследующих факторах.

  • Предотвращение пустой траты времени на предложенные требования, которые, как видно из прототипа, не нужны (то есть минимум три ненужных требования из 100; на этап требований выделено 300 000, сэкономлено 9000).

  • Разработка программного проекта «примерка одежды», что уменьшает риски разработки (то есть оценка того, что это сэкономит минимум одну человека-неделю времени проектирования = 2000).

  • Переработка, которая может возникнуть из-за изменения требований клиентом после того, как он увидит окончательный продукт (то есть переработка минимум трех требований по 3000 каждое = 9000).

Существует минимальная экономия, эквивалентная 9000 + 2000 + 9000 = 20 000.

Рис. 3.51. Выгода от прототипа

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

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

Как только оценки сделаны, выполняется несложная часть вычисления лучшего и худшего сценария (Таблица 3 .19). Минимальное значение выгоды получается из самой пессимистичной комбинации – высоких затрат, низкой общей прибыли, и низкого процента повторного использования. Максимальная выгода рассчитывается аналогично.

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

Таблица 3.19

Оценка программы по продаже одежды

Часть прототипа

Оценка стоимости

Общая прибыль без повторного использования кода

Процентная часть кода прототипа, повторно использованная в приложении

Чистая выгода

Мин.

Макс.

Мин.

Макс.

В среднем

В

D

Е

С

D-(1-C)B

Е-(1-С)В

  1. Экранные снимки пользовательского интерфейса

10 000

10 000

80 000

50%

5 000

75 000

40 000

  1. Безопасность транзакций

50 000

10 000

300 000

80%

0

290 000

145 000

  1. Завершение транзакций

80 000

10 000

400 000

50%

-30 000

200 000

85 000

  1. Примерка одежды клиентом

120000

20 000

140 000

30%

-64 000

56 000

-4 000

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]