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