واجهة المستخدم هي الانطباع الأول عن النظام البرمجي من وجهة نظر المستخدم. ولذلك فإن أي نظام برمجي يجب أن يلبي متطلبات المستخدم. تؤدي واجهة المستخدم بشكل أساسي وظيفتين (قبول مدخلات المستخدم وعرض المخرجات)