좋은 인터랙션 디자인은 제품의 성공에 핵심적인 역할을 합니다. UI가 하는 일은 사용자가 가장 먼저 접하는 일이자, 일반 사용자가 접하는 유일한 일이기도 합니다. 사용자는 기본 레이어를 구현하는 데 어떤 종류의 코드가 사용되는지보다는 인터페이스의 시각적 효과와 소프트웨어 작업의 용이성에 대해 훨씬 더 관심을 갖습니다. 프로그램이 사람의 근육과 뼈라면 UI 디자인은 사람의 외모와 성격이다! 그것들은 모두 성공적인 소프트웨어 제품의 필수적이고 중요한 구성 요소입니다! 나는 프로그래밍에 대해 잘 모르기 때문에 UI 디자인과 소프트웨어 제품 전체의 관계와 소프트웨어 제품에 가장 적합한 UI 디자인을 얻는 방법에 대해서만 이야기합니다. 우리 소프트웨어 제품에 존재하는 문제 중 일부는 기술적인 문제이지만, 더 많은 문제는 다양한 부서와 프로젝트 팀 간의 협력에서 발생합니다. 우리의 기존 개발 프로세스는 일반적으로 고객 요구 사항을 제안하는 마케팅 부서, 제품 디자인 보고서를 제안하는 제품 디자이너, 개발 계획을 설계하는 개발 부서, 각 팀이 각각 모듈을 개발하고 최종적으로 이를 완전한 소프트웨어 제품으로 통합하는 과정으로 이루어집니다. 이러한 프로세스에는 UI 디자인의 어떤 부분이 포함되어야 하며, 제품에 대한 최상의 UI 디자인 효과를 얻으려면 각 부분이 어느 정도 달성되어야 합니까? 아래에서는 각 부분을 자세히 분석해 보겠습니다. 먼저, 현재의 문제를 분석해 보겠습니다. 소프트웨어 산업이 상대적으로 발달한 일부 국가에서는 소프트웨어 제품의 UI 디자인 프로세스가 전체 소프트웨어 개발 프로세스에 걸쳐 실행되며 필수적입니다. 중국에서는 제품 UI 디자인이 널리 받아들여지지 않습니다. 이미 UI 디자이너가 있는 일부 회사에서도 제품의 UI에 충분한 관심을 기울이지 않습니다. 일반적으로 그들은 필요한 기능을 달성하기 위해 코드를 사용하는 방법에 중점을 둡니다. 제 생각에는 이것은 성공적인 소프트웨어 제품의 일부일 뿐입니다. 우수한 소프트웨어 제품의 개발 프로세스는 다음 네 부분으로 구성되어야 합니다. 1. 소프트웨어 제품 설계(비즈니스 모델링) 2. 시스템 설계(기술 모델링) 3. 유닛 개발(소프트웨어의 각 부분을 유닛 작성 코드로 분할) 4. 테스트(단위 테스트, 시스템 통합 테스트, 제품 기능 테스트로 구분)는 소프트웨어 R&D 부서에서 수행하는 작업입니다. 소프트웨어 개발 프로세스의 위 네 가지 부분 외에도 사용자 요구 사항과 사용자 승인 테스트도 있습니다. 이 두 프로세스는 마케팅 부서와 제품 사용자가 함께 완료합니다. 따라서 코드를 사용하여 제품 기능을 구현하는 것(코딩 프로세스)은 소프트웨어 개발의 한 단계일 뿐입니다.
이제 UI 디자인의 관점으로 돌아가 보겠습니다. UI 디자이너는 특정 단계에만 참여하는 것이 아니라 전체 소프트웨어 개발 프로세스에 참여해야 합니다. 이제 대부분의 소프트웨어 회사에서는 UI 디자이너가 제품 코딩 프로세스에만 참여합니다. 그런 다음 그는 소프트웨어 개발 프로세스에 실질적으로 참여했지만 다른 단계에서는 참여만 했거나 전혀 참여하지 않았습니다. 여기서 "참여"와 "참여"는 "참여"라는 단어의 두 가지 다른 개념임을 강조하고 싶습니다. 개발팀에 완전히 합류하여 설계 단계에 진입하는 것을 의미하며, "참여"는 단지 회의를 참관하거나 간단한 의견만 제시하고 설계 단계에 진입하지 않는 것을 의미합니다. 이는 소프트웨어 개발 효율성을 크게 저하시킵니다. 여러번의 증가로 인해 전체 제품이 고장날 수도 있습니다! 소프트웨어 제품 개발 과정에서 UI 디자인이 어떻게 이루어져야 하는지, 그리고 위에서 언급한 문제를 어느 정도 피할 수 있는지 분석해 보겠습니다. 아래에서는 소프트웨어 개발 프로세스를 기반으로 위의 질문을 설명하겠습니다. 소프트웨어 개발 프로세스의 여러 단계를 언급했습니다. 1. 제품 모델링 2. 기술 모델링 3. 모듈 개발 4. 테스트, 그런 다음 이를 네 부분으로 나눕니다. 1. 제품 모델링 기간: 먼저 UI 디자인에서 매우 중요한 두 가지 개념인 "입력"과 "출력"을 이해해 보겠습니다. 사람들은 종종 저에게 와서 “제품이 있어야 합니다. 아름답게." 그렇다면 자세한 설명은 없습니다. 이 문장만으로 작업이 시작됩니다. 그런데 이 소프트웨어는 누구를 위한 것일까요? 그것은 무엇을 위한 것입니까? 하지만 우리는 아무것도 모릅니다! 성공적인 UI 디자인은 먼저 완전한 "입력"이 있어야 합니다. 어떻게 이를 완전한 "입력"이라고 부를 수 있습니까? 이는 UI 디자이너가 전체 소프트웨어 제품의 기획 단계부터 참여해야 함을 의미합니다. 제품 사용자(즉, 고객)가 제품 요구사항을 마케팅 부서나 제품 부서에 전달하면 이들이 제품 기획에 참여하기 시작해야 합니다. 개발 프로세스 이 부분은 UI 디자이너에게 첫 번째 입력 단계이며, 이 단계에서 UI 디자이너도 제품 인터랙션 디자인에 대한 의견을 제시해야 제품 부서가 제품의 인터랙션성을 더 많이 고려할 수 있습니다. 많은 소프트웨어에는 디자인 단계에서 사용되지 않는 많은 추가 기능이 추가됩니다. 실제로 좋은 소프트웨어 디자인은 사용자의 아이디어를 구현하기 위해 가장 간단한 구조를 사용하는 것입니다. 화려해 보이는 것은 종종 사용자의 판단에 영향을 미칩니다. 이것은 제품 최적화에 대한 몇 가지 개념입니다. 여기서는 깊이 있게 공부하고 싶다면 제품 최적화에 관한 책이나 심지어 심리학 책도 읽어볼 수 있다고 생각합니다. 소프트웨어 최적화는 코드 최적화(최소한의 코드로 제품 기능 구현)입니다. 제 생각에는 이것은 전체 소프트웨어 제품의 최적화가 아닌 프로그래머를 위한 프로그램 최적화입니다. 현재 대부분의 소프트웨어 회사에는 인터랙션 디자이너가 없습니다. 이 부분을 전문적으로 다루기 때문에 이 부분은 UI 디자이너가 담당해야 한다고 생각합니다. 회사의 옵티마이저나 인터랙션 디자이너는 UI 디자이너와 협력하여 제품 인터랙션 디자인을 완성해야 합니다. UI 디자이너로서 디자인할 때 제품의 인터랙티비티와 사용 편의성을 고려해야 합니다. 집에 가까운 제품 디자이너들은 단순성과 사용 편의성의 원칙, 즉 제품이 어떤 종류의 조합 형태로 사용자에게 제시될 것인지에 대해 너무 많이 생각하지 않는 경우가 많습니다. 이는 UI 디자이너들이 가장 중요하게 생각하는 것이기도 합니다. 이므로 UI 디자이너는 제품 모델링 과정에서 디자인에 참여하고 제품 디자이너에게 의견을 제시해야 합니다. 우수한 UI 디자이너로서 제품의 요구 사항을 파악한 후 제품의 사용 환경과 사용자 그룹의 사용 습관에 대한 더 깊은 이해도 필요합니다. 우리는 또한 시중에서 판매되는 유사한 소프트웨어 제품의 설계 솔루션을 이해하고 장점과 단점을 연구하여 설계할 때 장점을 배우고 실수를 피할 수 있어야 합니다.
제품 모델링 후 제품 디자이너는 일반적으로 고객에게 기능적 디자인 설명을 제공합니다. 이러한 설명은 본질적으로 텍스트일 뿐이며 고객이 상상하고 이해해야 하는 경우가 많으며 이로 인해 고객은 전혀 이해하지 못할 수 있습니다. 그런 설명을 전혀 이해하지 못해서 주의 깊게 듣지도 않는 경우가 많습니다. 토론 중에는 제품 디자이너의 디자인 아이디어에 모두 동의하는 경우가 많지만, 제품 테스트 중에는 다양한 불만이 제기될 것 같습니다. 이것은 일반 소프트웨어 회사가 직면하게 되는 가장 골치 아픈 일이지만 고객은 단지 시각적 효과와 소프트웨어의 작동에만 관심을 가질 것이며 우리가 모든 것을 어떻게 달성할지는 관심을 갖지 않을 것이라고 말했습니다. 이것. 이러한 상황의 직접적인 결과는 반복적인 제품 수정으로 인한 개발 비용이 두 배로 증가한다는 것입니다. 이는 UI 디자이너에 따라 다릅니다. "보는 것이 믿는 것, 듣는 것이 믿는 것"이라는 말이 있듯이, UI 디자이너는 제품의 전반적인 효과를 데모로 만들어야 합니다. 이 데모는 제품의 최종 모습이 아니라 제품 디자이너가 고객에게 제품 디자인을 설명하는 데 도움이 되기 때문에 반영할 제품 인터페이스만 구성하면 됩니다. 제품 모델링 기간 동안 UI 디자이너는 고객의 요구 사항과 아이디어, 제품 기능에 대한 제품 디자이너의 요구 사항을 이해하고 사용자의 사용 요구 사항, 사용 환경 및 사용 습관을 수집하고 유사한 제품의 디자인을 이해해야 합니다. 시장을 살펴보고 장점과 단점을 분석합니다. 제품 디자이너가 제품 모델링 프로세스를 완료하고 제품 디스플레이 데모를 생성하여 사용자의 작동 프로세스와 주요 기능의 인터페이스 표현을 시뮬레이션하고 대화형 프로토타입을 생성하도록 지원합니다(기본적으로 제품의 상호 작용성 및 사용성 문제는 제품 중에 해결되어야 함) 모델링 기간) ). 시간이 허락한다면 "UI 디자인 분석 보고서"를 제안할 수도 있습니다. 이 보고서는 제품 디자인 설명에 첨부되어 고객이 제품 디자인을 보다 효과적으로 이해하고 개발자가 UI의 전체 개발 작업을 더 잘 따르도록 도울 수 있습니다. . 이 시대의 핵심은 '인터랙션 디자인'이다. 2. 기술 모델링 기간: 이 기간 동안 우리는 UI 디자이너로서 소프트웨어 제품의 기능적 요구 사항을 이해하고 제품 디자이너로부터 제품 디자인 설명을 얻어 인터페이스 스타일 디자인 프로세스에 들어갈 수 있습니다. 이때 우리는 제품의 전반적인 스타일과 인터페이스 디자인에 대해 더 많이 고려해야 합니다. 일반적으로 우리는 고객이 선택할 수 있는 몇 가지 계획도 세웁니다. 일부 고객은 제품이 전체 VI 디자인 표준을 따르도록 요구하므로 우리는 전체 세트 스타일에 따라 소프트웨어 인터페이스를 디자인해야 하며 이는 고객 회사의 기업 이미지와 일치해야 합니다. 이 기간 동안 소프트웨어의 UI 디자인은 아트 디자인 단계에 진입했습니다. 전체 소프트웨어의 스타일을 공식화하고 소프트웨어의 전체 이미지를 형성하며 요소, 레이아웃, 텍스트 글꼴 및 기타 정보를 구체적으로 설명해야 합니다. 각 인터페이스. 이 단계에서 너무 많은 말을 해서는 안 됩니다. 중요한 것은 각 UI 디자이너가 자신의 예술적 전문성을 활용하여 가장 단순하고 아름다운 인터페이스로 소프트웨어 제품을 표현해야 한다는 것입니다. 주목해야 할 점은 전체적인 스타일을 디자인할 때, 이 제품의 컨셉에 대한 깊은 이해가 있어야 하고, 그것이 어떤 용도로 사용되는지 살펴봐야 한다는 것입니다. 제품마다 스타일이 달라야 합니다. 주의해야 할 세부 사항이 많이 있습니다. 다양한 제품, 유사한 제품, 다양한 콘텐츠, 다양한 커뮤니케이션 매체가 모두 UI 디자인의 스타일을 결정합니다. 1. 다양한 제품: 예를 들어 게임 제품은 인터페이스를 더 화려하게 만들거나 큰 그림으로 채워야 하며, 응용 소프트웨어인 경우 사용 편의성과 강력한 기능을 강조해야 하며 디자인이 단순해야 합니다. 2. 동일한 유형의 다양한 콘텐츠: 예를 들어, 귀여운 게임 제품(예: 만화 게임)은 롤플레잉 전투 게임(예: 총격전 게임)인 경우 인터페이스를 더욱 생생하고 귀엽게 만들어야 합니다. , 인터페이스를 생동감 있고 귀엽게 만들어야 합니다. 3. 다양한 통신 매체: 우리가 만들고자 하는 소프트웨어 제품 중 일부는 인터넷에 배포되어야 하므로 네트워크 속도를 고려해야 하며 일부는 CD를 미디어로 사용하므로 이러한 소프트웨어는 멋진 효과를 낼 수 있습니다. 따라서 서로 다른 제품을 별도로 고려해야 하며, 이를 위해서는 UI 디자이너도 제품에 대해 더 많이 알고 고객과의 커뮤니케이션을 유지해야 합니다.
또한 주목해야 할 점은 그래픽 디자인 과정에서 이전 단계에서 수행한 인터랙티브 디자인을 구현해야 하며 항상 제품의 상호 작용성과 사용 편의성에 주의를 기울여야 한다는 것입니다. 디자인 과정에서 우리는 각 구조와 각 단계의 렌더링을 해야 합니다. 우리는 아이콘, 버튼, 배경 이미지 등의 그림만 제공할 수 없습니다. 이 경우 프로그래머는 이 기간 동안 이러한 것들을 어디에 배치해야 할지 알 수 없습니다. 소프트웨어 인터페이스의 프리젠테이션 형식을 마무리해야 합니다. 기술 모델링은 일반적으로 전체 소프트웨어 개발을 기능 모듈로 나누고 이를 개발 팀에 하나씩 할당하는 수석 프로그래머에 의해 완료됩니다. 그러나 기술 모델링을 담당하는 이러한 수석 프로그래머는 소프트웨어가 어떻게 생겼는지, 스타일이 무엇인지보다는 전체 디자인을 코드로 구현하는 방법, 기존 모듈을 더 효과적으로 재사용하는 방법 등에 대해 더 많이 생각하는 경우가 많습니다. 따라서 UI 디자이너로서 우리는 우리의 아이디어가 완전히 실현될 수 있도록 주도권을 갖고 그들과 많이 소통해야 합니다. 기술적인 구현 문제가 있으면 시기적절하게 수정해야 합니다. 때로는 소프트웨어 설치 탐색 인터페이스, 제품 시연 및 판촉 애니메이션, 일부 동반 바탕화면 배경화면 또는 화면 보호기를 포함하여 고객이나 제품의 특정 요구 사항을 기반으로 일부 확장된 디자인(UI 제품 디자인 확장이라고도 함)을 수행해야 할 수도 있습니다. , 소프트웨어를 대표하는 만화 엘프이며 때로는 소프트웨어 로고 및 광고 배너 등을 디자인하도록 요청받습니다. 기술 모델링 기간의 핵심은 "스타일과 인터페이스 디자인"입니다. 3. 모듈 개발 기간: 이 기간 동안 소프트웨어 개발 프로세스는 구현 단계에 진입합니다. 이 기간은 가장 많은 인력이 필요한 기간이기도 하며 UI 디자이너의 에너지를 산만하게 합니다. 소프트웨어는 코딩을 위해 여러 개의 작은 모듈로 나누어지고 최종적으로 완전한 소프트웨어 제품으로 통합됩니다. 프로그래머의 경우 대부분은 제품이 어떻게 보여야 하는지, 전체적인 스타일이 어떻게 되어야 하는지 고려하지 않습니다. 그들이 고려하는 것은 코드를 사용하여 디자인 요구 사항을 구현하는 방법뿐입니다. 게다가 오늘날 대부분의 소프트웨어 회사는 모듈을 사용하면 인건비를 크게 절약할 수 있으며, 그러면 프로그래머는 새 소프트웨어 제품에 맞게 원본 템플릿만 수정하므로 UI 디자인의 최종 구현 및 구현에 많은 문제가 발생합니다. 만들어진 모든 모듈을 사용할 수는 있지만 통일성이 없이 "독립적으로 작동"하므로, UI 디자인 요구 사항을 완전히 실현할 수 있도록 프로그래머를 적극적으로 지원하고 감독해야 합니다. 그리고 시간에 맞춰 디자인을 수정하십시오. 일부 모듈에는 별도의 스타일이 필요한 경우가 있습니다. 예를 들어 일부 기존 소프트웨어 제품을 새 제품에 통합해야 하는 경우에는 제품의 전체 스타일이 일관되도록 해야 합니다. 변화에 따라 기존 제품의 디자인 스타일을 통합하여 새로운 제품 표현에 더욱 적합하게 만들어야 합니다. 원래 제품의 스타일을 그대로 유지한다면 다양한 모듈을 조합할 때 새 제품이 느슨하게 느껴지고 각 기능이 또 다른 소프트웨어처럼 느껴져 소프트웨어의 인상이 덜해질 것입니다. 이 단계에서도 우리는 더욱 적극적으로 각 모듈 인터페이스 구현에 대한 후속 조치를 취해야 합니다. 요즘에는 많은 소프트웨어 회사에서 UI 디자이너와 프로그래머 사이에 협업 문제가 많습니다. 프로그래머가 UI 디자인 요구 사항을 충족하지 못하거나 UI 디자이너가 자신의 아이디어를 일부 변경하지 않으려고 고집하는 경우가 종종 있습니다. 내가 뭔가 만드는 걸 도와달라고 했어! 소프트웨어가 통합되면 두 번째로 보면 다양한 스타일의 것들이 쌓여 있어 처음부터 끝까지 불편함을 느끼게 됩니다. 이를 본 리더나 고객은 극도로 불만을 품고 한동안 비난을 받았습니다. UI 디자인이 제대로 이루어지지 않은 것으로 드러났습니다. 어떤 사람들은 UI 디자이너들이 소프트웨어의 실패에 대해 사람들이 코드가 어떻게 작성되었는지, 기능이 어떻게 구현되었는지 볼 수 없기 때문에 비난을 받는다고 말합니다. 사용자에게 소프트웨어 리뷰를 요청하면 소프트웨어가 사용하기 쉽고 보기 좋고 아름답다고만 말할 것이지만 일반 사용자로서 소프트웨어 프로그램이 잘 작성되었다고 말할 사람은 아무도 없습니다. 이렇게 보면 현재 소프트웨어 개발의 주요 갈등은 UI 디자이너와 프로그래머 간의 갈등이라고 생각하게 됩니다. 사실 이는 표면적인 표현일 뿐입니다.
본질적으로 이 현상은 오늘날 소프트웨어 회사의 일반적인 문제를 반영합니다. 즉, 프로그래머와 UI 디자이너 간의 수평적 협업 관계가 있다는 것입니다. 이 시점에서 프로그래머는 제품에 대한 책임이 없습니다. UI 디자이너는 디자인에 어떤 변경이나 추가가 있더라도 개발 프로젝트 관리자와 제품 관리자 사이의 협의를 거쳐 결정해야 합니다. . 이는 또한 프로그래머와 UI 디자이너 사이의 많은 논쟁과 갈등을 피할 수 있습니다. 하지만 지금은 대부분 소프트웨어 회사의 제품 관리자나 개발 프로젝트 관리자들이 UI 디자이너나 프로그래머의 업무를 전혀 이해하지 못하고 업무량을 파악하지 못한다고 말합니다. 문제의. 실제로 회사가 UI 디자이너가 아니더라도 자신과 회사에 적합한 "UI 디자인 요구 사항 신청서"를 작성할 수 있으며, "입력" 내용과 작업 내용을 나열해야 합니다. 시간, 최종 "출력" 결과 및 기타 열(요구사항에 따라 유연하게 결정할 수 있음) 이는 참여자, 증거, 기반이 있는 작업 프로세스를 형성합니다. 문제나 분쟁이 발생하면 의존할 수 있는 증거가 있습니다. 이는 회사마다 반드시 요구 사항을 설정하는 것은 아닙니다. 모듈 개발 기간 동안 UI 디자이너가 해야 할 일은 모듈 개발 초기 단계에서 제품의 각 모듈이 미치는 효과를 데모(그림 형식으로 표현 가능)로 만들어 프로그래머가 그에 맞춰 모듈을 개발하도록 하는 것입니다. 데모 스타일에 맞춰 프로그램을 보조하고 감독합니다. 프로그래머는 UI 디자인 요구 사항을 엄격히 준수하여 최종 제품을 생성하고, 각 모듈의 통일성을 파악하며, 종종 프로그래머의 작업 진행 상황을 이해하여 불합리하거나 구현하기 어려운 디자인에 대해 신속하게 논의하고 새로운 솔루션을 고안합니다. 모듈 개발 기간의 핵심은 "프로그래머가 최종 제품을 생산할 수 있도록 지원하고 감독하는 것"입니다. 4. 테스트 기간 동안의 입력 및 출력: 소프트웨어 제품 테스트는 세 가지 테스트 단계로 나누어집니다. 첫 번째는 모듈 개발이 완료된 후 각 모듈의 단위 테스트입니다. 두 번째는 각 단위를 전체로 통합하는 것입니다. . 제품은 통합 테스트를 거칩니다. 세 번째는 배송 전 전체 제품에 대한 전반적인 테스트입니다. 테스트 과정에서 UI 디자이너의 작업은 비교적 쉬울 것입니다. 우리는 테스터에게 프로세스를 여러 번 따라가기만 하면 됩니다. UI 디자인 요구 사항이 준수되지 않은 경우 시간 내에 수정을 요청할 수 있습니다. 우리는 종종 테스트 과정에서 무언가가 부적절하고 수정이 필요하다고 느끼는 경우가 많습니다. 이것은 또한 때때로 우리 디자인의 모든 단계가 확실하다면 그들이 말하는 것이 반드시 옳지 않을 수도 있습니다. 진실은 그들을 확신시킬 수 있고 모든 것이 잘 될 것입니다. 만약 그들이 설계안 수정을 고집한다면 우리는 고객의 요구에 따라 수정할 수밖에 없습니다. 하지만 이 글의 과정을 따른다면 수정이 되더라도 큰 변화는 없을 것 같다는 생각이 듭니다. 수정 과정에서 우리는 렌더링을 먼저 해야 하고 이를 구현하기 전에 고객에게 확인을 해야 합니다. 이렇게 하면 많은 문제도 피할 수 있습니다. 테스트 기간의 핵심은 '제품 전체를 점검하고 발견된 문제를 적시에 수정하는 것'이다. 요즘에는 점점 더 많은 소프트웨어가 인간 요소를 고려합니다. "사람 중심" 디자인 개념은 전체 소프트웨어 제품 개발에 적용됩니다. 따라서 소프트웨어 제품의 UI 디자인 프로세스에서 가장 중요한 두 부분은 동작과 구조입니다. , 디자인 및 인터페이스 디자인. 이상에서는 소프트웨어 개발의 4단계에 따라 각 시기별 UI 디자인 작업을 하나씩 분석하였다. 이것으로부터 우리는 UI 디자인이 전적으로 예술 디자인 프로세스가 아니라는 것을 알 수 있습니다. 또 다른 중요한 부분은 상호 작용과 사용 편의성의 디자인입니다.