Особенности промышленного ПО и кризис его разработки. Жизненный цикл программного продукта. Архитектурное и детальное проектирование. Определение входных, хранимых и выходных данных. Классификации интерфейса пользователя. Критерии качества тестирования.