GUI (رابط گرافیکی برای کاربر ) نوعی رابط تصویری برای برنامه است که نمونه خوب آن می تواند با فراهم کردن شکل و صورتی ثابت برای برنامه و همچنین با کنترلگرهای آشنا، مثل pushbuttons ( دکمه های فشاری ) , list boxes (جعبه های لیست ) , menus , sliders و مانند اینها استفاده از برنامه را آسان تر کند.
رابط گرافیکی باید رفتاری قابل فهم و پیش بینی داشته باشد، بدین معنی که کاربر بداند در ازای انجام عملی خاص، چه اتفاقی خواهد افتاد . برای مثال، هنگامی که ماوس روی یک pushbutton ، کلیک می کند GUI باید عملی را که روی آن نوشته شده، آغاز کند.