닫기

[시스템 거동 도메인 개발 3] 거동 도메인 기능 분석과 할당 프로세스 주요 단계

  • 등록 2015.03.18 21:11:33
URL복사

[시스템 거동 도메인 개발 1] 거동 도메인 솔루션 개발 목표
[시스템 거동 도메인 개발 2] 거동 도메인 기능 분석과 할당
[시스템 거동 도메인 개발 3] 거동 도메인 기능 분석과 할당 프로세스 주요 단계


4. 기능 분석/할당 프로세스의 주요단계
이 프로세스의 목적은 시스템의 모든 기능 요구사항을 충족시키는 기능 흐름도(FFDs: Functional Flow Diagrams)의 계층구조를 개발함에 있다. 그러나 이 계층구조는 단지 기능아키텍처의 한 부분에 불과하다. 아키텍처는 모든 성능과 제한 요구사항이 적절히 분해되고 계층구조의 요소로 할당된 후 비로소 완성된다.


시스템 수명주기의 한 단계 내에서 수행되는 기능 분석/할당 프로세스 또한 반복적이다. 기능아키텍처는 할당된 기능, 성능 및 제약 요구사항과 함께 각각 적용 가능한 요구사항 문서 또는 규격서 내에서 정의된 기능 집합으로서 최상위레벨에서 시작된다. 극단적으로 말하면, 최상위레벨의 경우, 기능만이 시스템이고, 모든 요구사항이 기능에 할당된다.


그다음, 기능아키텍처의 다음 하위레벨이 개발되고 보다 더 분해가 필요한지를 결정하기 위해 평가된다. 더 분해할 필요가 있는 경우에는 이 프로세스를 반복한다. 그렇지 않은 경우에는 이 프로세스는 종료되고 시스템 조합이 시작된다.


기능 분석/할당 프로세스는 기능 아키텍처가 완료될 때까지 일련의 레벨을 통해 반복된다. 기능 분석/할당 프로세스의 각 단계에서, 대안 분해 및 할당은 각 기능과 선정된 단일 버전에 대해 평가된다. 모든 기능이 다루어진 후, 분해된 하부 기능에 대해 모든 내부 및 외부인터페이스가 만들어진다.


5. 각 기능의 하위단계 기능 분해 : 기능 흐름도
기능은 특성, 또는 시스템이나 장비의 부문 요소, 소프트웨어, 설비, 인원에 의해 수행되거나 시스템이나 부문에 기여하는 운용 절차상의 데이터나 다른 결합으로 요구되는 일련의 상태, 이벤트 및 행위를 말한다. 기능 식별과 분해는 논리적 그룹화, 시간 순서화, 데이터 흐름, 통제 흐름, 상태 전이, 또는 다른 판단기준 등의 관점에서 수행된다. 시스템의 단계적 분해는 문제를 해결하는 데 있어 하향 접근방법으로 나타난다.


이러한 논의가 기능과 하부기능에 대하여 언급되지만, 이들 모두가 기능의 기본적인 정의를 충족시키며, 계층구조 레벨 사이의 관계에 중점을 두고 다루어지고 있다는 사실을 이해하는 것이 중요하다. 첫 번째 반복되는 프로세스 동안의 하부기능은 두 번째 반복되는 기간의 기능이 된다. 각 기능에 의해 요구되는 입력과 발생되는 출력을 결정하는 것이 중요하다.


6. 기능 계층구조 개발
기능 분석/할당의 초기 반복을 위해, 베이스라인 요구사항과 운영개념이 요구사항 분석 동안에 식별된다. 먼저, 최상레벨 시스템 기능을 결정하라. 이것은 높은 기능의 결속력과 결합 기능을 적게 하고자 하는 것에 유의하여, 일련의 전체 베이스라인 요구사항을 시스템레벨 설계에 반영, 평가함으로써 달성된다. 그 결과는 적절히 그룹화될 때, 시스템레벨 설계의 각 구성품 요구능력을 제공하는 최상위레벨 기능의 집합이다. 그다음 각각의 최상위레벨 기능은 관련 요구사항에 기초한 하위레벨 기능으로 보다 정제된다.


기능 분해는 하위레벨 ‘자(child)’ 기능의 네트워크(FFD)를 생성하게 되는데 각각의 ‘자(child)’ 기능은 ‘모(parents)’ 기능 요구사항을 할당받는다. 이 프로세스에서, 각 기능 요구사항은 하위레벨 요구사항으로 분해되며, 이들 각각은 다음 레벨 FFD의 하위레벨 기능(즉, 하부기능)으로 할당된다. 기능인터페이스는 이 프로세스로부터 발생된다. 계층구조 상의 각 기능에 대한 기술서를 개발하라. 이 기술서는 다음과 같은 사항을 포함하여야 한다.


· 해당 레벨에서 다른 기능과의 상호관계 특성을 나타내는 네트워크(FFD 또는 IDEF0/1)의 위치
· 무엇을 수행하는지 정의하고 그 기능에 할당된 모든 기능 요구사항
· 내부와 외부에 대한 입력 및 출력사항


이 프로세스는 구조적 분석을 포함한 분석결과를 얻기 위하여, 예를 들면 DFD, IDEF0/1도, 통제흐름도, 또는 다른 최신 기법 등과 같은 다양한 도표방법을 사용한다. 이것들은 모든 형태의 기능기술서이다. 


7. 종료 판단기준
기능 분석/할당 프로세스에서, 기능분해의 종료에 대한 판단기준을 설정하는 것은 매우 중요하다. 일반적인 판단기준은 기능 요구사항이 분명하고 하드웨어, 소프트웨어, 또는 메뉴얼 작동으로 나타날 때까지 계속 분해된다. 엔지니어는 할당예산이 떨어질 때까지 필요 이상으로 기능 분해를 계속하는 경우가 종종 있다. 종료 판단기준(stop criteria)을 설정할 때 많은 세부항목으로 분해하는 목적은 프로그램의 위험을 감소시키기 데 있다는 사실을 인식하라.


어떤 관점에서, 점진적 위험감소가 보다 구체적으로 분해하는 데 필요한 노력의 비용이나 시간보다 불리할 수 있다. 특정 프로그램의 위험을 이해하고 있는 프로그램 관리자와 시스템 엔지니어는 자신들의 종료 판단기준을 프로세스 초기에 설정할 필요가 있으며 기능분해활동이 도중에 자주 검토되도록 해야 한다.


8. 제약사항
이상적인 기능 분석/할당은 요구사항의 논리적 분석에 기초하여 수행되는 순수한 작업이다. 실제적인 면에서는 기능분해를 제한하는 분석상의 제약사항이 항상 존재한다. 예를 들면, 프로젝트가 COTS(Commercial Off-the-Shelf) 하드웨어나 소프트웨어, 또는 다른 프로그램으로부터의 NDIs(Non-Developmental Items)를 사용하도록 요구되는 경우를 들 수 있다. 이러한 경우에, 기능과 하부기능 그리고 그들의 할당된 성능 요구사항은 목표제품의 성능과 보다 잘 일치한다.


계층구조가 만들어짐에 따라 때때로 계층구조의 다른 부분에 유사한 하부기능이 나타나는 경우가 있다. 예를 들면, 이것은 데이터베이스 관리 하부기능, 인간-컴퓨터 인터페이스 하부기능, 또는 통신 하부기능에서 나타난다. 이러한 경우 시스템엔지니어는 매우 유사하면서도 동일한 구성품에 의해 수행될 수 있도록 시스템아키텍처 조합 동안 이러한 하부기능을 목적에 맞도록 변경해야 한다.


9. 성능과 다른 제한 요구사항의 모든 기능레벨 할당
요구사항 할당은 특정 하드웨어 품목 또는 소프트웨어 품목이 필요한 기능/성능 요구사항을 수행할 수 있는 레벨에 도달할 때까지 시스템레벨 요구사항의 분해를 계속해야 한다. 이는 논리적으로 초기 기능 식별이 가능하도록 확장하고 어떠한 기능 분석 활동도 함께 통합하는 활동이다.


10. 대안 분해평가와 선정
모든 기능 분해가 동일한 이득을 가져오는 것은 아니다. 각 단계에서 대안 분해를 고려하고, 가장 유리한 기능 분해를 선택할 필요가 있다. 시스템 설계제약 또는 목표 COTS나 NDI 품목을 사용하기 때문에, 목적을 효과적으로 가장 잘 충족시키는 대안을 선정하기 위해 절충연구에서 비교될 수 있는 여러 가지 기능아키텍처의 대안을 만드는 것이 바람직하다. 


결과적으로, 가능아키텍처의 최하위레벨에 있는 각 하부기능은 하드웨어, 소프트웨어, 인터페이스, 운용 또는 데이터베이스에 할당된 후, 그다음 특정 형상품목에 할당된다. 또한, 이들 각 기능에 대한 시험이 이루어져야 한다. 여기에서 목적은 보다 명백한 적용과 시험을 이끌어 낼 수 있는 기능 분해를 선정함에 있다. 또한, 여러 계층구조 내에서 사용되는 단일 기능 분해를 허용함으로써 보다 단순하게 개발할 수 있다. 


이것은 최상의 엔지니어링 판단이 요구되는 활동이다. 대안 분해를 평가하는데 적용할 수 있는 다양한 FOT(Figures Of Merit)가 있다. 여러 기능 중 상호연결성는 하나의 가능한 척도이다. 예를 들면, 소프트웨어 집약 시스템에 대하여 적용할 수 있는 응집(cohesion)이나 결합(coupling)과 같이 MIL STD 2167A에 의해 정의된 여러 가지 척도다. 시스템의 설계는 완전한 공백상태 내에서 이루어 질 수 없다. 시스템 엔지니어는 NDI 하드웨어와 소프트웨어의 사용에 대한 기회를 인식할 필요가 있다. 이것은 완성되지 않은 다른 하부기능보다 다른 시스템과 호환 가능한 형태로 이미 완성된 하부기능이 선호될 수 있다는 것을 의미한다.


11. 내부와 외부 기능인터페이스 정의
모든 내부와 외부 인터페이스가 완전하게 정의되어야 한다. 각 기능은 동작을 위하여 입력이 요구되며, 그 기능의 산출물이 바로 출력이다.
이 단계의 목적은 FFD 내의 각 기능(또는 하부기능)에 필요한 입력을 획득하고 출력이 전달되어야 할 곳을 식별하며 문서화하는 데 있다. 각 인터페이스를 통해 흐름의 특성이 반드시 식별되어야 한다. 


N2 도표는 인터페이스를 개발하는 데 사용된다. 이 도표는 시스템인터페이스, 장비(하드웨어)인터페이스, 또는 소프트웨어인터페이스에 적용된다. 대안 또는 추가적으로 데이터/통제 흐름도는 기능 간 그리고 기능과 외부세계 사이의 정보흐름을 특성화하기 위해 사용된다. 시스템아키텍처가 보다 더 하위레벨로 분해됨에 따라, 인터페이스 정의가 유지되고 인터페이스가 하위레벨 분해를 고려하도록 보다 분명히 하는 것이 중요하다.


12. 기능아키텍처 정의와 통합
실현 가능한 할당에 도달하기 위해서는 기능정의, FFDs 및 인터페이스에 대해 최종 수정보완이 필요하다. 이 활동의 산출물은 가능한 최하위 레벨에서 각 기능(또는 하부기능)과 함께 최종 FFD 계층구조이다. 기능 흐름도, 인터페이스정의, 그리고 기능과 하부기능에 대한 요구사항 할당은 기능아키텍처를 구성한다.


13. 기능 분석/할당 방법론
이 절에서는 다음과 같은 방법론에 대하여 설명한다.


· 기능 흐름도(Functional Flow Diagrams)
· 기능 스레드 분석(Functional Thread Analysis)
· N2 도표(N2 Chart)
· 모델링 및 시뮬레이션(Modeling and Simulation)
· 시계열분석(Timeline Analysis)
· 실시간 구조분석(Real-Time Structure Analysis)
· 요구사항 할당(Requirements Allocation)
· 객체지향 시스템 모델링(Object-Oriented System Modeling)


14. 기능 흐름도
기능 분석에 대한 가장 좋은 도구 중의 하나는 기능 흐름도(FFD: Functional Flow Diagrams )이다. 기능 흐름도는 시스템 기능 흐름의 다층, 순차적 시간, 단계별 도표로 나타난다.
FFDs는 일반적으로 시스템에 대한 세부적이고 단계별 운용 및 지원순서를 정의하기 위해 준비된다. 이들은 개발과 생산시스템 내의 프로세스를 정의하는데 효과적이며, 소프트웨어 개발에도 폭넓게 사용된다. 시스템 콘텍스트 내에서, 기능 흐름 단계는 하드웨어, 소프트웨어, 인원, 설비, 또는 절차상의 데이터 행위의 결합이 포함된다.

 

15. N2 도표
N2 도표는 기능 및 물리 인터페이스를 식별, 정의, 요약, 설계, 분석하기 위한 시스템적 접근방법이다. N2 도표는 시스템 인터페이스와 하드웨어 또는 소프트웨어 인터페이스에 적용된다.
N2 도표는 양방향, 고정틀 작업 안에서 모든 시스템 인터페이스의 완전한 정의를 도출하기 위해 사용자에게 요구되는 시각적 매트릭스이다. 


민성기 원장 _ 시스템체계공학원






주요파트너/추천기업