[Series Column] 글로벌 경쟁력을 확보하기 위해 알아야 하는 SW안전 설계 요구사항 4편


7. 휴먼 인터페이스

7.1 컴퓨터/휴먼 인터페이스 문제

CHI 이슈는 그 자체로 SW 문제가 아니다. 실제로는 시스템의 고유한 사양이고 설계 이슈다. 그러나 많은 CHI 기능이 SW로 구현되고 CHI 이슈는 개발 마일스톤 검토에서 SW와 동시에 처리되는 경우가 많다.

  • 개발자는 CHI 설계의 안전관련 측면을 명시적으로 다루고, 여기에 예상되는 단일 및 다중 작업자 결함 분석이 포함되어 있어야 한다. 어떤 종류의 인적 요소, 인체 공학 및 인지 과학 분석도 수행되어야 한다 (예: 인지과부하, 디스플레이 정보의 모호성)

  • 설계는 잘못된 운용자 요청이 운용자에게 표시되고 식별되도록 보장해야 한다 (단순히 무시하거나 혹은 "올바른" 값에 조용하게 매핑).

  • 개발자는 시스템이 안전관련기능을 수행하기 위해 항상 최소 두 개의 독립적인 명령을 요구하도록 해야 한다. 필수 시퀀스를 시작하기 전에 설계에 운용자의 응답 또는 승인을 필요로 하게 해야 한다.

  • 개발자는 운용자의 인식 없이 시스템을 다른 안전관련 상태로 만들 수 있는 "silent mode change"가 없도록 해야 한다. (즉, 알림과 함께 필수모드 전환이 발생하는 것을 설계에서 허용하지 않음)

  • 개발자는 안전관련 상태의 변화에 대해 긍정적인 보고가 있도록 해야 한다.

  • 시스템설계는 안전기능이 실행되었다는 통지를 제공하고 운용자에게 원인을 통지해야 한다.

  • 모든 필수 입력은 명확하게 구별되어야 하고, 이러한 모든 입력은 범위, 일관성, 유효성을 점검해야 한다.


7.2 처리 취소

SW는 운용자가 단일 작업으로 현재 처리를 취소하고 시스템이 설계된 안전한 상태로 되돌아 가도록 설계되어야 한다. 시스템은 운용자가 한 번의 작업으로 잠재적으로 불안전한 상태를 종료할 수 있도록 설계되어야 한다.

이 작업은 시스템을 알려진 안전한 상태로 되돌려야 한다. (예: 운용자는 미사일을 보호해야 하는 단일 작업으로

미사일 발사 처리를 종료 할 수 있어야 한다.) 작업은 동시에 두 개의 키, 버튼 또는 스위치를 누르는 것으로 구성

될 수 있다. 운용자의 반응 시간이 사고를 방지하기에 충분하지 않은 경우 SW는 시스템을 알려진 안전한 상태로

되돌리고 결함을 보고하고 시스템 상태를 운용자에게 보고해야 한다.


7.3 위험 기능 시작

잠재적인 위해 기능 또는 일련의 기능을 시작하려면 두 개 이상의 고유한 운용자 조치가 필요하다.

필요한 조치는 부주의한 작동 가능성을 최소화하도록 설계해야 하며 적절한 순서를 확인해야 한다.


7.4 안전관련 디스플레이

안전관련 운용자 디스플레이, 레전드 및 기타 인터페이스 기능은 명확하고 간결하며 모호하지 않아야 하며 가능한

경우 분리된 디스플레이 장치를 사용하여 복제해야 한다.


7.5 운용자 입력 오류

SW는 부적절한 운용자 엔트리 또는 작업 시퀀스를 감지할 수 있어야 하며 결과적으로 안전관련기능의 실행을 방지

할 수 있어야 한다. 운용자에게 잘못된 엔트리 또는 작동을 경고해야 한다. 경고는 오류와 수정조치를 나타내야 한다. 또한 SW는 유효한 데이터 엔트리 또는 취해진 조치에 대한 긍정적인 확인을 제공해야 한다

(즉, 시스템은 운용자에게 시각적 및/또는 청각적 피드백을 제공하여 운용자로 하여금 시스템이 조치를 수락하고

처리 중임을 알 수 있도록 해야 한다). 또한 시스템은 기능이 작중임을 실시간 표현으로 제공해야 한다.

몇 초 이상 필요한 처리 기능은 처리 중에 작업자에게 상태 표시기를 제공해야 한다.


7.6 안전관련 경고

경고는 일상적인 경고가 안전관련 경고와 쉽게 구별되도록 설계되어야 한다. 운용자는 수정 조치를 취하거나 진행중인 작업을 완료하는데 필요한 후속 조치를 수행하지 않고 안전관련 경고를 지울 수 없도록 해야 한다.


7.7 불안전한 상황 경고

운용자에게 불안전한 상황을 경고하는 신호는 운용자 인터페이스에 가능한 한 간단하게 전달되어야 한다.


7.8 불안전한 상태 경고

운용자 인터페이스가 제공되고 잠재적으로 불안전한 상태가 감지된 경우 시스템은 감지된 이상현상, 취해진 조치,

결과 시스템 형상 및 상태에 대해 운용자에게 경고해야 한다.


8 필수 타이밍 및 인터럽트 기능

8.1 안전관련 타이밍

안전관련 타이밍 기능은 컴퓨터로 제어해야 하며 사람의 입력에 의존해서는 안 된다. 시스템 설계에서 특별히

요구하지 않는 한 안전관련 타이밍 값은 시스템 콘솔에서 작업자가 수정할 수 없도록 해야 한다. 작업자가 수정한

경우에, 컴퓨터는 합리적인 타이밍 값을 결정해야 한다.


8.2 유효한 인터럽트

SW는 유효하고 유효하지 않은 (즉, 가짜) 외부 및/또는 내부 인터럽트를 구별 할 수 있어야 한다. 유효하지 않은

인터럽트는 위험한 조건을 만들 수 없도록 해야 한다. 유효한 외부 및 내부 인터럽트는 시스템 규격에 정의되어야 한다. 내부 SW 인터럽트는 시스템의 분석 가능성을 감소시키기 때문에 선호되는 설계가 아니다.


8.3 재귀 루프

재귀 및 반복 루프에는 문서화 된 최대 실행 시간이 있어야 한다. 루프가 최대 실행 시간을 초과하지 않도록 합리적인 점검이 수행되어야 한다.


8.4 시간 의존성

프로그램의 결과는 프로그램을 실행하는데 걸린 시간이나 실행이 시작된 시간에 의존해서는 안 된다.

실시간 프로그램의 안전관련 루틴은 사용된 데이터가 여전히 유효한지를 보장해야 한다 (즉, 노화 점검을 사용하여).


SW개발에서 요구사항은 무엇을 만들지를 정의하고, 어떤 순서로 만들 것이며, 일정과 비용, 소요 인력의 수 등을

파악할 수 있는 가장 기본적인 도구입니다. 일반적인 SW안전 요구사항은 일반적인 SW안전 문제를 해결하기 위해

다양한 사업과 작동환경에서 사용되었던 요구사항들의 모범 사례로 만들어졌습니다. SW엔지니어는 모범 사례로부터 현재 개발 중인 시스템에 맞도록 일반적인 SW안전 요구사항을 적절히 선택하고 조정하여 적용하면 시행착오를

줄이고, 재 작업이나 중복작업을 방지할 수 있습니다. 본 칼럼에서 소개한 SW안전 요구사항 지침은 또한 SW개발

품질 상황을 점검하는 체크리스트로도 활용될 수 있습니다.


자금∙인력∙기술부족으로 SW안전기술 역량 확보에 많은 어려움이 있는 국내 중소기업의 글로벌 경쟁력 확보에

기여하기 위한 정보통신산업진흥원의 SW안전기술 역량강화 사업의 지속적인 다양한 활동들과 노력에 감사 드리며

기대했던 목적과 효과가 이루어질 수 있는 그날까지 다같이 함께 할 수 있기를 기대합니다.


본 내용은 칼럼 작성자 개인의 의견으로 정보통신산업진흥원의 공식적인 의견이 아니며

사용되는 용어는 산업분야별로 달리 사용될 수 있음을 알려드립니다.


조회 65회댓글 0개