Жизненный цикл разработки программного обеспечения
Жизненный цикл разработки программного обеспечения (ЖЦРО) — это сквозная последовательность фаз, через которые проходит программная система, от первоначальной концепции и требований до проектирования, конструирования, тестирования, развертывания и последующего вывода из эксплуатации.
Definition
Жизненный цикл разработки программного обеспечения — это структурированная основа, которая разделяет разработку программного обеспечения на определенные фазы, каждая из которых имеет критерии входа и выхода, результаты и действия, используемые для планирования, контроля и обоснования производства и эволюции программного обеспечения.
Scope
Эта тема охватывает канонические фазы ЖЦРО: планирование, анализ требований, проектирование, реализацию, тестирование, развертывание и сопровождение; стандартные модели, которые организуют эти фазы (каскадная, V-образная, инкрементная, итеративная, спиральная); артефакты, создаваемые на каждой фазе; а также стандарты процессов жизненного цикла, такие как ISO/IEC/IEEE 12207.
Core questions
- Какие фазы составляют жизненный цикл и какие артефакты производит каждая из них?
- Как различные модели жизненного цикла организуют и итерируют эти фазы?
- Какие критерии входа и выхода регулируют переход между фазами?
- Как жизненный цикл выходит за рамки поставки, включая эксплуатацию, сопровождение и вывод из эксплуатации?
Key theories
- Фазовая структура жизненного цикла
- Разработка декомпозируется на дискретные фазы (требования, проектирование, реализация, тестирование, развертывание, сопровождение), каждая из которых имеет определенные результаты и контрольные точки, что служит основой для планирования, оценки и контроля.
- V-образная модель верификации
- V-образная модель сопоставляет каждую конструктивную фазу с соответствующей фазой тестирования (модульное, интеграционное, системное, приемочное), делая верификацию и валидацию явными аналогами спецификации и проектирования.
Clinical relevance
Хорошо определенный жизненный цикл улучшает предсказуемость, отслеживаемость и контроль качества, поддерживает оценку затрат и сроков, а также часто предписывается закупочными и регулирующими режимами, требующими поддающихся аудиту процессов разработки.
Evidence & guidelines
ISO/IEC/IEEE 12207:2017 является основным международным стандартом, определяющим процессы жизненного цикла программного обеспечения, и широко упоминается в контрактах и системах качества.
History
Понятие упорядоченного набора фаз разработки было формализовано в конце 1960-х и 1970-х годах, когда проекты стали слишком крупными для неформального конструирования; последующие модели добавили итерации и управление рисками, в то время как усилия по стандартизации привели к появлению ISO/IEC 12207 в 1990-х годах и его последующих редакций.
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- Является ли ЖЦРО тем же самым, что и каскадная модель?
- Нет. ЖЦРО — это общий набор фаз, через которые проходит программное обеспечение; каскадная модель — это один из конкретных способов последовательного упорядочивания этих фаз. Гибкие, итеративные и спиральные модели проходят одни и те же фундаментальные фазы в разном порядке и с разной периодичностью.
- Заканчивается ли жизненный цикл на этапе развертывания?
- Нет. Эксплуатация, сопровождение и последующий вывод из эксплуатации являются неотъемлемыми фазами жизненного цикла; в большинстве систем сопровождение и эволюция доминируют по общим затратам и охватывают самый длительный период жизненного цикла.