— це складний ітеративний процес, що, як правило, складається з таких етапів: постановка задачі, аналіз задачі та побудова її моделі, вибір або розробка алгоритму розв'язання задачі, кодування, налагодження та тестування, дослідно-виробнича експлуатація і супровід програмного забезпечення.