Модель жизненного цикла программного изделия
Многолетний мировой опыт разработки средств программного обеспечения ЭВМ позволил выделить несколько общепринятых моделей (парадигм) создания сложных программных систем. Эти модели предназначены для установления четкой регламентации этапов и содержания работ на каждом этапе, методов и процедур выполнения самих работ, состава и содержания разрабатываемой документации. Четко определенные модели позволяют существенно повысить эффективность процесса разработки сложных программных комплексов, оптимально организовать управление разработкой, планирование и контроль за сроками выполнения отдельных этапов, правильно распределить работы в коллективе разработчиков. В результате удается заметно снизить затраты на разработку программного изделия и повысить качество продукта.
Одна из наиболее распространенных моделей — модель жизненного цикла программного изделия. В различных литературных источниках состав фаз (этапов) ЖЦПИ несколько отличается, хотя общая последовательность и содержание основных работ сохраняет основную схему: анализ и выработка требований — проектирование — программирование — тестирование и отладка — эксплуатация и сопровождение (см. рис. 2). Эта модель ЖЦПИ получила также название "Водопад", или каскадная модель.
В дальнейшем целесообразно ориентироваться на наиболее современный подход, представленный в стандартах на разработку программного обеспечения. Модель ЖЦПИ применима как для разработки программ для индивидуального использования, так и для сложных программных изделий промышленного и коммерческого назначения.
Требования пользователя
Требования к программному изделию
Архитектурное проектирование
Детальное проектирование
Передача в эксплуатацию
Эксплуатация, сопровождение
Рис. 2. Модель жизненного цикла программного изделия
На практике выполнение работ по такой жесткой схеме можно реализовать только для довольно простых программных продуктов, требования пользователя к которым можно с самого начала сформулировать в полном объеме.
В общем случае процесс разработки является итеративным, что показано на рисунке пунктирными линиями. На каждой фазе жизненного цикла могут вноситься изменения в принятые решения, что приводит к необходимости возвращения к предыдущим этапам.
Модель ЖЦПИ содержит шесть фаз разработки, для которых в стандартах определены содержание работ, виды деятельности, входные и выходные документы:
1. Определение требований пользователя.
2. Определение требований к программному обеспечению.
3. Архитектурное проектирование.
4. Детальное проектирование и программирование.
5. Передача программного изделия в эксплуатацию.
6. Эксплуатация и сопровождение.
Разработка программного изделия здесь предполагает выполнение четко определенных работ. Результаты оформляются в виде соответствующих документов и материалов, которые должны быть рассмотрены и одобрены до передачи на следующую фазу. Таким образом, важнейшим видом деятельности на всех этапах жизненного цикла является критический и всесторонний обзор и оценка материалов, подготовленных на соответствующей фазе ЖЦПИ. Одобрение этих материалов определяет момент окончания одной фазы и момент начала следующей фазы.
В соответствии со структурой ЖЦПИ при планировании работ и при контроле за сроками их выполнения имеется, по крайней мере, шесть событий, которые характеризуют переход к следующей фазе:
1. Рассмотрение и одобрение требований пользователя.
2. Рассмотрение и одобрение требований к программному изделию.
3. Рассмотрение и одобрение архитектурного проекта программного изделия.
4. Рассмотрение и одобрение детального проекта программного изделия, руководства пользователя, программ и утверждение акта о готовности их к приемному тестированию.
5. Утверждение акта о предварительной приемке программного изделия, рассмотрение и одобрение документа о передаче программного изделия в эксплуатацию.
6. Утверждение акта об окончательной приемке и передаче в эксплуатацию программного изделия и принятие документа о результатах всех работ по созданию программного изделия.