Program evolution
Все знают, что процесс написания программного обеспечения очень сложен и многообразен, что приводит обычно к большому количеству ошибок в коде и, как следствие, в работе самого приложения. Слава Зевсу, есть разноцветные карандаши и все этапы разработки можно проиллюстрировать на небольшой схеме, что поможет новичкам (т.е. мне) лучше представить сей мистический ход:

Итак, по этапам:
- Самый сложный. Проектирование общей архитектуры приложения, обычно на этом этапе рисуется только большой овал без каких-либо конечностей, дальше овал разделяется на области (классы), и устанавливаются связи между ними.
- Начало написания кода. Овал приобретает глаза и усики (взаимодействие с API операционной системы), появляются первые варианты реализации методов класса, т.е. ножки.
- Итеративный процесс разработки. Первоначальные варианты реализации методов улучшаются и видоизменяются, ножки удлиняются.
- Ножки (методы) обретают законченный вид. Если всё хорошо, то уходим на 5 шаг, в противном случае — на 3.
- Рисуем интерфейс (круги на брюхе), раскрашиваем GUI (разные цвета), добавляем поддержку шкурок. Программа
багготова!
Оригинал изображения вероятно выглядит так.