유용성 디자인
모든 애플리케이션의 유용성은 기본적으로 사용자에 의해 결정됩니다. 인터페이스 디자인은 반복적인 프로세스입니다. 애플리케이션의 인터페이스를 디자인할 때 첫 번째 단계부터 완벽한 인터페이스를 얻는 것은 거의 없습니다. 초기 사용자가 디자인 프로세스에 참여할수록 더 좋고 사용하기 쉬운 인터페이스를 만드는 데 드는 노력이 줄어듭니다.
좋은 인터페이스란 무엇인가
사용자 인터페이스를 디자인할 때 Microsoft나 다른 회사의 베스트셀러 응용 프로그램을 살펴보는 것부터 시작하는 것이 좋습니다. 결국, 인터페이스가 좋지 않은 앱은 잘 팔리지 않을 것입니다. 도구 모음, 상태 표시줄, 도구 설명, 상황에 맞는 메뉴, 마크업 대화 상자 등 일반적인 것들을 많이 찾을 수 있습니다. Visual Basic이 이러한 모든 기능을 응용 프로그램에 추가할 수 있다는 것은 우연이 아닙니다.
또한 소프트웨어를 사용한 자신의 경험에 의존할 수도 있습니다. 사용한 일부 응용 프로그램, 작동한 것과 작동하지 않은 것, 그리고 이를 수정할 수 있는 방법에 대해 생각해 보십시오. 하지만 개인의 선호도는 사용자의 선호도와 같지 않으므로 자신의 의견을 사용자의 의견과 일치시켜야 합니다.
또한 대부분의 성공적인 애플리케이션은 다양한 사용자 기본 설정을 수용할 수 있는 옵션을 제공합니다. 예를 들어, Microsoft Windows 탐색기에서는 사용자가 메뉴, 키보드 명령 또는 끌어서 놓기를 통해 파일을 복사할 수 있습니다. 옵션을 제공하면 응용 프로그램의 매력이 넓어지고 최소한 마우스와 키보드로 모든 기능에 액세스할 수 있어야 합니다.
Windows 인터페이스 지침
Windows 운영 체제의 가장 큰 장점은 모든 응용 프로그램에 공통 인터페이스를 제공한다는 것입니다. Windows 기반 응용 프로그램 사용법을 아는 사용자는 다른 응용 프로그램 사용법을 쉽게 배울 수 있습니다. 확립된 인터페이스 지침에서 너무 멀리 벗어나는 애플리케이션은 이해하기 어렵습니다.
메뉴는 이에 대한 좋은 예입니다. 대부분의 Windows 기반 응용 프로그램은 이 표준을 따릅니다. 맨 왼쪽에 "파일" 메뉴가 있고 맨 오른쪽에 "편집", "도구" 및 기타 옵션 메뉴가 있고, 맨 오른쪽에 "파일" 메뉴가 있습니다. . 도움말' 메뉴를 선택하세요. 파일보다 문서가 낫거나 도움말 메뉴가 먼저 배치되어야 한다면 논의해볼 가치가 있습니다. 이 작업을 수행하는 것을 막을 수 있는 방법은 없지만 그렇게 하면 사용자에게 혼란을 주고 응용 프로그램의 유용성을 감소시킬 수 있습니다. 사용자는 앱과 다른 프로그램 사이를 전환할 때마다 멈추고 생각해야 합니다.
하위 메뉴의 위치도 중요합니다. 사용자들은 "편집" 메뉴 아래에 "복사", "잘라내기", "붙여넣기" 등의 하위 메뉴가 있을 것으로 기대하지만, 이를 "파일" 메뉴 아래로 옮기면 사용자들에게 혼란을 줄 수 있다. 타당한 이유가 없는 한 작성된 지침에서 너무 멀리 벗어나지 마십시오.
유용성 테스트
인터페이스의 유용성을 테스트하는 가장 좋은 방법은 디자인 프로세스 전반에 걸쳐 사용자를 참여시키는 것입니다. 대규모 압축 애플리케이션을 디자인하든, 소규모의 제한된 사용 애플리케이션을 디자인하든 디자인 프로세스는 정확히 동일해야 합니다. 만들어진 디자인 지침을 사용하여 인터페이스 디자인은 종이 위에서 시작되어야 합니다.
다음 단계는 하나 이상의 프로토타입을 만들고 Visual Basic에서 양식을 디자인하는 것입니다. 프로토타입을 시작하려면 양식 표시, 목록 상자에 샘플 데이터 채우기 등 충분한 코드를 추가해야 합니다. 그런 다음 사용성 테스트를 준비합니다.
사용성 테스트는 사용자와 함께 디자인을 검토하는 비공식 프로세스일 수도 있고, 만들어진 사용성 랩에서 공식 프로세스일 수도 있습니다. 두 방법의 목적은 동일합니다. 즉, 잘 작동하는 부분과 개선이 필요한 부분을 사용자로부터 직접 배우는 것입니다. 사용자가 애플리케이션을 사용하도록 하고 관찰하는 것이 사용자에게 요청하는 것보다 더 효과적입니다. 사용자에게 일련의 작업을 완료하려고 할 때 자신의 사고 과정을 표현하도록 요청합니다. "새 문서를 열고 싶어서 파일 메뉴에서 찾습니다." 인터페이스 디자인이 사고 과정을 반영하지 않는 점에 유의하세요. 다양한 유형의 사용자를 대상으로 테스트합니다. 사용자가 특정 작업을 완료하는 데 어려움을 겪는다면 해당 작업에 더 많은 주의가 필요할 수 있습니다.
다음으로 기록을 검토하고 인터페이스를 더 유용하게 만들기 위해 수정하는 방법을 고려하세요. 인터페이스를 수정하고 다시 테스트하세요. 애플리케이션 유용성이 만족스러우면 코딩을 시작할 준비가 된 것입니다. 또한 프로토타입에 대한 가정이 올바른지 확인하기 위해 개발 프로세스 중에 때때로 테스트가 필요합니다.
기능 발견 가능성
사용성 테스트의 핵심 개념은 발견 가능성입니다. 사용자가 기능을 사용하는 방법을 알 수 없는 경우(또는 기능이 존재하는지조차 모르는 경우) 해당 기능을 사용할 가능성이 없습니다. 예를 들어, 대부분의 Windows 3.1 사용자는 ALT와 TAB 키 조합을 사용하여 열려 있는 응용 프로그램 간을 전환할 수 있다는 사실을 전혀 알지 못했습니다. 인터페이스 어디에도 사용자가 이 기능을 발견하는 데 도움이 되는 단서가 제공되지 않습니다.
기능 검색 가능성을 테스트하려면 사용자에게 수행 방법을 설명하지 않고 작업을 완료하도록 요청합니다(예: "양식 템플릿"을 사용하여 새 문서 만들기). 작업을 완료할 수 없거나 여러 번 시도해야 하는 경우 이 기능의 검색 가능성을 개선해야 합니다.
사용자나 시스템에 문제가 있을 때 사용자와 상호작용
이상적인 세상에서는 소프트웨어와 하드웨어가 항상 결함 없이 작동하고 사용자는 절대 실수하지 않을 것입니다. 현실에서는 실수가 불가피합니다. 문제가 발생할 때 애플리케이션이 어떻게 반응하는지 결정하는 것은 사용자 인터페이스 디자인의 일부입니다.
일반적인 응답은 응용 프로그램이 문제를 처리하는 방법에 대한 입력을 사용자에게 요청하는 대화 상자를 표시하는 것입니다. 덜 일반적이지만 더 나은 대응은 사용자를 방해하지 않고 문제를 간단히 해결하는 것입니다. 결국 사용자는 기술적인 세부 사항이 아닌 작업 완료에 주로 관심을 갖습니다. 사용자 인터페이스를 디자인할 때 발생할 수 있는 오류를 고려하고 사용자 상호 작용이 필요한 오류와 미리 준비된 솔루션으로 해결할 수 있는 오류를 결정하세요.
이해하기 쉬운 대화 상자 만들기
신청 시 오류가 발생하는 경우가 있으며 이를 해결하기 위해서는 판단이 필요합니다. 이는 일반적으로 코드 분기(If...Then 문 또는 Case 문)로 발생합니다. 판단에 사용자 상호 작용이 필요한 경우 이 문제는 일반적으로 대화 상자를 사용하여 사용자에게 표시됩니다. 대화 상자는 사용자 인터페이스의 일부이며 인터페이스의 다른 부분과 마찬가지로 해당 디자인은 응용 프로그램 유용성에 중요한 역할을 합니다.
때때로 프로그램 대화 상자의 많은 디자이너들이 사람들이 이해하기 쉽게 만드는 단어를 말하지 않는 것처럼 느껴질 때가 있습니다. 예를 들어, "하드 디스크 C 섹터가 손상되었거나 액세스할 수 없습니다. 중단하시겠습니까, 다시 시도하시겠습니까, 무시하시겠습니까?"와 같은 메시지는 일반 사용자가 이해하기 쉽지 않습니다. 이는 웨이터가 고객에게 "수프가 없거나 주방에서 불을 피우고 있습니다. 중단하고 다시 시도하세요. 무시하세요"라고 묻는 것과 같습니다. 사용자가 이해할 수 있는 방식이나 문구로 문제(및 선택)를 설명하는 것이 중요합니다. 이전 예에서는 "C 드라이브에 파일을 저장하는 데 문제가 있습니다. 파일을 A 드라이브에 저장하십시오. 파일을 저장하시겠습니까?"라는 메시지가 더 좋습니다.
응용 프로그램에 대한 대화 상자를 만들 때 사용자를 염두에 두십시오. 이 메시지가 사용자에게 유용한 정보를 전달합니까? 이해하기 쉽나요? 명령 버튼으로 표시되는 선택 사항이 명확합니까? 이 선택이 주어진 조건에 적합한가? 단 하나의 성가신 메시지 상자만으로도 사용자에게 애플리케이션에 대한 나쁜 인상을 줄 수 있다는 점을 기억하십시오.
사용자 정의 대화 상자를 디자인하는 경우 표준 유형을 고수하십시오. 표준 메시지 상자 레이아웃에서 너무 벗어나면 사용자가 대화 상자로 인식하지 못할 수 있습니다.
대화 상자에 대한 자세한 내용은 이 장 앞부분의 "대화 상자"를 참조하십시오.
대화 상자 없이 오류 처리
오류가 발생했을 때 사용자를 방해할 필요는 없습니다. 때로는 사용자에게 알리지 않고 코드 오류를 처리하거나 사용자의 작업 흐름을 중단하지 않는 방식으로 사용자에게 경고하는 것이 더 나은 경우도 있습니다. 이 기술의 좋은 예는 Microsoft Word의 "자동 수정" 기능입니다. 일반적인 단어의 철자가 틀리면 Word에서 자동으로 수정합니다. 일반적이지 않은 단어의 철자가 틀리면 사용자에게 나중에 수정하도록 상기시키기 위해 빨간색 선이 그려집니다. .
사용할 수 있는 기술이 많이 있습니다. 어떤 기술이 귀하의 응용 분야에 적합한지 결정하는 것은 귀하의 몫입니다. 다음은 몇 가지 제안 사항입니다.
1. "편집" 메뉴에 "실행 취소" 기능을 추가합니다. 삭제와 같은 상황에서는 "확인" 대화 상자로 사용자를 방해하는 대신 사용자가 올바른 결정을 내렸는지 확인하고 나중에 마음이 바뀔 경우를 대비해 "실행 취소" 기능을 제공할 수 있습니다.
2. 상태 표시줄이나 아이콘에 메시지를 표시합니다. 오류가 사용자의 현재 작업에 영향을 미치지 않으면 응용 프로그램을 중지하지 마십시오. 상태 표시줄이나 밝은 경고 아이콘을 사용하여 사용자가 준비되면 문제를 처리할 수 있음을 알립니다.
3. 문제를 해결하세요. 때로는 잘못된 해결책이 명백할 때도 있습니다. 예를 들어, 사용자가 파일을 저장하려고 할 때 디스크가 가득 차면 시스템은 다른 드라이브의 공간을 확인합니다. 공간이 있으면 파일이 저장됩니다. 사용자에게 수행된 작업을 알려주는 메시지가 상태 표시줄에 표시됩니다.
4. 메시지를 저장하고 처리를 기다립니다. 모든 오류가 심각하거나 즉각적인 주의가 필요한 것은 아니기 때문에 이러한 오류를 파일에 기록하고 응용 프로그램을 종료할 때나 다른 편리한 시간에 사용자에게 표시하는 것을 고려하십시오. 사용자가 입력 오류를 범하는 경우(예: MianSt. 대신 MainSt.를 쓰는 경우) 이를 기록합니다. 사용자가 수정할 수 있도록 "ReviewEntries" 버튼과 차이점을 표시하는 기능을 추가하세요.
5. 아무것도 하지 마세요. 때로는 오류가 경고를 받을 만큼 중요하지 않은 경우도 있습니다. 예를 들어, LPT1의 프린터에 사용할 용지가 준비되지 않았다는 사실은 인쇄할 준비가 될 때까지 별로 중요하지 않습니다. 메시지가 현재 작업과 관련될 때까지 기다리십시오.
오류 처리 기술에 대한 자세한 내용은 13장, "코드 디버깅 및 오류 처리"를 참조하십시오.
사용자 지원 패턴 디자인
사용자 인터페이스가 아무리 잘 디자인되었더라도 때로는 사용자에게 도움이 필요할 때가 있습니다. 응용 프로그램의 사용자 지원 모드에는 온라인 도움말, 인쇄된 문서 등이 포함되며, 도구 설명, 상태 표시줄, "설명" 도움말, 마법사 등의 사용자 지원 장치도 포함될 수 있습니다.
애플리케이션의 다른 부분과 마찬가지로 사용자 지원 패턴 디자인은 개발보다 먼저 이루어져야 합니다. 스키마의 내용은 애플리케이션의 복잡성과 대상 사용자에 따라 달라집니다.
도움말 및 문서
온라인 도움말은 모든 응용 프로그램의 중요한 부분이며 사용자가 질문이 있을 때 가장 먼저 찾는 곳이기도 합니다. 간단한 애플리케이션이라도 "도움말"을 제공해야 합니다. 이를 제공하지 않는 것은 사용자에게 문제가 전혀 없다고 가정하는 것과 같습니다.
도움말 시스템을 디자인할 때 주요 목적은 질문에 답변하는 것임을 기억하세요. 주제 이름과 색인 항목을 생성할 때 "페이지 형식을 어떻게 지정합니까?"와 같은 사용자 용어를 사용하십시오. 주제는 "편집" 또는 "페이지 형식" 메뉴보다 찾기 쉽습니다. 컨텍스트를 잊지 마세요. 대부분의 사용자는 특정 필드에 대한 도움말을 얻기 위해 F1 키를 누른 후 콘텐츠 주제를 찾는 경우 좌절감을 느낄 것입니다.
인쇄되거나 zip 디스크로 제공되는 기본 개념에 대한 문서는 가장 단순한 응용 프로그램을 제외한 모든 응용 프로그램에 유용합니다. 짧은 도움말 항목으로는 전달하기 어려운 정보를 제공할 수 있습니다. 최소한 사용자가 필요에 따라 인쇄할 수 있는 ReadMe 파일 형식의 문서가 있어야 합니다.
사용자 보조 장치
사용자 인터페이스에는 사용자를 지원하는 여러 기술이 있습니다. Visual Basic을 사용하면 도구 설명, "이게 무엇인가요?" 도움말, 상태 표시 및 마법사를 응용 프로그램에 쉽게 추가할 수 있습니다. 이러한 장치 중 어느 것이 귀하의 응용 분야에 적합한지 결정하는 것은 귀하의 몫입니다.
툴팁
도구 설명(그림 6.23)은 사용자가 사용자 인터페이스에서 검색할 때 정보를 표시하는 좋은 방법입니다. 도구 설명은 마우스 포인터가 컨트롤 위에 있을 때 나타나는 작은 레이블이며 일반적으로 컨트롤 기능에 대한 설명이 포함되어 있습니다. 일반적으로 도구 설명은 도구 모음과 함께 사용되며 대부분의 인터페이스 부분에서 잘 작동합니다.
대부분의 Visual Basic 컨트롤에는 도구 설명을 표시하는 데 사용되는 속성인 ToolTipText가 포함되어 있습니다. 다음 코드는 "cmdPRint"라는 명령 단추에 대한 도구 설명을 제공합니다.
cmdPrint.ToolTipText=현재 문서를 인쇄합니다.
인터페이스의 다른 부분과 마찬가지로 이 텍스트도 사용자에게 메시지를 명확하게 전달해야 합니다.
도구 설명에 대한 자세한 내용은 언어 참조의 "ToolTipText 속성"을 참조하세요.
"이게 뭐죠?" 도움말
사용자가 What's Help를 선택하고 컨트롤의 What's Cursor를 클릭하면 What's Help는 팝업 도움말 항목에 대한 링크를 제공합니다(그림 6.24 참조). "설명" 도움말은 도구 모음 버튼, 메뉴 항목 또는 대화 상자 제목 표시줄에 있는 버튼을 통해 시작할 수 있습니다.
메뉴나 도구 모음에서 "설명" 도움말을 활성화하려면 다음 단계를 따르세요.
1. 도움을 주고 싶은 컨트롤을 선택하세요.
2. 속성 창에서 WhatsThisHelpID 속성을 선택합니다.
3. 관련 팝업 도움말 항목에 대한 컨텍스트 식별자를 입력합니다.
4. 다른 컨트롤에 대해서도 1~3단계를 반복합니다.
5. 양식을 선택합니다.
6. "속성" 창에서 양식의 WhatsThisHelp 속성을 True로 설정합니다.
7. 메뉴 또는 도구 모음 버튼의 Click 이벤트에 다음 코드를 입력합니다.
양식 이름.WhatsThisHelp
사용자가 버튼이나 메뉴를 클릭하면 마우스 포인터가 "이것에 대한 설명" 도움말 포인터로 변경됩니다. 사용자 정의 대화 상자 양식의 제목 표시줄에서 "이 정보" 도움말을 활성화하려면 양식의 WhatsThisButton 및 WhatsThisHelp 속성을 True로 설정하십시오.
"WhatsThis" 도움말에 대한 자세한 내용은 언어 참조의 "WhatsThisHelp 속성" 및 "WhatsThisButton 속성"을 참조하세요.
상태 표시
상태 표시는 도구 설명과 거의 동일한 방식으로 사용자 지원을 제공하는 데 사용될 수도 있습니다. 상태 표시는 도구 설명에 적합하지 않은 지침이나 메시지를 제공하는 좋은 방법입니다. Visual Basic의 Professional 및 Enterprise 버전에 포함된 상태 표시줄 컨트롤은 메시지를 매우 잘 표시할 수 있으며 Label 컨트롤도 상태 표시로 사용할 수 있습니다.
상태 표시에 표시되는 텍스트는 컨트롤이나 폼의 GotFocus 이벤트를 사용하거나 MouseMove 이벤트를 사용하는 두 가지 방법 중 하나로 업데이트할 수 있습니다. 디스플레이를 학습 장치로 사용하려면 도움말 메뉴에 항목을 추가하여 Visible 속성을 켜거나 끄세요.
상태 표시를 추가하려면 다음 단계를 따르세요.
1. 양식에 Label 컨트롤을 추가합니다.
2. 메시지를 표시하려는 컨트롤을 선택합니다.
3. 컨트롤의 MouseMove(또는 GotFocus) 이벤트에 다음 코드를 추가합니다. Labelname.Caption=Enterthecustomer'sIDnumberinthisfield 마우스를 컨트롤 위로 이동하면 이 메시지가 이 Label 컨트롤에 표시됩니다.
4. 다른 컨트롤에 대해서도 2~3단계를 반복합니다.
마법사
마법사는 실제 데이터를 사용하여 프로세스 구현을 단계별로 안내하는 사용자 지원 장치입니다. 마법사는 작업별 지원을 제공하는 데 자주 사용됩니다. 길고 귀찮은 학습 과정이 필요한 작업을 돕고, 아직 전문가가 아닌 사용자에게 전문 정보를 제공합니다.
Visual Basic의 Professional 및 Enterprise 버전에는 마법사를 만드는 도구인 마법사 관리자가 포함되어 있습니다.
마법사에 대한 자세한 내용은 4장 "프로젝트 관리"의 "마법사 및 애드인 사용"을 참조하십시오.
->