본문 바로가기
CS

[SW 설계] UI/UX, UI 설계 원칙, UI 품질 요구사항

by CAP.HEK 2024. 8. 26.

UI(User Interface/사용자 인터페이스)

사용자와 시스템간 상호작용을 원활하게 도와주는 것, 하드웨어 임베디드 시스템의 제어와 처리까지

포함하는 포괄적인 개념입니다.

즉 사용자와 컴퓨터 시스템 사이의 의사소통 매개를 의미합니다.

통상 효율적인 작동과 사용자의 제어를 보장하는 것을 목표로 설계, 제작합니다.

UX(User eXperience/사용자 경험)

물건, 서비스, 시스템을 사용하며 겪는 사용자의 경험을 뜻합니다.

사용자에게 직관적이고 만족스러운 경험을 주기 위해 개발, 설계하는 것으로 UI에서 더 확장된 개념입니다.

 

UI 종류 4가지

- CLI(Command Line Interface) : 명령과 출력이 텍스트 형태 (cmd 터미널 등의 Unix shell 환)

- GUI(Graphical User Interface) : 시각적으로 보여주며 그림, 버튼 등을 포함하는 환경입니다.

- NUI(Uatural User Interface) : 키보드나 마우스 외의 신체 부위를 이용하는 인터페이스입니다(터치, 음성 등)

- OUI(Organic User Interface) : 현실에 존재하는 대부분의 사물을 입출력장치로 사용하는 UI입니다.

 

UI 설계 원칙 4가지

- 직관성(Intuitiveness) : 누구나 직관적으로 쉽게 이해하고, 직관적으로 사용하기 쉬워야 합니다.

부가 특성 : 간편 검색, 간편 사용, 일관적

- 유효성(Efficiency) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야합니다.

부가 특성 : 오류 처리와 복구가 간편

- 학습성(Learnability) : 초보, 숙력자 모두 쉽게 배우고 사용할 수 있어야합니다.

부가특성 : 간편한 학습, 간편한 접근, 간단히 기억

- 유연성(Flexibility) : 사용자의 요구사항을 최대한 수용하면서도, 실수를 방지할 수 있도록 제작합니다. 

부가특성 : 오류 예방, 오류 감지, 실수 포용

 

UI 설계 지침

사용자 중심 : 사용자가 이해하기 쉽고, 편하게 사용할 수 있는 환경을 제공해야합니다. 

이를 위한 실 사용자에대한 이해가 필요합니다.

일관성 : 버튼이나 조작 방법은 사용자가 기억하기 쉽고 빠르게 배울 수 있도록 일관성 있게 설계해야합니다.

단순성 : 조작 방법은 가장 간단하게 작동되도록 하여 조작에 번거로운 작업을 최소화 해야합니다.

결과 예측 가능 : 기능만 보고도 결과를 예측 할 수 있도록 제작합니다.

가시성 : 주요 기능을 메인 화면에서 보여주어 조작을 쉽게 해야합니다.

표준화 : 디자인을 표준화하여 선행적인 기능을 학습 한 이후에는 쉽게 사용 할 수 있어야합니다.

접근성 : 사용자의 직무, 연령, 성별 등이 고려된 다양한 계층이 접근 할 수 있도록 수용해야 합니다.

명확성 : 사용자가 개념적으로 쉽고 명확히 인지해야합니다.

오류 발생 해결 : 사용자가 오류에 대한 상황을 정확하게 인지 할 수 있어야합니다.

 

UI  요구사항

기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항

(달력 기능에서 일정을 기록하고 체크할 수 있는 기능, 다른 유저에게 메시지를 보낼 수 있는 기능 등)

비기능적 요구사항 : 사용성, 효율성, 신뢰성, 유지보수성, 재사용성 등 품질에 관한 요구사항

(유저가 많아 서버에 부하가 생기면 트래픽을 분산하여 원활한 통신을 보장할 것, 응답 시간은 1초를 넘지 않을 것 등)

 

UI  품질 요구사항(ISO/IEC 9126)

1.기능성(Functionality)

실제 수행 결과와 품질 요구사항과 차이 분석 후 실제 사용 시 정확하지 않은 결과가

발생할 확률과 관련하여 시스템의 동작을 관찰하기 위한 품질 기준입니다.

[상세 품질 요구사항]

적절성(Suitability) : SW제품이 주어진 작업과 사용자의 목표에 적절한 기능들을 제공해 줄 수 있는지

정밀성(Accuracy) : 요구되는 정확도로 올바른 결과를 산출할 수 있는지

상호 운용성(Interoperability) : 특정 시스템과 상호 작용하여 운영될 수 있는지

보안성(Security) : 비인가 된 접근을 차단하고, 우연 또는 고의적인 접근을 인지하여 대처할 수 있는지

호환성(Compliance) : 비슷한 환경에서 연관된 표준, 관례 및 규정을 준수하는 능력이 있는지

 

2.신뢰성(Reliability)

일정한 시간, 작동 시간 동안 의도하는 기능을 수행하는 것을 보증하는 품질 기준입니다.

[상세 품질 요구사항]

성숙성(Maturity) : 결함으로 인한 고장을 회피할 수 있는지

고장 허용성(Fault Tolerance) : 인터페이스 오류 시에도 특정 수준 이상의 성능을 유지할 수 있는지

회복성(Recoverablility) : 고장 발생 시 영향 받은 Data를 복구하고 성능을 다시 확보 할 수 있는지

 

3.사용성(Usability)

사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지하는지 확인하는

품질 기준입니다.

[상세 품질 요구사항]

이해성(Understandability) : 논리적 개념, 적용 가능성(응용 가능성)을 구분하는 데

필요한 사용자의 노력 정도를 의미하는 것

학습성(Learnability) : 학습에 필요한 사용자의 노력 정도에 따른 특성

운용성(Operability) : 운용과 운용 통제에 필요한 사용자의 노력 정도에 따른 특성

 

4.효율성(Efficiency)

할당된 시간에 한정된 자원으로 얼마나 빨리 처리 할수있는지 평가하는 품질 기준입니다.

[상세 품질 요구사항]

시간 효율성(Time Behaviour) : 반응 시간, 처리 시간 및 처리율에 따른 평가

자원 효율성(Resource Behaviour) : 사용되는 자원의 양, 지속시간에 따른 평가

 

5.유지보수성(Maintainability)

요구사항을 개선, 확장하는 데 얼마나 용이한지 평가하는 품질 기준입니다.

[상세 품질 요구사항]

분석성(Analyzability) : SW의 고장 원인이나 결함 진단 또는 수정이 요구되는 부분을 확인하는데 얼마나 자원/시간이 필요한지

변경성(Changeability) : 결함 제거 또는 환경 변화에 따른 수정을 할 때 얼마나 자원이 필요한지

안정성(Stability) : SW 변경으로 발생하는 예상치 못한 영향에 의한 위험 요소에 따른 특성

시험성(Testability) : 검증에 어느정도 자원이 필요한지

 

6.이식성(Portability)

다른 플랫폼(운영체제) 에서도 어느정도 수정을 통해 작동이 가능한지 평가하는 품질 기준입니다.

[상세 품질 요구사항]

적용성(Adaptability) : 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 다른 특정 환경으로 전환되는지

설치성(Installability) : 특정 환경에 SW를 설치하는 데 어느 정도의 자원이 필요한지

대체성(Replaceability) : 특정 환경하 동일 목정을 위해 다른 SW를 대신 사용할 수 있는

 

 

공부하며 필요한 부분을 기록하는 블로그입니다.
틀린 부분, 보완이 필요한 부분이 있다면 알려주시면 감사하겠습니다!