GUI에 ISO 26262를 적용할 때 참고할 내용
GUI는 운전자가 차량의 상태를 파악하고 제어하는 중요한 수단입니다. ASIL(Automotive Safety Integrity Level) A부터 D까지의 등급에 따라 GUI의 안전 요구사항이 달라집니다. ASIL D가 가장 높은 수준의 안전성을 요구합니다.
ISO 26262를 준수하여 차량의 GUI를 설계할 때, 레이아웃, 객체 배치, 폰트, 글자 크기, 색상, 그리고 객체의 특징을 신중하게 고려해야 합니다. 이러한 요소들은 운전자가 시스템 정보를 명확하게 이해하고 안전하게 차량을 조작할 수 있도록 도와줍니다.
즉, 레이아웃은 직관적이고 일관성 있게 설계하며, 객체는 쉽게 접근할 수 있고 오조작을 방지할 수 있도록 배치해야 합니다. 표시 명칭은 명확하고 간결하게 작성하고 폰트와 글자 크기는 가독성을 유지하면서 정보의 중요도에 따라 최적화되고, 색상은 표준화된 색상으로 명확하게 대비되도록 선택되어야 합니다. 그래야 운전자가 시스템의 상태를 신속하게 파악할 수 있고 이를 통해 차량의 안전성과 운전자의 사용자 경험을 향상시킬 수 있습니다.
GUI ISO 26262의 사용 목적
GUI ISO 26262의 주요 목적은 운전자와 차량 시스템 간의 상호작용이 안전하고 명확하게 이루어지도록 하는 것입니다. 이를 통해 운전자는 차량의 상태를 정확하게 파악하고, 필요한 조치를 신속하게 취할 수 있습니다.
- 안전성 보장: GUI가 운전자에게 중요한 정보를 명확하고 신속하게 전달하여 안전성을 보장합니다.
- 사용자 경험 향상: 직관적이고 사용하기 쉬운 인터페이스를 제공하여 운전자의 집중을 유지합니다.
- 신뢰성 확보: 차량 시스템이 예상대로 작동하지 않을 경우, GUI를 통해 즉각적인 피드백을 제공하여 신뢰성을 높입니다.
- 법적 요구사항 충족: 차량 시스템이 안전 표준을 준수하도록 지원합니다.
버전 | 발표 날짜 | 특징 및 개선 사항 |
ISO 26262:2011 | 2011년 | GUI의 기본 안전 요구사항 정의, 초기 적용 단계 |
ISO 26262:2018 | 2018년 | 자율주행 및 ADAS 시스템에 맞춘 GUI 안전 요구사항 강화, 사용자 인터페이스 명확성 강조 |
ISO 26262:2023 | 2023년 (예정) | 최신 HMI(Human-Machine Interface) 기술 적용, UI 응답성 및 오류 처리 강화 |
ASIL A 수준에서의 GUI 경고 메시지
ASIL A는 상대적으로 낮은 위험성을 가진 시스템에 적용되므로, 경고 메시지는 심각하지 않은 경고를 전달할 때 사용됩니다. 일반적으로 사용자에게 알림을 주지만, 즉각적인 조치가 요구되지 않는 경우가 많습니다. 예를 들어, 객실 온도가 약간 높은 경우, 운전자에게 경고 메시지를 표시하지만, 즉각적인 조치가 필요하지 않은 상황입니다.
// ASIL A 수준: 정보성 경고 메시지
void displayASILAWarnMessage() {
if (cabinTemperature > 25) {
// 정보성 경고 메시지, 즉각적인 조치가 필요하지 않음
showMessage("Cabin temperature is slightly high. Consider adjusting air conditioning.");
highlightUIElement("temperatureIcon");
}
}
ASIL B 수준에서의 GUI 경고 메시지
ASIL B는 중간 수준의 위험성을 가진 시스템에 적용됩니다. 이 경우 경고 메시지는 운전자에게 주의를 환기시키고, 필요 시 적절한 조치를 취할 것을 권장합니다. 아래는 브레이크 패드 마모 수준이 낮아진 경우, 운전자에게 정비를 예약하라는 경고 메시지를 표시합니다. 이는 주의 환기 수준에서 조치를 권장하는 메시지입니다.
// ASIL B 수준: 주의 경고 메시지
void displayASILBWarnMessage() {
if (brakePadWearLevel < THRESHOLD) {
// 주의 경고 메시지, 운전자에게 주의를 환기시키고 조치를 권장
showMessage("Brake pad wear level low. Schedule maintenance soon.");
highlightUIElement("brakePadIcon");
}
}
ASIL C 수준에서의 GUI 경고 메시지
ASIL C는 상대적으로 높은 위험성을 가진 시스템에 적용됩니다. 이 경우 경고 메시지는 즉각적인 조치를 요구하며, 시스템의 안전성을 위협할 수 있는 중요한 문제를 경고합니다. 아래처럼 타이어 압력이 위험 수준으로 낮아진 경우, 운전자에게 차량을 즉시 정지할 것을 요구하는 긴급 경고 메시지를 표시합니다. 시각적 및 청각적 경고를 통해 즉각적인 조치를 유도합니다.
// ASIL C 수준: 긴급 경고 메시지
void displayASILCWarnMessage() {
if (tirePressure < CRITICAL_PRESSURE) {
// 긴급 경고 메시지, 즉각적인 조치가 필요
showMessage("Tire pressure critically low! Stop the vehicle immediately.");
flashWarningIcon("tirePressureIcon");
activateAudibleAlert();
}
}
ASIL 수준 | 경고 메시지 예시 | 특징 |
ASIL A | "Cabin temperature is slightly high. Consider adjusting air conditioning." |
정보성 경고, 즉각적인 조치 필요 없음 |
ASIL B | "Brake pad wear level low. Schedule maintenance soon." | 주의 경고, 적절한 조치 권장 |
ASIL C | "Tire pressure critically low! Stop the vehicle immediately." | 긴급 경고, 즉각적인 조치 필요 |
1. 레이아웃
레이아웃은 운전자가 정보를 쉽게 인식하고, 필요한 조작을 신속하게 할 수 있도록 설계되어야 합니다. ISO 26262에서는 레이아웃이 직관적이고 일관성을 유지하며, 중요 정보가 잘 보이는 위치에 배치되도록 요구합니다.
- 중요 정보는 중심에 배치: 속도계, 연료 게이지, 경고 아이콘과 같은 중요한 정보는 운전자가 가장 쉽게 볼 수 있는 중앙에 배치합니다.
- 관련 기능은 근접 배치: 관련 기능(예: 내비게이션과 미디어 플레이어, 공조 시스템)은 함께 배치하여 운전자가 직관적으로 접근할 수 있게 합니다.
- 화면의 균형 유지: 인터페이스가 균형 잡힌 레이아웃을 유지하여, 정보가 과도하게 집중되지 않도록 합니다.
------------------------------------------------
| Speedometer | Fuel Gauge | Warning |
| | | Icons |
|----------------------------------------------|
| Navigation | Media Player | Climate |
| Display | Controls | Control |
------------------------------------------------
주의 사항
- 과도한 정보 피하기: 레이아웃에 너무 많은 정보를 배치하면 운전자의 주의가 분산될 수 있습니다. 필수 정보만 포함되도록 합니다.
- 일관성 유지: 모든 화면에서 유사한 레이아웃을 사용하여 운전자가 익숙하게 사용할 수 있도록 합니다.
2. 객체 배치
객체(버튼, 슬라이더, 스위치 등)의 배치는 사용자 인터페이스의 직관성과 안전성을 크게 좌우합니다. ISO 26262에 따라, 객체는 쉽게 접근 가능하며, 오조작을 방지할 수 있는 위치에 배치되어야 합니다.
- 손쉬운 접근성: 자주 사용하는 기능은 손이 쉽게 닿는 위치에 배치합니다. 중요한 버튼과 컨트롤은 직관적인 위치에 배치하여 오작동을 방지합니다.
- 적절한 간격: 버튼과 다른 인터랙티브 요소 간의 간격을 충분히 두어, 오조작을 방지합니다.
- 피드백 제공: 버튼을 누를 때 시각적 피드백(예: 색상이 바뀌거나 아이콘이 눌리는 애니메이션)을 통해 상호작용이 이루어졌음을 명확히 전달합니다.
------------------------------------------------
| [Speed Up] [Cruise Control] [Speed Down] |
| [Air Flow] [Temperature] [Fan Speed] |
| [Volume Up] [Mute] [Volume Down] |
------------------------------------------------
주의 사항:
- 기능 간 명확한 구분: 유사한 기능이 혼동되지 않도록 명확히 구분합니다. 예를 들어, 속도 조절과 볼륨 조절은 다른 영역에 배치하여 혼동을 줄입니다.
- 휴먼 팩터 고려: 운전 중 손이 쉽게 닿는 위치에 중요한 객체를 배치합니다.
3. 폰트와 글자 크기
- 가독성 높은 폰트 사용: 모든 텍스트는 운전 중에도 쉽게 읽을 수 있도록 명확하고 가독성 높은 폰트를 사용합니다.
- 글자 크기 최적화: 중요한 정보(예: 속도, 경고 메시지)는 큰 글자 크기로, 덜 중요한 정보는 상대적으로 작은 크기로 표시합니다.
- 일관된 스타일: 전체 인터페이스에서 일관된 글꼴과 크기를 유지하여 사용자 경험의 일관성을 제공합니다.
4. 색상
- 표준화된 색상 사용: 경고는 빨간색, 정상 상태는 녹색, 주의가 필요한 상태는 노란색과 같은 표준화된 색상을 사용합니다.
- 명확한 대비: 텍스트와 아이콘이 배경과 명확히 대비되도록 하여, 정보가 쉽게 인식되도록 합니다.
- 색맹 사용자 고려: 색상만으로 정보를 전달하지 않도록, 텍스트나 아이콘을 함께 사용하여 색맹 사용자도 정보를 인식할 수 있게 합니다.
5. 객체 특징
- 명확한 라벨링: 모든 버튼과 컨트롤은 명확한 라벨을 가져야 하며, 이 라벨은 쉽게 이해할 수 있어야 합니다.
- 일관된 아이콘: 동일한 기능에 대해 일관된 아이콘을 사용하여 혼동을 방지합니다.
- 애니메이션과 효과: 시각적 피드백을 위해 애니메이션과 효과를 적절히 사용하되, 지나치게 복잡하거나 주의를 분산시키는 요소는 피합니다.
6. 표시 명칭
표시 명칭(라벨, 메시지 등)은 운전자가 시스템의 상태를 즉시 이해할 수 있도록 명확하고 간결해야 합니다. ISO 26262에 따라, 라벨링과 메시징은 명확성을 최우선으로 하며, 혼동을 줄이기 위해 일관된 용어를 사용해야 합니다.
- 명확한 경고 메시지: "Low Brake Fluid - Refill Immediately"와 같이 경고 메시지는 명확하고 직관적으로 작성하여 운전자가 즉각적으로 이해할 수 있도록 합니다.
- 일관된 용어 사용: "Set", "Cancel", "Reset" 등의 용어는 시스템 전체에서 일관되게 사용하여 혼란을 줄입니다.
- 단위 표기: 온도, 속도 등은 국제 표준 단위를 사용하고, 혼동을 방지하기 위해 단위를 명시적으로 표시합니다.
-----------------------------------------------
| [!] Low Brake Fluid - Refill Immediately |
| [Set] [Cancel] [Reset] |
| Temperature: 22°C |
| Speed: 80 km/h |
-----------------------------------------------
주의 사항:
- 혼동을 줄이는 명칭 사용: 복잡한 용어 대신 쉽게 이해할 수 있는 표현을 사용합니다.
- 언어 및 문화적 차이 고려: 국제적인 사용을 고려하여 다양한 언어로 지원되도록 하고, 문화적 차이를 반영하여 적절한 표현을 사용합니다.
참고 사이트 및 링크
GUI ISO 26262와 관련된 자세한 정보와 최신 표준 문서는 다음의 웹사이트에서 확인할 수 있습니다: 이 사이트들은 ISO 26262와 관련된 최신 정보, GUI 설계 지침, 안전 요구사항 등을 제공하며, 자동차 소프트웨어 개발자들이 표준을 적용하는 데 필요한 지침을 제공합니다.
- ISO 공식 웹사이트
URL: https://www.iso.org - SAE International
URL: https://www.sae.org - Automotive Safety Integrity Level (ASIL) 관련 정보
URL: https://www.asil.org
'코딩취미 > 프로그램 지식' 카테고리의 다른 글
무료 아이콘과 무료 폰트 사이트 : goole fonts 사용하기 (0) | 2024.08.12 |
---|---|
구글 무료이미지를 사용한 이미지 변환(SVG to PNG, Resize) 사이트 정리 (0) | 2024.08.12 |
서비스 지향 아키텍처(SOA)와 마이크로서비스 아키텍처기반 프로젝트 특징 및 비교 (0) | 2024.03.22 |
클린 아키텍처 기반 프로젝트 vs 도메인 주도 설계(DDD) 기반 프로젝트 특징 비교 정리 (0) | 2024.03.21 |
오픈소스 라이센스 결합 기본 원칙 및 호환성 이슈 (0) | 2024.02.29 |