User Interface
글꼴, 색상, 로고, 메뉴, 버튼 등과 같이 화면에 나타나는 모습과 사용자가 실제로 조작하는 것들
Usability
Effectiveness: 전체 시스템의 의도된 목표가 달성되는 정도로 측정
Efficiency: 의도한 목표를 달성하기 위해 지출해야 하는 자원으로 측정
Satisfaction: 사용자가 전체 시스템을 수용할 수 있다고 생각하는 정도로 측정
Requirements ans Analysis
End user로부터 요구사항을 수집하는 과정
- 사용자는 시스템이 무엇을 하기를 원하는가
- 이 시스템은 사용자의 일반적인 업무 흐름이나 일상 활동에 어떻게 적용될 수 있는가
- 사용자는 기술에 얼마나 능숙하며, 사용자가 이미 사용하고 있는 유사한 시스템은 무엇인가
- 어떤 인터페이스 모양과 스타일이 사용자에게 어필하는가
Prototyping and Inspection
Prototyping: 종이 프로토타입 또는 간단한 대화형 화면 형태로 wire-frame 개발
Usability inspection: 평가자가 사용자 인터페이스를 검사
Usability testing: 실제 환경에서 사용자가 프로토타입을 테스트
UI Design and Maintenance
UI Design: 최종 사용자 인터페이스의 실제 모양과 스타일을 디자인
Software Maintenance: 새로운 인터페이스를 배포한 후, 소프트웨어 버그를 수정


The Eight Golden Rules of Interface Design
1. Strive for consistency: 유사한 상황에서 일관된 일련의 작업이 요구되어야 한다.
2. Enable frequent users to use shortcuts: 사용자는 상호작용 횟수를 줄이고 상호작용 속도를 높이려는 욕구가 증가하므로, 약어, 기능키, 숨겨진 명령 및 매크로 기능이 있어야한다.
3. Offer informative feedback: 모든 작업에 대해 시스템 피드백이 있어야 한다. 빈번하고 사소한 액션에 대한 피드백은 적당할 수 있지만, 드물고 중요한 액션에 대한 피드백은 보다 실질적이어야 한다.
4. Design dialog to yield closure: 작업 시퀀스는 시작, 중간, 끝이 있는 그룹으로 구성되어야 한다. 일련의 작업을 완료했을 때의 정보적 피드백은 작업자에게 성취감과 안도감을 주며, 마음에서 예상치 못한 사태에 대비한 계획과 옵션을 버릴 수 있는 신호를 주며, 다음 일련의 작업을 준비할 수 있는 길이 명확해졌다는 표시를 준다.
5. Offer simple error handling: 가능한 한 사용자가 심각한 실수를 할 수 없도록 시스템을 설계해야 한다. 오류가 발생하면 시스템은 오류를 감지하고 오류를 처리하기 위한 간단하고 이해하기 쉬운 메커니즘을 제공할 수 있어야 한다.
6. Permit easy reversal of actions: 사용자가 오류를 취소할 수 있다는 사실을 알기 때문에 불안감을 해소하고 익숙하지 않은 옵션을 탐색하도록 장려할 수 있다.
7. Support internal focus of control: 제어의 중심이 시스템이 아닌 사용자가 되도록 해야한다. 사용자가 응답자가 아닌 작업의 시작자가 되도록 시스템을 설계해야 한다.
8. Reduce short-term memory load: 단기 기억에 대한 인간 정보 처리의 한계로 인해 디스플레이를 단순하게 유지하고, 여러 페이지 디스플레이를 통합하고, 창 이동 빈도를 줄이고, 동작 시퀀스에 충분한 교육 시간을 할당해야 한다. (사용자가 무언가를 외워야하는 것을 최소화해야 한다.)
'Computer Science > Software Engineering' 카테고리의 다른 글
| [Software Engineering] Process Improvement: CMMI (0) | 2025.02.12 |
|---|---|
| [Software Engineering] Project Management (0) | 2025.02.08 |
| [Software Engineering] Object-Oriented Design Concepts (0) | 2025.02.04 |
| [Software Engineering] Component-Level Design & Fundamental Design Concepts (0) | 2025.02.02 |
| [Software Engineering] Software Architecture (1) | 2025.01.31 |