Programmer!/Good Program

Critical System

petitCoding 2012. 4. 12. 11:28

-시스템의 고장은 비교적 일반적이다. 대부분의 경우 고장은 심각한 손해를 입히지 않지만 어떤 시스템 고장은 중요한 경제적 손실, 물질적 피해, 혹은 사람의 생명에 위험이 될수 있다. 이러한 시스템을 Critical system(중대한 시스템)이라 한다.

 

1. Safety-critical System : 시스템의 고장으로 인해 부상, 사망 등의 심각한 결과 초래

2. Mission-critical System : 시스템의 고장으로 임무 수행의 활동 실패

3. Business-critical System : 시스템의 고장으로 인해 시스템을 사용하는 사업에 대한 높은 비용지불

 

Critical systems의 가장 중요한 특징 : Dependability(신뢰성/ 확실성)

-> 시스템의 신뢰성과 보안성이 떨어지면 그 시스템을 사용하기 꺼려진다.

    시스템의 고장으로 인해 수리하는 비용이 매우 크다.

 

대부분의 중대한 시스템은 사람이 감시하고 제어하는 사회-기술기반 시스템이다. 중대한 시스템은 고장으로 인한 비용이 많이 들기때문에 예상치 못한 상황을 복구할수 있는 관리자가 필요하다.

고장나는 경우

1. 하드웨어 실패 : 설계 상의 실수, 부속품의 오류, 하드웨어의 수명

2. 소프트웨어 실폐 : 분석, 설계 혹은 구현시의 오류 가능성

3. 관리자의 실수

 

주요 Dependability의 속성 : availability, reliability, safety, security. (Trade-off가 존재)

1. Availability : 내가 원할때 시스템을 이용할수 있는 특성

                    시스템이 주어진 시점에서 요청된 서비스가 제공되고 운영될수 있는 확률.

2. Reliablity : 요구한대로 서비스를 배달해줄수 있는 시스템의 특성

                   주어진 환경에서 특정 목적에 맞게 지정된 시간동안 고장없이 운영될수 있는 확률.

3. Safety : 파멸적인 오류 없이 잘 동작하게 하는 능력, 인간을 해롭게 하는 위험요소들의 작용 없 
              이 시스템을 정상적으로 작동하게 하는것 의미.

       -Primary safety : 내가 저지름(일차적 안전성 중심 시스템)

       -Secondary : 내가 원인이 됨(이차적 안전성 중심 시스템)

 

4. Security : 의도적, 비의도적 사고에 대한 외부의 공격으로부터 자신을 방어하는 능력

 

그밖에도 Repairability, Maintainability, Survivability......

 

Dependability Economics

Dependability가 높은 시스템은 성능이 떨어질 가능성이 높다 . 왜? 시스템 내부에 중복된 작업이 많이 있을수 있거나, 시스템 코드가 추가적으로 늘어난다던지, 테스트 비용과 기술 개발 비용이 높기 때문이다. 하지만 사회적인 요구에 따라 향후 비즈니스에 치명적인 오류가 있다면 dependability를 지원하는 기술을 개발해야하는 필요성이 존재한다.

 

Reliability achievement

-Fault avoidance (결함 회피) : 시스템 결함 발생 전에 실수를 할 가능성 최소화(직관적으로)

-Fault detection and removal (결함 탐지와 제거) : 테스트와 디버깅을 통한 시스템 결함 발견(정적분석. 돌려보고 한다) , 시스템 사용 전, 시스템의 결함을 제거하는 확인과 검증 기술 사용.

-Fault tolerance(결함 내성) : 시스템에 존재하는 결함이 시스템 오류를 일으키지 않도록 함.

-Error tolerance : system이 에러에 대해 잘 적응하도록 한다. (오류를 남겼을때 전혀 다른 결과가 나올수 있다.)

 

반응형

'Programmer! > Good Program' 카테고리의 다른 글

Design Pattern  (0) 2012.08.28
S/W 계층 구조  (0) 2012.04.12
S/W Process  (0) 2012.04.12
소프트웨어 공학 - 프로젝트 관리  (0) 2012.04.12
소프트웨어 공학, 개론.  (0) 2012.04.12