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를 대신 사용할 수 있는
공부하며 필요한 부분을 기록하는 블로그입니다.
틀린 부분, 보완이 필요한 부분이 있다면 알려주시면 감사하겠습니다!
'CS' 카테고리의 다른 글
[Network/IP] CIDR 표기법, 서브넷팅 계산 방법 (4) | 2024.09.11 |
---|---|
[Network/IP] IPv4, IPv6, 클래스. (2) | 2024.09.04 |
IPC(프로세스 간 통신 Inter-process Communication) : 메시지 큐 (Message Queue), 공유 메모리, 세마포어(Semaphore) (0) | 2024.08.22 |
[BCP 비즈니스 연속성 계획] RPO & RTO, 재해 복구 단계 (0) | 2024.08.19 |
암호화 알고리즘 : 대칭키 암호화 알고리즘 (0) | 2024.08.06 |