Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Node Property
- 소프트웨어
- reset
- 깃허브 토큰 생성
- 채팅 프로젝트
- submit 기본동작
- vue 실행
- git 폴더 모으기
- 타임리프 참조 오류
- EL1021E
- Quartz 라이브러리
- Jenkins
- .ppk
- firstChild
- document 함수
- AWS 생성
- Quartz dependency
- 되돌리기
- 깃허브 토큰 발급
- 클래스 참조
- dbeaver 백업/복구
- 테스팅
- ..gitignore
- 배열 call by value
- 환경변수
- 배포 자동화
- vue 추가
- CI/CD
- deploy.sh
- 자바 swing 프로젝트
Archives
- Today
- Total
TY blog
소프트웨어 신뢰성, 안전성 공학 본문
1. 결함-오류-고장 모델 (fault-error-failure) : 결함 -> 오류 -> 고장(장애)으로 이어지는 개념
1. 시스템 오류 또는 실수 (human error or mistake) | 시스템 결함이 생기게 하는 사람의 행동 |
2. 시스템 결함 (system fault) | 시스템 오류로 이어질 수 있는 시스템의 특성 |
3. 시스템 오류 (system error) | 예기치 못한 시스템 행동으로 이어질 수 있는 시스템의 잘못된 상태 |
4. 시스템 장애 (system failure) | 사용자가 기대하는 서비스를 시스템이 제공하지 못하는 특정 시점의 사건 |
2. 신뢰성을 위한 3가지 보완적인 접근법
- 결함회피 (fault avoidance) : 설계 및 프로그래밍 오류를 피하는 소프트웨어 개발 방식으로 시스템에 도입되는 결함을 최소화한다.
- 결함 감지 및 정정 (fault detection & correction) : 검증 및 확인 (v&v) 프로세스를 통해 결함을 발견하고 제거한다.
- 결함 내성 (fault tolerance) : 실행 중에 결함이나 시스템의 예기치 못한 행동을 감지하며 시스템 장애가 일어나지 않도록 시스템을 설계하며 실행 중에 소프트웨어나 하드웨어 결함이 발생하고 시스템 상태가 잘못된 경우에도 시스템이 동작을 계속진행
3. 가용성과 신뢰성
- 가용성 : 주어진 시점에서 시스템이 운영 중이고 요청된 서비스를 제공할 확률 (어떤 시점에 시스템이 작동할 확률)
- 신뢰성 : 주어진 환경에서 특정 목적을 위해 지정된 시간 동안 고장 없이 운영될 확률
4. 신뢰성 측정항목 - 척도
- POFOD (probability of failure on demand) 요구에 대한 고장 확률 : 시스템 서비스에 대한 요구가 시스템 장애를 일으킬 확률 - 요구에 대한 실패가 심각한 시스템 장애로 이어지는 경우 측정, POFOD = 0.001은 어떤 요구가 있을 때 1/1000 확률로 고장이 발생한다는 것을 의미한다.
- ROCOF (rate of occurrence of failure) 고장 발생 비율 : 어떤 시간 간격(또는 시스템 실행 횟수) 동안 발생할 수 있는 시스템 장애 횟수 - 요구의 빈도가 정기적일 때 측정하며 1000개의 트랜잭션 중 1개가 실패한다면 고장 확률이 0.001이라고 할 수 있다.
- MTTF (mean time to failure) 평균 고장 시간 : (장애시간을 제외한 운영시간) / (장애난 횟수)로 계산할 수 있다.
- MTBF (mean time between failure) 평균 고장 사이 간격 : (총 운영시간) / (장애난 횟수) or MTTF + MTTR으로 계산할 수 있다.
- MTTR (mean time to repair) 평균 수리 시간 : (장애시간) / (장애난 횟수)로 계산할 수 있다.
- AVAIL (availability) 가용성 척도 : 서비스 요구가 있을 때 시스템이 운영중인 확률 (장애시간을 제외한 운영시간) / (전체시간) 으로 계산할 수 있다.
* MTTF, MTBF, MTTR 계산
동작 | 동작 | 장애 | 장애 | 동작 | 동작 | 동작 | 동작 | 동작 | 동작 |
테이블 1개당 1시간의 운영시간으로 잡아 계산을 진행하며 10시간에 2번 장애가 발생했다.
MTTF : 8시간 / 2(장애 횟수) => 4
MTTR : 2시간 / 2(장애 횟수) ==> 1
MTBF : MTTF + MTTR = 10시간 / 2(장애 횟수) ==> 5
이렇게 계산할 수 있다.
5. 안전성 (safety)
사람의 사망이나 부상을 초래할 위험이 없고 시스템 환경에 대한 손상 없이(정상 또는 비정상적으로) 작동하는 시스템의 능력을 반영하는 속성
위험(hazard) : 사고로 연결될 수 있는 상황이나 사건(부품 고장, 계산오류)을 말하며 위험이 항상 사고로 이어지는 것은 아니다.
* 안전성 요구사항 : 일어나지 말아야 할 상황이나 사건을 명시 (하지 말아야 할 요구사항)
예시) 자동차 시스템에서 주차완료 후에는 엑셀을 밟아도 앞으로 가지 말아야 한다.
6. 위험 주도 안전성 명세 프로세스
- 위험 식별(hazard identification) : 시스템을 위협할 수 있는 위험들을 식별한다.
- 위험 평가(hazard assessment) : 어떤 위험들이 가장 위험한지, 가장 발생가능성이 높은지 평가
- 위험 분석(hazard analysis) : 시스템 위험의 원인을 분석하고 리스크를 줄이기 위함
- 리스크 감소(risk reduction) : 리스크가 사고로 이어져도 피해가 최소화될 수 있게 보장
* 참고문헌 : (주)한티에듀 소프트웨어공학 제10판
'소프트웨어 공학' 카테고리의 다른 글
소프트웨어 형상관리 (0) | 2023.12.06 |
---|---|
분산 소프트웨어 공학 (0) | 2023.11.28 |
확실성 있는 소프트웨어 시스템 (0) | 2023.11.14 |
소프트웨어 재공학 (0) | 2023.11.07 |
소프트웨어 개발 테스팅 (0) | 2023.10.17 |
Comments