Обобщенный жизненный цикл можно
представить в виде следующей последовательности этапов, которые, в свою очередь,
можно также разбить на стадии:
планирование разработки;
определение требований к системе;
2.1
выработка требований;
2.2
анализ требований;
проектирование системы;
3.1
проектирование архитектуры системы;
3.2
детальное проектирование компонент системы, в т.ч. для программного
обеспечения;
3.2.1
общее проектирование программного обеспечения;
3.2.2
проектирование отдельных программных компонент;
реализация и тестирование системы;
4.1
создание отдельных компонент системы, в т.ч. для программного
обеспечения;
4.1.1
создание отдельных программных модулей;
4.1.2
тестирование отдельных программных модулей;
4.2
тестирование компонент системы, в т.ч. программного обеспечения как
единого компонента системы;
4.3
интегрирование отдельных компонент в систему;
выпуск системы;
эксплуатация системы;
завершение разработки.
Можно заметить, что в данном жизненном цикле основное внимание уделялось именно
программному обеспечению, входящему в состав программной системы, но нельзя
забывать, что и остальные компоненты тоже должны проектироваться и
реализовываться.
Следует обратить внимание, что разбиение жизненного цикла на этапы иногда
способствует затушевыванию некоторых важных аспектов создания программного
обеспечения; особенно это проявляется по отношению к такому необходимому
процессу, как итерационная реализация различных этапов жизненного цикла с целью
исправления ошибок, изменения решений, которые оказались неправильными, или
учета изменений в общих требованиях, предъявляемых к системе.