사용자 인터페이스 디자인

이 섹션에서는 Windows 애플리케이션용 UI 디자인과 관련된 몇 가지 작업에 대해 자세히 설명합니다.

소개

UI 디자인은 기능, 미학 및 성능의 세 가지 필수 요소로 나눌 수 있습니다.

애플리케이션 개발 중 주요 초점은 기능입니다. 애플리케이션을 사용할 수 있나요? 사용자가 작업을 완료할 수 있나요? 그러나 기능은 스토리의 일부일 뿐입니다.

미학은 사물이 어떻게 표시되고 표시되는지, 사물이 사용자에게 전달되는 스타일을 설명합니다. 미학은 기능 요구 사항 및 성능 메트릭보다 매우 주관적이며 수량화하기가 훨씬 더 어렵습니다. 미학은 일반적으로 색이 서로를 보완하는 방법 또는 UI 요소가 의미를 전달하는 방법 등 사용자가 무언가에 대해 느끼는 방식에 영향을 미치고 이를 사용하는 성공에 영향을 주는 간단한 선택으로 내려옵니다.

성능은 속도뿐만 아니라 안정성으로 측정됩니다. 애플리케이션이 멋지게 보이고, 사용하기 쉽지만, 반복적으로 충돌하는 경우 매우 성공하지 못할 수 있습니다. 애플리케이션은 사용자에게 안정성에 대한 완전한 확신을 제공해야 합니다.

다음은 Windows 애플리케이션의 성공적인 UI에 기여할 수 있는 몇 가지 디자인 단계 작업입니다.

기능 요구 사항

가능한 가장 광범위한 대상 그룹 전체에서 사용자 환경을 최적화하려면 디자인 단계 초기에 다음 제안을 고려합니다.

  • UI 디자인 지침을 따릅니다.

    Windows 사용자 환경 상호 작용 지침에 익숙해지고 애플리케이션 UI의 디자인, 구현 및 테스트가 진행됨에 따라 자주 참조합니다.

  • UI에 액세스할 수 있는지 확인합니다.

    제품 수명 주기의 시작 부분에서 UI 디자인에 접근성을 통합해야 합니다. 접근성 개발의 일부로 아키텍처 수준에서 주의가 필요하기 때문에 접근성을 개조하는 것은 매우 비용이 많이 들 수 있습니다. 자세한 내용은 접근성을 위한 엔지니어링 소프트웨어 eBook을 다운로드하세요.

  • 국제 마켓플레이스를 지원합니다.

    Windows에는 Windows 애플리케이션에서 많은 문화권 및 서면 언어를 지원할 수 있는 기술이 포함되어 있습니다. 애플리케이션이 국제 마켓플레이스를 대상으로 하는 경우 프로젝트 시작부터 UI 디자인에 국제화 지원을 포함하는 것이 중요합니다. 자세한 내용은 Windows 애플리케이션에 대한 국제화를 참조하세요.

사용자 분석

성공적인 인터페이스를 디자인하는 중요한 단계는 코드를 작성하기 전에 애플리케이션에서 사용자가 필요로 하고 원하는 것을 기본적으로 이해하는 것입니다. 애플리케이션의 잠재적 사용자는 이미 어떤 식으로든 작업을 수행하고 있으며 기존 도구와 프로세스를 가능한 한 완전히 이해해야 합니다. 이러한 문제를 완전히 고려하지 않고 설계하지 마세요.

가장 간단하고 비공식적인 접근 방식은 제품의 의도된 사용자와 대화하는 것입니다. 원본에서 직접 정보를 가져옵니다. 관리자 또는 임원을 실제 소비자의 프록시로 사용하지 마세요. 소규모 개발자 및 프로그램 관리자 그룹이 작업 공간에서 사용자를 비공식적으로 방문하도록 하는 것이 좋습니다. 여기서 작업 방식을 논의하고 현재 도구로 직면한 문제에 대한 세부 정보를 수집할 수 있습니다.

사용자 피드백의 품질과 유효성에 직접적인 영향을 주기 때문에 선행 또는 편향된 질문을 하지 마세요. 이 단계에서 질문을 작성할 때 다음 사항에 유의하세요.

  • 사용자는 누구인가요? 어떤 기술과 지식을 가지고 있습니까?
  • 해당 환경을 이해하는 데 사용할 수 있는 데이터 원본은 무엇인가요?
  • 제품을 완료하는 데 사용할 목표와 작업은 무엇인가요?
  • 어떤 가정을 하고 있으며 어떻게 확인할 수 있습니까?
  • 어떤 데이터 원본이 있나요? (유용성 연구와 추론 평가는 시작하기에 좋은 장소입니다.)

문제 설명

모든 사용자 피드백이 수집되면 분석하여 관련 문제 및 요구 사항으로 증류합니다. 이 시점에서 솔루션에 대해 생각하지 않도록 합니다. 증상뿐만 아니라 문제가 완전히 식별되었는지 확인합니다.

각 문제 또는 요구 사항에 대해 한 문장 문제 설명(사용자 관점에서)의 목록을 작성하는 것이 도움이 되는 경우가 많습니다. 예를 들어 "편집 상자 너비를 15자로 크기 조정"은 문제가 되지 않습니다. 그러나 "긴 검색 용어로 입력하는 것은 너무 어렵다"는 유효한 문제 설명입니다. 차이점은 극적입니다. 솔루션과 문제를 동시에 정의하지 마세요. 실제 문제가 손실되는 경우가 많습니다. 이 예제에서는 편집 상자의 크기를 변경하는 등 검색어 문제를 해결하는 다른 많은 방법이 있을 수 있습니다. 항상 대체 솔루션을 염두에 두어야 합니다.

다음은 문제 문의 추가 예입니다.

  • 웹 사이트의 한 섹션에서 다른 섹션으로 이동하는 것은 어렵습니다.
  • 사용자는 소프트웨어가 로드되기까지 너무 오래 기다려야 합니다.
  • 보안 오류 메시지는 이해하기 어렵습니다.
  • 등록 페이지에 너무 많은 질문이 있으며 사용자가 자주 중단합니다.
  • 사이트 인덱스에서 특정 제품을 찾는 것은 완료하기가 너무 어렵습니다.

문제 설명이 충분히 광범위하면 이를 해결할 수 있는 혁신적이고 창의적인 방법이 많이 있을 수 있습니다.

우선 순위

항목 목록을 가져와서 우선 순위별로 순위를 지정하는 행위는 릴리스를 정의합니다. 명확한 우선 순위가 없으면 팀은 무엇을 해야 하는지, 무엇을 잘라내야 하는지에 대해 싸우고 논쟁할 수 있습니다. 우선 순위를 설정하는 데 관련된 작업은 연구가 완료될 때 더 쉬워야 하지만 항상 어려운 일입니다.

우선 순위를 설정하려면 일정, 팀 및 비즈니스의 세 가지 기준 이상을 평가할 수 있어야 합니다. 프로젝트에 대해 미리 정의된 일정 집합이 있을 수 있으며, 이 일정은 수행할 수 있는 작업의 크기와 규모를 제한합니다. 코드 베이스의 절반을 다시 작성해야 하는 문제는 작은 릴리스 주기 동안 시도해서는 안 됩니다.

팀의 메이크업과 특성은 어떤 종류의 작업을 수행할 수 있는지 정의합니다. 팀에는 어떤 다른 약속이 있나요? 팀에 디자이너 또는 유용성 엔지니어가 있나요? 팀에는 웹 또는 UI 디자인에 어떤 기술이 있나요? 마지막으로 가장 중요한 것은 비즈니스 고려 사항입니다. 이 프로젝트의 수익 목표는 무엇인가요? 경쟁업체는 누구인가요? 특정 문제를 해결할 때의 이점은 무엇인가요? 어떤 파트너십을 위조할 수 있나요? 목록의 우선 순위를 지정하기 전에 다른 고려 사항도 식별해야 합니다.

우선 순위가 지정되면 문제 설명 목록이 제품의 방향을 설정하고 개발이 올바른 영역에서 대상으로 지정되도록 합니다.

개념적 디자인

일반적으로 UI는 개념적 디자인 단계에서 다루지 않습니다. 그러나 이 단계에서는 성공적인 사용자 환경에 필수적인 완전한 사용자 프로필 및 사용 시나리오를 갖춘 철저한 비즈니스 모델이 필요합니다.

논리적 디자인

논리적 디자인 단계는 개념적 디자인을 지원하는 초기 프로토타입이 개발될 때입니다.

개발 중에 사용할 특정 하드웨어 및 소프트웨어 기술도 최종 제품에서 UI의 기능을 확인할 수 있는 이 단계에서 식별됩니다. 자세한 내용은 사용자 인터페이스 기술을 참조하세요.

개발 도구 외에도 애플리케이션의 대상으로 지정할 다양한 하드웨어 요구 사항 및 폼 팩터를 식별해야 합니다.

물리적 디자인

물리적 디자인 단계에서는 논리적 디자인에서 식별된 특정 하드웨어 및 폼 팩터에 대해 UI 디자인을 구현하는 방법을 결정합니다.

이 단계에서는 하드웨어 또는 폼 팩터 제한으로 UI에 예기치 않은 제약 조건이 발생할 수 있으므로 디자인을 크게 개선해야 합니다.