Жизненный цикл программного обеспечения состоит из 9 этапов.
Модульность — свойство программ, состоящих из слабо связанных и узко специализированных модулей.
Диагностическое утверждение — формальное высказывание, описывающее конкретные условия, что должны выполняться в определённой точки программы.
Понятие — «модульность» — относится к этапу — «разработка».
Понятие — «диагностическое утверждение» — относится к этапу — «верификация».
Этап — «производство» — подразумевает внедрение программного продукта на устройства пользователей, его распространение и инсталляция.
Этап — «тестирование» — подразумевает выявление и исправление логических ошибок.
Инвариант — условие, которое всегда должно быть истинным в конкретной точке алгоритма.
Алгоритм — пошаговое описание метода решения задачи за конечный отрезок времени.
Инвариант цикла — условие, что должно выполняться до и после каждого выполнения цикла, являющегося частью алгоритма.