System life cycle — 시스템 생명주기
시스템 생명주기는 시스템에 대한 필요가 발생한 순간부터 최종 폐기에 이르기까지 시스템이 거치는 단계와 상태의 총체입니다. 시스템 생명주기는 단순한 존재 기간이 아니라, 외부 및 내부 요인의 영향 아래 시스템이 한 상태에서 다른 상태로 순차적으로 전환되는 과정으로 간주됩니다.
정의
표준에 따르면:
- 시스템 생명주기 — 구상 단계부터 폐기 단계까지 시간에 따른 해당 시스템의 발전 (ГОСТ Р ИСО/МЭК 15288 - 2005)
- 생명주기 — 존재의 시간적 기간이 아니라, 가해지는 영향의 유형에 따라 조건 지어지는 순차적 상태 변화의 과정 (Р 50-605-80-93).
생명주기 단계
시스템 생명주기는 일반적으로 개발, 구현 및 지원의 주요 단계를 반영하는 여러 핵심 단계로 구분됩니다. 방법론과 표준에 따라 단계의 구성은 다소 다를 수 있지만, 다음과 같은 공통 단계가 자주 구분됩니다:
- 요구사항 정의 (요구사항 수집 및 분석) — 시스템이 충족해야 하는 과제와 조건을 도출합니다. 이 단계에서 시스템의 목표가 수립되고, 발주자의 요구사항과 운용 환경의 특성이 구체화됩니다.
- 개념 (개념적 설계) — 시스템의 전반적인 아이디어와 아키텍처 개념을 개발합니다. 프로젝트의 개념적 스케치가 형성되고, 구현 가능성이 평가되며, 예비 모델과 도식이 개발됩니다.
- 개발 (상세 설계) — 기술적 해결책을 구체화하고 설계 문서를 작성합니다. 이 단계에서 사양이 구체화되고, 도면, 프로그램 코드 및 기타 시스템 구성 요소가 개발됩니다.
- 생산 (제조 및 조립) — 시스템의 프로토타입 또는 양산 모델을 제조, 조립 및 테스트합니다. 여기서는 개발된 문서를 바탕으로 완성품이 만들어지고 인수 시험이 수행됩니다.
- 운용 — 시스템을 실제 환경에 도입하고 목적에 맞게 사용합니다. 운용 개시, 인력 교육, 실제 조건에서의 시스템 운용 모니터링이 이루어집니다.
- 지원 (유지보수) — 운용 과정에서 시스템에 대한 기술적 유지보수, 업데이트 및 현대화가 수행됩니다. 수리 작업이 진행되고, 결함이 제거되며, 새로운 버전과 개선 사항이 도입됩니다.
- 폐기 (처분, 제적) — 시스템 사용 종료 프로세스를 계획하고 실행합니다. 시스템의 해체, 처분 또는 보존이 이루어지며, 분석을 위한 경험과 최종 데이터가 이관됩니다.
생명주기 모델
시스템 공학에서 생명주기를 기술하기 위해 다양한 모델 접근법이 사용됩니다. 가장 잘 알려진 모델로는 Waterfall(폭포수), V-Model(V형 모델), Spiral(나선형)이 있습니다:
- 폭포수 모델 (Waterfall) — 개발 단계가 되돌아감 없이 순차적으로 진행되는 전통적인 선형 접근법입니다. 각 단계(요구사항 분석, 설계, 개발, 테스트 등)는 다음 단계로 넘어가기 전에 완료됩니다. 폭포수 모델은 요구사항이 명확하게 정의되고 변경되지 않는 프로젝트, 즉 단계의 엄격한 순서가 중요한 경우에 적합합니다.
- V형 모델 (V-Model) — 폭포수 모델을 발전시킨 것으로, 알파벳 'V' 자 형태로 표현됩니다. V형 모델에서는 각 개발 단계에 대응하는 검증(테스트) 단계가 존재합니다. 예를 들어, '설계' 단계는 '통합 테스트' 단계와 연결되고, '코딩'은 '단위 테스트'와 연결됩니다. 이 모델은 각 단계에서 결과의 검사와 검증의 중요성을 강조하며, 항공, 우주 및 군사 기술 등 중요한 분야에서 자주 적용됩니다.
- 나선형 모델 (Spiral) — B. 보엠(Boehm)이 제안한 반복적인 위험 중심 접근법입니다. 프로젝트는 여러 주기('나선')로 나뉘며, 각 주기에서 계획, 위험 분석, 구현 및 검토가 수행됩니다. 각 반복 후 요구사항과 결과가 구체화되어 불확실성에 유연하게 대응하고 중요한 위험을 줄일 수 있습니다. 나선형 모델은 프로젝트의 특성에 따라 폭포수, 반복적, 프로토타입 모델의 요소를 조합하여 적용합니다.
NASA 생명주기 모델
NASA의 접근법에 따르면, 시스템 생명주기는 시스템의 개발, 구현, 운용 및 폐기를 전체 존재 기간에 걸쳐 체계적으로 관리하기 위한 조직화된 단계 및 의사결정 통제 지점의 순서로 구성됩니다.
생명주기 단계 및 페이즈
사전 단계 (Pre-Formulation):
- Pre-Phase A (Concept Studies): 광범위한 아이디어와 대안 생성, 실현 가능성 및 예비 요구사항 평가.
수립 단계 (Formulation):
- Phase A (Concept and Technology Development): 임무 개념, 기술 요구사항 개발 및 기술에 대한 예비 평가.
- Phase B (Preliminary Design and Technology Completion): 예비 설계 및 필요한 기술 개발 완료, 시스템에 대한 기본 요구사항 수립.
구현 단계 (Implementation):
- Phase C (Final Design and Fabrication): 시스템 구성 요소의 최종 설계 및 제조.
- Phase D (System Assembly, Integration and Test, Launch): 시스템 조립, 통합 및 테스트, 준비 및 발사.
- Phase E (Operations and Sustainment): 주요 임무 수행 중 시스템 운용 및 운용 가능성 유지.
- Phase F (Closeout): 임무 완료, 시스템 폐기, 획득 데이터 분석 및 구성 요소 처분
NASA의 생명주기 관리 접근법의 특징:
- 핵심 의사결정 지점 (Key Decision Points, KDP): 단계 전환 시점에 검토와 확인이 수행되며, 프로젝트의 계속 진행 또는 종료에 대한 결정이 내려집니다.
- 기술적 및 관리적 프로세스: 각 단계에서 기술적 프로세스(설계, 검증, 타당성 확인 등)와 관리적 프로세스(위험 관리, 형상 관리, 인터페이스 관리, 기술 데이터 관리)가 실행됩니다.
- 문서 및 계획: 각 단계에서 시스템 공학 관리 계획(SEMP), 통합 및 테스트 계획, 운용 및 유지보수 지침 등 기술적·관리적 문서가 작성되고 최신화됩니다.
시스템 생명주기 관리
시스템 생명주기 관리는 시스템 공학의 핵심 구성 요소로서, 초기 구상부터 최종 폐기에 이르기까지 시스템의 전체 존재 기간 동안 성공적인 구현을 보장하는 모든 활동과 프로세스를 효율적으로 조율하는 것을 목적으로 합니다. 이 접근법은 프로젝트의 비용, 품질 및 일정을 최적화하기 위해 다양한 공학적·관리적 분야의 포괄적인 통합과 상호작용을 의미합니다.
시스템 생명주기 관리는 다음과 같은 핵심 요소를 포함합니다:
- 생명주기 계획 — 시스템의 전체 존재 기간에 걸쳐 단계, 과제, 일정 및 자원을 정의합니다.
- 요구사항 관리 — 요구사항을 수집, 분석 및 통제하고, 추적 가능성과 적시 업데이트를 보장합니다.
- 형상 관리 — 시스템의 모든 구성 요소와 그 변경 사항을 식별, 통제 및 문서화합니다.
- 위험 관리 — 프로젝트에 영향을 미치는 위험을 정기적으로 식별, 평가 및 최소화합니다.
- 검증 및 타당성 확인 — 시스템이 지정된 요구사항에 부합하는지 확인하고, 운용 조건에서의 효율성을 평가합니다.
- 의사결정 지원 — 대안을 모델링하고 분석하며, 최적의 설계 솔루션을 선택합니다.
참고 문헌
- ISO/IEC 12207:2017 Systems and software engineering - Software life cycle processes
- ISO/IEC/IEEE 15288:2023 Systems and software engineering - System life cycle processes
- NASA Systems Engineering Handbook