소프트웨어 사용자 인터페이스 디자인
사용자 인터페이스는 사용자가 소프트웨어를 사용하기 위해 상호 작용하는 프런트 엔드 애플리케이션보기입니다. 사용자는 사용자 인터페이스를 통해 소프트웨어와 하드웨어를 조작하고 제어 할 수 있습니다. 오늘날 사용자 인터페이스는 컴퓨터, 휴대폰, 자동차, 음악 플레이어, 비행기, 선박 등 디지털 기술이 존재하는 거의 모든 곳에서 찾을 수 있습니다.
사용자 인터페이스는 소프트웨어의 일부이며 소프트웨어에 대한 사용자 통찰력을 제공 할 수 있도록 설계되었습니다. UI는 인간-컴퓨터 상호 작용을위한 기본 플랫폼을 제공합니다.
UI는 기본 하드웨어 및 소프트웨어 조합에 따라 그래픽, 텍스트 기반, 오디오-비디오 기반이 될 수 있습니다. UI는 하드웨어 나 소프트웨어 또는 둘의 조합 일 수 있습니다.
사용자 인터페이스가 다음과 같으면 소프트웨어가 더 많이 사용됩니다.
- Attractive
- 간편한 사용
- 단시간에 대응
- 이해하기 쉬움
- 모든 인터페이스 화면에서 일관됨
UI는 크게 두 가지 범주로 나뉩니다.
- 명령 줄 인터페이스
- 그래픽 사용자 인터페이스
명령 줄 인터페이스 (CLI)
CLI는 비디오 디스플레이 모니터가 등장 할 때까지 컴퓨터와 상호 작용하는 훌륭한 도구였습니다. CLI는 많은 기술 사용자와 프로그래머의 첫 번째 선택입니다. CLI는 소프트웨어가 사용자에게 제공 할 수있는 최소 인터페이스입니다.
CLI는 사용자가 명령을 입력하고 시스템에 공급하는 위치 인 명령 프롬프트를 제공합니다. 사용자는 명령 구문과 사용법을 기억해야합니다. 이전 CLI는 사용자 오류를 효과적으로 처리하도록 프로그래밍되지 않았습니다.
명령은 시스템에서 실행될 것으로 예상되는 명령 집합에 대한 텍스트 기반 참조입니다. 사용자가 쉽게 조작 할 수 있도록하는 매크로, 스크립트와 같은 방법이 있습니다.
CLI는 GUI에 비해 적은 양의 컴퓨터 리소스를 사용합니다.
CLI 요소
텍스트 기반 명령 줄 인터페이스에는 다음 요소가 포함될 수 있습니다.
Command Prompt-대부분 사용자가 작업하고있는 컨텍스트를 보여주는 텍스트 기반 알림입니다. 소프트웨어 시스템에 의해 생성됩니다.
Cursor-입력하는 동안 문자의 위치를 나타 내기 위해 작은 가로줄 또는 줄 높이의 세로 막대입니다. 커서는 대부분 깜박임 상태에서 발견됩니다. 사용자가 무언가를 쓰거나 삭제할 때 이동합니다.
Command-명령은 실행 가능한 명령입니다. 하나 이상의 매개 변수가있을 수 있습니다. 명령 실행에 대한 출력은 화면에 인라인으로 표시됩니다. 출력이 생성되면 다음 줄에 명령 프롬프트가 표시됩니다.
그래픽 사용자 인터페이스
그래픽 사용자 인터페이스는 시스템과 상호 작용할 수있는 사용자 그래픽 수단을 제공합니다. GUI는 하드웨어와 소프트웨어의 조합이 될 수 있습니다. 사용자는 GUI를 사용하여 소프트웨어를 해석합니다.
일반적으로 GUI는 CLI보다 리소스를 더 많이 소비합니다. 진보 된 기술을 통해 프로그래머와 디자이너는 더 높은 효율성, 정확성 및 속도로 작동하는 복잡한 GUI 디자인을 만듭니다.
GUI 요소
GUI는 소프트웨어 또는 하드웨어와 상호 작용할 수있는 구성 요소 집합을 제공합니다.
모든 그래픽 구성 요소는 시스템 작업 방법을 제공합니다. GUI 시스템에는 다음과 같은 요소가 있습니다.
Window-응용 프로그램의 내용이 표시되는 영역입니다. 창이 파일 구조를 나타내는 경우 창의 내용을 아이콘 또는 목록 형식으로 표시 할 수 있습니다. 사용자가 탐색 창에서 파일 시스템을 탐색하는 것이 더 쉽습니다. 창은 화면 크기에 맞게 최소화, 크기 조정 또는 최대화 할 수 있습니다. 화면 어디로 든 이동할 수 있습니다. 창에는 자식 창이라는 동일한 응용 프로그램의 다른 창이 포함될 수 있습니다.
Tabs -응용 프로그램에서 여러 인스턴스를 실행할 수있는 경우 화면에 별도의 창으로 나타납니다. Tabbed Document Interface같은 창에서 여러 문서를 열었습니다. 이 인터페이스는 응용 프로그램에서 기본 설정 패널을 보는데도 도움이됩니다. 모든 최신 웹 브라우저는이 기능을 사용합니다.
Menu-메뉴는 함께 그룹화되어 응용 프로그램 창 내부의 보이는 위치 (일반적으로 상단)에 배치되는 표준 명령의 배열입니다. 메뉴는 마우스 클릭시 나타나거나 숨기도록 프로그래밍 할 수 있습니다.
Icon-아이콘은 관련 응용 프로그램을 나타내는 작은 그림입니다. 이러한 아이콘을 클릭하거나 두 번 클릭하면 응용 프로그램 창이 열립니다. 아이콘은 시스템에 설치된 응용 프로그램과 프로그램을 작은 그림으로 표시합니다.
Cursor-마우스, 터치 패드, 디지털 펜 등 상호 작용하는 장치는 GUI에 커서로 표시됩니다. 화면 커서는 거의 실시간으로 하드웨어의 지시를 따릅니다. 커서는 GUI 시스템에서 포인터라고도합니다. 메뉴, 창 및 기타 응용 프로그램 기능을 선택하는 데 사용됩니다.
애플리케이션 별 GUI 구성 요소
애플리케이션의 GUI에는 나열된 GUI 요소 중 하나 이상이 포함됩니다.
Application Window -대부분의 응용 프로그램 창은 운영 체제에서 제공하는 구성을 사용하지만 대부분은 응용 프로그램의 내용을 포함하기 위해 고객이 만든 창을 사용합니다.
Dialogue Box -사용자에 대한 메시지와 취해야 할 조치를 요청하는 하위 창입니다. 예 : 애플리케이션은 사용자로부터 파일 삭제를 확인하는 대화 상자를 생성합니다.
Text-Box -사용자가 텍스트 기반 데이터를 입력하고 입력 할 수있는 영역을 제공합니다.
Buttons -실제 버튼을 모방하고 소프트웨어에 입력을 제출하는 데 사용됩니다.
Radio-button-선택 가능한 옵션을 표시합니다. 제공되는 모든 항목 중 하나만 선택할 수 있습니다.
Check-box-목록 상자와 유사한 기능. 옵션을 선택하면 상자가 선택된 것으로 표시됩니다. 확인란으로 표시되는 여러 옵션을 선택할 수 있습니다.
List-box -선택 가능한 항목 목록을 제공합니다. 하나 이상의 항목을 선택할 수 있습니다.
다른 인상적인 GUI 구성 요소는 다음과 같습니다.
- Sliders
- Combo-box
- Data-grid
- 드롭 다운 목록
사용자 인터페이스 디자인 활동
사용자 인터페이스를 디자인하기 위해 수행되는 여러 활동이 있습니다. GUI 설계 및 구현 프로세스는 SDLC와 비슷합니다. Waterfall, Iterative 또는 Spiral Model 중 GUI 구현을 위해 모든 모델을 사용할 수 있습니다.
GUI 설계 및 개발에 사용되는 모델은 이러한 GUI 특정 단계를 수행해야합니다.
GUI Requirement Gathering-설계자는 GUI의 모든 기능 및 비 기능 요구 사항 목록을 갖고 싶어 할 수 있습니다. 이것은 사용자 및 기존 소프트웨어 솔루션에서 가져올 수 있습니다.
User Analysis-디자이너는 소프트웨어 GUI를 사용할 사람을 연구합니다. 사용자의 지식과 역량 수준에 따라 디자인 세부 사항이 변경되므로 대상 고객이 중요합니다. 사용자가 기술에 정통한 경우 고급 및 복잡한 GUI를 통합 할 수 있습니다. 초보 사용자의 경우 소프트웨어 사용 방법에 대한 자세한 정보가 포함되어 있습니다.
Task Analysis-설계자는 소프트웨어 솔루션으로 수행 할 작업을 분석해야합니다. 여기 GUI에서는 어떻게 할 것인지는 중요하지 않습니다. 작업은 하나의 주요 작업을 더 작은 하위 작업으로 더 분할하는 계층 적 방식으로 표현 될 수 있습니다. 태스크는 GUI 프리젠 테이션에 대한 목표를 제공합니다. 하위 작업 간의 정보 흐름은 소프트웨어에서 GUI 콘텐츠의 흐름을 결정합니다.
GUI Design & implementation-디자이너는 요구 사항, 작업 및 사용자 환경에 대한 정보를 얻은 후 GUI를 디자인하고 코드에 구현하고 백그라운드에서 작업 또는 더미 소프트웨어와 함께 GUI를 내장합니다. 그런 다음 개발자가 자체 테스트합니다.
Testing-GUI 테스트는 다양한 방법으로 수행 할 수 있습니다. 조직은 내부 검사, 사용자 직접 참여 및 베타 버전 출시가 거의 없습니다. 테스트에는 유용성, 호환성, 사용자 수용 등이 포함될 수 있습니다.
GUI 구현 도구
디자이너가 마우스 클릭으로 전체 GUI를 만들 수있는 몇 가지 도구가 있습니다. 일부 도구는 소프트웨어 환경 (IDE)에 포함될 수 있습니다.
GUI 구현 도구는 강력한 GUI 컨트롤을 제공합니다. 소프트웨어 사용자 정의를 위해 디자이너는 그에 따라 코드를 변경할 수 있습니다.
서로 다른 용도와 플랫폼에 따라 GUI 도구의 여러 세그먼트가 있습니다.
예
모바일 GUI, 컴퓨터 GUI, 터치 스크린 GUI 등. 다음은 GUI를 구축하는 데 유용한 몇 가지 도구 목록입니다.
- FLUID
- AppInventor (Android)
- LucidChart
- Wavemaker
- 비주얼 스튜디오
사용자 인터페이스 황금률
다음 규칙은 Shneiderman과 Plaisant가 저서 (Designing the User Interface)에서 설명한 GUI 디자인의 황금 규칙으로 언급됩니다.
Strive for consistency-유사한 상황에서 일관된 일련의 조치가 필요합니다. 프롬프트, 메뉴 및 도움말 화면에서 동일한 용어를 사용해야합니다. 전체적으로 일관된 명령을 사용해야합니다.
Enable frequent users to use short-cuts-사용 빈도에 따라 상호 작용 횟수를 줄이고 자하는 사용자의 욕구가 증가합니다. 약어, 기능 키, 숨겨진 명령 및 매크로 기능은 전문 사용자에게 매우 유용합니다.
Offer informative feedback-모든 운영자 조치에 대해 시스템 피드백이 있어야합니다. 빈번하고 사소한 행동의 경우 응답은 겸손해야하며, 드물고 주요한 행동의 경우 대응이 더 중요해야합니다.
Design dialog to yield closure-일련의 행동은 시작, 중간, 끝이있는 그룹으로 구성되어야합니다. 일련의 작업 완료시 유익한 피드백은 운영자에게 성취 만족도, 안도감, 비상 계획 및 옵션을 마음에서 버리라는 신호를 제공하며, 이는 다음을 준비 할 수있는 방법이 분명함을 나타냅니다. 행동 그룹.
Offer simple error handling-가능한 한 사용자가 심각한 오류를 범하지 않도록 시스템을 설계하십시오. 오류가 발생하면 시스템은 오류를 감지하고 오류를 처리하기위한 간단하고 이해 가능한 메커니즘을 제공 할 수 있어야합니다.
Permit easy reversal of actions-이 기능은 사용자가 오류를 되돌릴 수 있다는 것을 알고 있기 때문에 불안감을 덜어줍니다. 손쉬운 동작 반전은 익숙하지 않은 옵션의 탐색을 장려합니다. 가역성의 단위는 단일 작업, 데이터 입력 또는 전체 작업 그룹 일 수 있습니다.
Support internal locus of control-숙련 된 운영자는 자신이 시스템을 담당하고 있으며 시스템이 자신의 행동에 반응한다는 느낌을 강하게 원합니다. 사용자가 응답자가 아닌 행동의 시작자가되도록 시스템을 설계하십시오.
Reduce short-term memory load -단기 기억에서 인간 정보 처리의 한계는 디스플레이를 단순하게 유지하고, 여러 페이지 디스플레이를 통합하고, 창 이동 빈도를 줄이고, 코드, 니모닉 및 일련의 작업에 충분한 교육 시간을 할당해야합니다.