■ E-GAS Monitoring 시스템 - 3 Level 아키텍처
- 이중화된 입력이 레벨1과 레벨 2에 독립적으로 제공됨
- 레벨 2에서는 제공받은 입력을 토대로 레벨 1에서 계산된 이중화된 출력을 검증
- 레벨 1의 출력은 레벨 2와 레벨 3의 Enable 신호로 검증
- 레벨 3는 제어기의 결함을 감지하기 위해 기능 제어기와 모니터링 제어기로 나누어 수행
■ SW 안전 요구사항 도출 사례(AA 제어기)
■ SW 안전 요구사항 표기법
Informal Notation
-자연어를 이용하여 서술형으로 기술된 요구사항
Semiformal Notation
-UML 등의 모델링 언어를 이용하여 기술된 요구사항
Formal Notaion
-수학적 기호나 수식으로 기술된 요구사항
■ EARS(easy approach to requirements syntax)
UB(ubiqutous) 주요 일반 기능
-entity는 functionality해야 한다
-entity는 entity의 functionality를 위해(대해) functionality해야 한다
EV(event-driven) 이벤트 기능
-precondition일 때 entity는 functionality해야 한다
-entity가 functionality하면 entity는 functionality해야 한다
UW(unwanted behavior) 의도하지 않은 동작
-만약 preconditions이면 entity는 functionality해야 한다
-만약 preconditions이면 functionality의 functionality는 functionality와 functionality에 대해 functionality해야 한다.
ST(state driven) 상태
-in a specific state 동안, entity는 functionality해야 한다
-in a specific state 동안, functionality는 functionality해야 한다
5. OP(optival features) 추가 기능
-feature is included 경우에는 entity는 functionality해야 한다
-preconditions 경우에너는 functionality는 functionality에 대해 functionality해야 한다
※ 예시
■ SW 요구사항이 갖추어야 할 품질 조건 - by IEEE 830
Correct
-사용자 요구와 명시된 요구사항이 중첩되는 부분이 정확한 요구사항
-SW 프로젝트에서 자주 발생하는 현상(사용자 요구에 대한 정보가 일부 생략, 명시된 요구사항에 불필요한 정보 추가)
Unambiguous
-오직 한 가지 해석만이 존재하는 명확한 요구사항
-요구사항이 자연어로 씌어진 경우에 문화에 따라 해석이 다양하기 때문에 의도하지 않은 문제 발생 가능
Complete
-완전한 요구사항의 요건(사용자가 관심 있는 모든 중요한 요구사항이 명시되어 있어야 함, 모든 입력에 대해 요구되는 출력이 정의되어 있어야 함)
-완전함의 확인(유능한 검토자, 특별 지식이 없는 개발자에 의해 검토받을 수 있음)
-비기능적 요구사항의 완전함(사용성, 신뢰성, 성능 등에 대한 가이드라인을 따르는 체크리스트를 만들어 확인)
-기능적 요구사항의 완전함(유즈케이스 기술 이용)
-프로토타입을 통한 완전함(실제 프로토타입을 만들어봄으로써 정의된 요구사항의 문제점을 파악)
Consistent
-각각의 요구사항들이 서로 다른 것들과 충돌하지 않아야 일관된 요구사항
-개발자, 비개발자 등의 신중한 검토와 분석이 이루어져야 함
Ranked for Importance and Stability
-고객에게 있어서 중요도와 안정성을 기준으로 개발자와 고객, 그리고 다른 참여자들이 각각의 요구사항에 순위를 매김
Modifiable
-기존의 구조와 양식을 유지하면서 쉽고, 완전하며, 일관성 있게 변화를 줄 수 있는 수정 가능한 요구사항(중복되지 않고 적절한 목차와 색인 등으로 잘 구성되어야 함)
Traceable
-요구사항 구성 요소 각각의 시작점이 명확하고, 또한 차후 개발 단계에서 요구 사항의 참조가 가능한 장치가 있으면 추적 가능한 요구사항
-요구사항에 대한 순방향/역방향 추적이 모두 필요
-프로젝트에 대한 이해와 요구사항을 모두 구현하고 있다는 높은 신뢰를 제공하기 위해 개발자들이 추적성을 사용할 수 있음
Understandable
-사용자와 개발자가 각각의 요구사항과 종합된 기능을 완전히 이해할 수 있으면 이해하기 쉬운 요구사항
-요구사항이 정제될수록 기술적인 용어들이 명세 가능
-요구사항을 기록하는 사람은 사용자와 개발자 모두 이해할 수 있는 용어 선택
■ 요구사항의 중요성
■ 요구사항의 속성
■ 요구사항 vs 기대사항
■ SW 요구사항 모델링
● 모든 모델링의 기본 원칙을 세 가지 관점에서 출발
기능적인 관점
-자연어, use case diagram, DFD, process diagram
-Sequence diagram, Flowchart
구조적인 관점
-Class diagram, Component diagram, Deploy diagram, ER- diagram, Structure diagram
동적인 관점
-State chart, Flow chart
■ SW 기능안전 요구사항 명세 시 고려사항