Макетирование (прототипирование)

Классический жизненный цикл

Внедрение

Интеграция и тестирование

Разработка

Проектирование

Анализ

Обследование и создание моделей деятельности организации, анализ (моделей) существующих КИС, анализ моделей и формирование требований к КИС, разработка плана создания КИС.

Концептуальное проектирование, разработка архитектуры КИС, проектирование общей модели данных, формирование требований к приложениям.

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

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

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

  1. Сопровождение

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

Одной из старейших последовательностей шагов разработки программного обеспечения (ПО) является классический жизненный цикл (Автор Уинстон Ройс, 1970).

Чаще классический жизненный цикл называют КАСКАДНОЙ или ВОДОПАДНОЙ моделью, подчеркивая, что разработка рассматривается как последовательность этапов, причем переход на следующий иерархически нижний этап происходит только после полного завершения работ на текущем этапе и возврата к пройденным этапам не предусматривается. (см. рис. ниже)

 

 
 


Рисунок - Классический жизненный цикл разработки ПО.

Приведем краткое описание основных этапов. Разработка начинается на системном уровне и проходит через

- анализ,

- проектирование,

- кодирование (реализация),

- тестирование,

- сопровождение

При этом моделируются действия стандартного инженерного цикла.

Системный анализ определяет роль каждого элемента в компьютерной системе, взаимодействие элементов друг с другом.

Анализ начинается с определения требований и назначения подмножества этих требований программному элементу.

На этом этапе начинается решение задачи планирования проекта ПО.

В ходе планирования проекта определяются:

- объем проектных работ,

- риск проектных работ,

- необходимые трудозатраты,

- формируются рабочие задачи,

- формируется план-график работ.

Анализ требований, относящийся к программному элементу, т.е. к ПО, уточняет и детализирует:

- функции ПО,

- характеристики ПО,

- интерфейс ПО.

Все определения документируются в спецификации анализа.

Проектирование создает представления:

- архитектуры ПО,

- модульной структуры ПО,

- алгоритмической структуры ПО,

- структуры данных,

- входного и выходного интерфейса (входных и выходных форм данных).

Кодирование (реализация) состоит в переводе результатов проектирования в текст на языке программирования.

Тестирование – это выполнение программы для выявления дефектов в функциях, логике и форме реализации программного продукта.

Сопровождение – это внесение изменений в эксплуатируемое ПО. Цели изменений:

- исправление ошибок,

- адаптация к изменениям внешней для ПО среды,

- усовершенствование ПО по требованию заказчика.

Сопровождение ПО состоит в повторном применении каждого из предшествующих шагов (этапов) жизненного цикла, т.е. системного анализа, анализа требований, проектирования и т. д., к существующей программе, но не разработке новой программы.

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

Достоинствами классического жизненного цикла являются:

- получение плана и временного графика по всем этапам проекта,

- упорядочение хода разработки.

К недостаткам классического жизненного цикла относятся:

- частое отклонение реальных проектов от стандартной последовательности шагов,

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

- доступность результатов проекта заказчику лишь в конце работы.

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

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

Модель может принимать одну из трех форм:

- бумажный макет или макет на основе ПК (изображает или рисует человеко – машинный диалог),

- работающий макет (выполняет некоторую часть требуемых функций),

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

Макетирование основывается на многократном повторении итераций, в

которых участвуют заказчик и разработчик.

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

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

Достоинством макетирования является обеспечение определения полных требований к ПО.

К недостаткам макетирования относятся:

- возможность принятия заказчиком макета за продукт,

- возможность принятия разработчиком макета за продукт

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