Естественно, что отдельный человек не в состоянии полностью осмыслить и построить программное обеспечение большой системы. Для управления ходом разработки больших программных систем выделяются шесть этапов, составляющих цикл разработки (цикл жизни) программного обеспечения:
1) анализ требований, предъявляемых к системе;
2) определение спецификаций;
3) проектирование;
4) кодирование;
5) тестирование:
а) автономное;
б) комплексное;
6) эксплуатация и сопровождение.
Рис. 2.1 — Распределение затрат по этапам разработки
На диаграмме (рис. 2.1) показано приблизительное распределение затрат на реализацию отдельных этапов разработки.
Рассмотрим определение каждого из этих этапов.