1. GUI (Graphical User Interface)
ㅇ 컴퓨터와 인간 사이에 상호 인터페이스를 그래픽에 의하는 것
- 아이콘, 윈도우, 다양한 시각적 요소를 통해,
- 사용자가 컴퓨터 시스템과 상호작용할 수 있도록 도와주는 프로그램 집합
2. 구성 요소
ㅇ Window (창)
- 사용자에게 스크린 상의 작은 창(window)으로 임무(task)에 대한 정보를 그림으로 제공
. 타이틀 바 : 윈도우의 제목을 표시하고, 윈도우를 이동하거나 크기를 조절
. 메뉴 바 : 윈도우에서 사용 가능한 다양한 기능을 메뉴 형태로 제공
. 툴바 : 자주 사용하는 기능을 아이콘 형태로 모아 놓은 도구 모음
. 스크롤 바 : 내용이 창에 모두 표시 않될 때, 스크롤하여 내용 확인
ㅇ Point and Clicking
- 사용자는 마우스를 움직여서 스크린상의 커서를 원하는 곳에 위치시키며,
- 창 안에서 임무가 상징적으로 표현된 그림(icon)에다가,
- 클릭(click, 마우스 버튼 누름)하여 동작을 유발시키게 됨
ㅇ Copy and Paste, Drag and Drop
- 데이터 이동 및 복사 : 데이터를 쉽게 이동, 복사할 수 있도록 하는 기능
ㅇ Multiple Document Interface
- 여러 문서 관리 : 하나의 창 안에 여러 문서를 탭 형태로 관리하여 효율적인 작업 지원
ㅇ Graphical Object (Icon) 등
※ WIMP : 윈도우(Window), 아이콘(Icon), 메뉴(Menu), 포인터(Pointer)의 약자
3. 구성 기술
ㅇ 윈도우 시스템 프레임워크
- X Window Systems
- MS 윈도우즈 시스템 등
ㅇ 그래픽 라이브러리
- GTK+ : 주로 GNOME 데스크탑 환경에서 사용되는 오픈 소스 그래픽 라이브러리
- Qt : 다양한 플랫폼에서 사용 가능한 크로스 플랫폼 그래픽 라이브러리
- MFC : 마이크로소프트 윈도우즈에서 사용되는 C++ 기반의 그래픽 라이브러리
ㅇ 윈도 매니저 (데스크톱 환경 하의 기본 윈도 관리자)
- UI를 대신하여 디스플레이 서버(윈도 서버)와 통신하는 프로그램
. Afterstep, Enlightment, twm, Window Maker, matchbox 등
. Mutter, Kwin, Muffin, Marco, Metacity 등
ㅇ GUI 개발도구 등
4. GUI 디자인 원칙
ㅇ 일관성 : 모든 요소가 일관된 디자인 언어를 사용
ㅇ 단순성 : 불필요한 요소를 제거하고, 간결하고 직관적인 디자인 추구
ㅇ 효율성 : 원하는 작업을 최소한의 단계로 수행토록 함
ㅇ 접근성 : 다양한 사용자 접근 요구사항 수용