Данный подход до сих пор используется при создании крупномасштабных сложных систем, которые требуют четкого предварительного анализа, точных спецификаций и контроля всего процесса разработки и внедрения. Однако методика жизненного цикла сопряжена с большими затратами, требует больших временных затрат и не отличается гибкостью. Приходится создавать множество новых документов, а многие процессы повторяются заново до тех пор, пока система не будет удовлетворять всем условиям. Из-за этого большинство разработчиков стараются не вносить изменений в спецификации, созданные в самом начале процесса проектирования, чтобы не начинать все сначала. Данный подход неприменим для небольших настольных систем, которые по своей природе более индивидуализированы, т. е. «настроены» на определенного пользователя.
Создание прототипа заключается в разработке экспериментальной системы, которую могут оценить пользователи и которая не требует больших затрат. Поработав с такой «демонстрационной версией», пользователи смогут лучше определить собственные информационные потребности. Прототип, одобренный пользователями, может служить шаблоном для создания полнофункциональной системы.
Прототип — это работоспособная версия информационной системы или ее части, однако это,це просто предварительная модель. После первого запуска прототип подвергается изменениям и совершенствуется до тех пор, пока он не будет отвечать всем пользовательским запросам. После того как прототип принимает законченный вид, он может быть конвертирован в рабочую систему.
Процесс создания прототипа, его тестирования, усовершенствования и повторного тестирования называется итеративным процессом разработки системы, поскольку отдельные его этапы многократно повторяются. Создание прототипа — гораздо более итеративный процесс, чем методика жизненного цикла системы, при ее использовании система подвергается более значительным изменениям. Как уже упоминалось, при использовании прототипа внеплановые работы по модификации системы заменяются запланированными итерациями, при этом каждая версия все более полно отражает пользовательские предпочтения.
На рис. 4 изображен процесс создания прототипа, состоящий из четырех следующих этапов (шагов).
Данный процесс можно разбить на четыре этапа. Поскольку разработка модели не требует серьезных затрат, проектировщики используют несколько итераций, повторяя шаги 3 и 4 совершенствуя прототип
Шаг 1. Определение основных пользовательских требований. Проектировщик системы (как правило, в его роли выступает специалист по информационным системам) работает совместно с пользователем до тех пор, пока не уяснит потребности последнего.
Шаг 2. Разработка начального прототипа. Проектировщик быстро создает рабочую модель, используя программное обеспечение нового поколения, мультимедийные программы или системы автоматизированного проектирования.
Шаг 3. Работа с прототипом. Пользователь оценивает работу системы и дает рекомендации по ее улучшению.
Шаг 4. Исправление и совершенствование прототипа. Проектировщик реализует на практике все пожелания пользователей. После внесения изменений и исправления ошибок процесс возвращается к шагу 3. Шаги 3 и 4 повторяются до тех пор, пока пользователь не будет полностью удовлетворен.
Когда итерации прекращаются, модель становится «рабочим прототипом», на основе которого составляются окончательные спецификации системы. Иногда та- Lioii прототип просто используется как рабочая версия информационной системы.
Создание прототипа наиболее целесообразно в том случае, когда неясны требования пользователей или не выработано четкое решение. Особенно эта методика полезна при разработке пользовательских интерфейсов информационных систем. Благодаря вовлечению пользователей в процесс проектирования система получается более «дружелюбной» и отвечающей требованиям организации.
Но быстрое создание прототипа может создать иллюзию ненужности некоторых важных этапов разработки системы. Если завершенная модель работает нормально, руководство компании может решить, что такие процессы, как программирование, реконструкция системы и подготовка исчерпывающей документации, не играют существенной роли в создании полностью работоспособной системы. Некоторые из систем, созданные в такие сжатые сроки, не могут оперировать большими объемами данных или же не в состоянии поддерживать много пользователей одновременно. Процесс создания прототипа может также сильно замедлиться, если в нем участвуют слишком много пользователей (Hardgrove, Wilson, and Eastman, 1999).