Основные принципы проектирования макета системы
Для преодоления перечисленных выше трудностей предлагается уже на первом этапе создания МАКЕТА использовать следующие методические достижения современной мировой практики проектирования сложных систем:
1. Технологию так называемого “прототипирования”, заключающуюся в подходе к реализации системы, как серии удачных приближений к конечной цели (прототипов) а не как к единой, монолитной системе.
2. Использование современных инструментальных средств и технологий искусственного интеллекта для быстрой разработки приложений и придания приложениям свойств принципиальной открытости, настраиваемости на заданные требования и развиваемости в процессе эксплуатации.
Прием, именуемый прототипированием, хорошо известен специалистам по бизнес-приложениям. Если попытаться дать ему определение, прототипирование или разработка прообраза, - это создание некоторого работоспособного эскиза (макета) предлагаемой заказчику системы.
Под прототипом обычно понимают набор программ, моделирующих (изображающих, эмулирующих) работу готовой системы. Можно сказать, что прототип - это как бы "ожившее" техническое задание. Цель прототипирования -- более ясно представить себе будущую систему, предугадать ее недостатки на этапе проектирования, внести необходимые коррективы в техническое задание и технический проект, если он уже готов.
В основе такого эскиза лежит работающая совокупность программ (программная конфигурация), которая может быть, при необходимости, дополнена базой данных пользователя (в чисто условном, либо в усеченном, либо даже в полном рабочем варианте).
Прототипирование это не панацея, но способ избежать многих дорогих ошибок, снизить риски.
Развитый прототип может также включать в себя некоторые элементы технологического процессаобработки данных в системе с участием нескольких пользователей. Разработка прототипа, если речь идет о тиражном приложении, может содержать элементы:
· как параметрической кастомизации (т.е. адаптации - установки настроек приложения),
· так и алгоритмической (дополнение программного кода, если приложение содержит средства его разработки).
Традиционно, прототипирование с немалым успехом применялось и применяется в предпродажной работе. Изучая методику продаж фирмы Hyperion Software – пионера в создании OLAP-систем для финансового анализа, систем бюджетирования и финансовой консолидации, необходимо обратить внимание на то, что Hyperion выработала очень развитую технологию прототипирования, включавшую
· подробноразработанные сценарии обследования,
· сценарии формирования базы данных прототипа,
· сценарии кастомизации приложения
· и сценарии презентации результатов.
Общий сценарий предполагал пошагово, по часам расписанную неделю работы у предполагаемого заказчика. По данным Hyperion эффективность метода была очень высокой, - порядка 80% компаний из числа тех, кто согласился участвовать в этой процедуре, затем программы покупали, несмотря на немалые их цены. Вообще, этот метод очень хорошо работал именно при продажах аналитических и бюджетных систем – отчасти потому, что эти системы
· сравнительно легко настраивались,
· не имели или почти не имели жесткой встроенной бизнес-логики,
· имели ограниченное количество весьма квалифицированных пользователей,
· часто не требовали большой базы данных для достижения интересного заказчику и наглядного для него результата.
Доводилось слышать рассказы хороших продавцов таких систем, что им после демонстрации иногда приходилось убеждать восхищенного и рвущегося в бой заказчика, что не всё настолько просто, и вряд ли ему удастся приступить к промышленному использованию программы уже завтра, - все-таки потребуется определенная подготовительная работа.
Особенностью прототипирования является уточнение требований к системе на основе опытной эксплуатации прототипов.
В процессе опытной эксплуатации прототипа
· разработчики имеют возможность непосредственно изучить последствия принятых проектных решений,
· а пользователи непосредственно оценить их результаты.
Конечно, в определенном смысле всякая версия приложения, принимаемая в опытную эксплуатацию, может быть названа прототипом; она заведомо не является окончательной, ее последующая доработка заложена в технологию, для этого заранее резервируются ресурсы.
В приведенной ниже Таблице 1 представлено описание выполняемых системой задач и функций в процессе преобразования демонстрационного прототипа в промышленную систему.
Таблица 1. Таблица перехода от прототипа к промышленной системе
Демонстрационный прототип | Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий) |
Исследовательский прототип | Система решает большинство задач, но не устойчива в работе и полностью проверена (несколько сотен правил или понятий) |
Действующий прототип | Система надежно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти |
Промышленная система | Система обеспечивает высокое качество решений при минимизации требуемого времени и памяти; переписывается с использованием более эффективных средств |
Коммерческая система | Промышленная система, пригодная к продаже, т.е. хорошо документирована и снабжена сервисом |