반응형

SoftwareEngineering 4

MECE 원칙을 활용한 소프트웨어 Fault Tolerance 중복성 설계: 신뢰성과 효율성을 극대화하는 접근법

복잡한 의사결정과 문제 해결의 과정에서 명확성과 효율성을 달성하는 것은 항상 중요한 과제입니다. 특히 높은 신뢰성이 요구되는 안전 필수 소프트웨어 시스템을 위한 Fault Tolerance를 위한 모듈을 정의하는 상황에서는 소프트웨어 Fault Tolerance를 구현하기 위해 적절한 중복성(Redundancy)을 확보하는 하는 것은 매우 중요합니다. 이 과정에서 MECE(Mutually Exclusive, Collectively Exhaustive) 원칙은 체계적이고 명확한 Redundant Module을 설계하는 것을 가능하게 해 주는데, MECE는 중복성을 정의하는 과정에서 중복성의 효율성을 해치지 않으면서도(Mutually Exclusive), 모든 가능성을 포괄(Collectively Exhau..

Software Fault Tolerance와 소프트웨어 구현 기법 (N-Version Programming)

소프트웨어는 현대 사회에서 필수적인 역할을 담당하며, 다양한 분야에서 중요한 기능을 수행합니다. 특히, 항공, 자동차, 의료, 금융 시스템과 같이 높은 신뢰성과 안전성이 요구되는 영역에서는 결함(fault)이 발생해도 시스템이 안정적으로 동작할 수 있도록 보장하는 결함 허용(Software Fault Tolerance)이 필수적입니다. 1. Software Fault Tolerance란 무엇인가?Software Fault Tolerance는 소프트웨어 시스템이 결함(fault)이나 오류(error)가 발생하더라도 정상적인 기능을 유지하거나 복구할 수 있도록 설계하는 기법으로 다음과 같은 주요 목표를 가집니다.1-1. 주요 목표:Fault Detection: 결함 발생 여부를 신속히 감지.Fault Rec..

소프트웨어 신뢰성 개선 전략 3가지 (3 Strategies for Software Reliability Improvement)

소프트웨어 신뢰성(Software Reliability)는 ISO/IEC 25010 (구 ISO/IEC 9126), Product Quality Model에서 정의한 품질의 주특성중 하나로 "시스템/소프트웨어가 정의된 기능을 수행함에 있어 주어진 조건과 시간 내에 결함(Fault) 또는 고장(Failure) 없이 동작/수행 할 수 있는 능력 또는 확률"로 정의할 수 있습니다. 이는 소프트웨어 신뢰성을 개선하는 것만으로 소프트웨어 품질이 높다고 단정할 수는 없지만, 반대로 고품질 소프트웨어를 개발하기 위한 필요 조건으로 반드시 소프트웨어 신뢰성 개선을 위한 전략 수립이 필요하다고 볼 수 있습니다.    참조: 소프트웨어 신뢰성 정의 관련 글소프트웨어 공학: 소프트웨어 신뢰성 정의 (Software Reli..

소프트웨어 결함 완화 및 제어 전략 시너지: 주요 접근법들간의 상호작용

소프틑웨어 결함 완화 및 전략 관련 글소프트웨어 결함 완화 및 제어 전략 (Software Fault Mitigation and Control Strategies)소프트웨어 공학: 소프트웨어 신뢰성 정의 (Software Reliability)이전 포스팅에서는 소프트웨어 결함 완화 및 전략의 주요 접근법에 대해 살펴 보았습니다. 소프트웨어 안전성과 신뢰성을 보장하기 위한 네 가지 개념인 소프트웨어 결함 탐지 (Fault Detection), 소프트웨어 결함 격리 (Fault Isolation), 소프트웨어 결함 알림 (Fault Annunciation), 그리고 소프트웨어 결함 내성 및 복구 (Fault Tolerance and Recovery)는 상호보완적으로 작동하게 되는데, 이번 포스팅에서는 이러한..

반응형