배너
닫기

테크노트

배너

[시스템 엔지니어링(115)] 시스템 설계와 개발...시스템 개발 모델

  • 등록 2014.01.29 10:21:44
URL복사

시스템 개발 모델

민성기  시스템체계공학원장(ise@seinstitute.co.kr)



지금까지 우리는 체계성능 규격서(SPS)를 잘 정의되고 성숙된 요구사항으로서 작성된 이상적인 요구사항 문서를 정의했다. 그러나 실제로 요구사항이란 잘 정의된 요구사항으로부터 매우 모호하거나 숙성이 덜 된 요구사항까지 다양하게 걸쳐있다.
그러면 시스템 엔지니어는 이렇게 다양한 요구사항을 어떻게 다루어야 하는가? 실제로 요구사항 숙성 관련 내용을 다루기 위한 기반을 제공하는 여러 형태의 시스템 개발 모델이 있다.
이 장은 시스템 개발을 위해 사용되는 다양한 시스템 개발 모델을 소개하고자 한다. 모델의 종류는 다음과 같다.

낙차식(Waterfall) 개발 모델
진화적(Evolutionary) 개발 모델
점진적(Incremental) 개발 모델
나선형식(Spiral) 개발 모델

우리는 각 모델이 어떻게 진화해 왔는지, 단점은 무엇인지, 그리고 실제 예제와 사례를 제시토록 한다. 당신은 왜 이러한 질문이 SE 교과서에서 유용하는지를 생각해 보아야 한다. 두 가지 관점에서 살펴보자.
첫째, 당신은 다양한 요구사항 정의와 성숙과정을 이해하기 위해 시스템 개발방법에 대한 도구를 필요로 한다.
둘째, 당신은 특정 시스템 개발 형태에 올바른 접근방법 여부를 확인하기 위해 각 모델에 대한 근거, 속성 및 단점을 완전하게 이해할 필요가 있다.
시스템 엔지니어로써 이러한 모델이 다양한 시스템 개발 시나리오를 어떻게 적용하고 있는지를 완전하게 이해할 필요가 있다. 가끔 각 모델의 배경과 적용에 대한 이해부족으로 이러한 모델 적용 시 번거롭게 하는 기업요원을 만나야 한다.

1. 얻고자 하는 내용
시스템 개발 모델이란 무엇인가
시스템 개발 모델 네 가지 유형은 무엇인가
낙차식 개발 모델은 무엇이며 특징과 단점을 말해 보라
진화식 개발 모델은 무엇이며 특징과 단점을 말해 보라
점진적 개발 모델은 무엇이며 특징과 단점을 말해 보라
나선형식 개발 모델은 무엇이며 특징과 단점을 말해 보라
SE 프로세스 모델은 개발 모델에 어떻게 적용되는가

2. 주요 용어정의
진화적 개발 전략(Evolutionary Development Strategy) : “시스템 제작에서, 사용자 요구가 완전하게 이해되지 않고 모든 요구사항이 앞 단에서 정의되지 않은 상태에서 시작하는 점진적 개발 전략과 다르며, 이 전략은 사용자 요구와 시스템 요구사항이 앞 단에서 부분적으로 정의된 후, 후속적으로 각 제작단계에서 정의”되는 개발 전략 (출처 : 이전의 MIL-STD-498, G.3 참조)
총체적 설계 개발 전략(Grand Design Development Strategy): “한꺼번에 사용자 요구정의 결정, 요구사항 정의, 시스템 설계, 시험, 제작 및 배치 단계를 동시에 시작”하는 개발 전략 (출처 : 이전의 MIL-STD-498, G.3 참조) 
점진적 개발(Incremental Development) : “전반적인 소프트웨어 제품의 점진적 종료와 같이 요구사항 정의, 설계, 적용 및 시험이 중복해서 반복적으로 수행되는 소프트웨어 개발 기법”
점진적 개발 전략(Incremental Development Strategy) : “사용자 요구를 결정하고 전체적인 아키텍처를 정의하지만, 점진적으로 시스템을 제작(소프트웨어 코딩)하는 방법으로써, 첫 번 시제는 요구능력 일부분을 적용하고, 다음 시제는 전체적인 시스템이 완료될 때까지 더 많은 요구능력을 반영”해가는 개발 전략 (출처 : 국방획득 용어 및 약어 참조)
나선형식 개발 전략(Spiral Development Strategy) : “점진적 개발처럼 시제를 개발하고 시스템을 획득하지만, 사용자 요구가 개발 초기에 완전하게 형성되어 있지 않아 모든 요구사항이 초기에 정의되지 않는다는 점에서 다르며, 초기 시제는 개발 시작 시, 그 당시에 알고 있는 요구사항에 근거하여 제작되고, 추가 요구사항을 충족할 때까지 지속적으로 개발”해가는 개발 전략
나선형식 모델(Spiral Model ): “전형적인 요구분석, 예비 및 세부설계, 코딩, 통합, 시험이 소프트웨어가 완성될 때까지 반복적으로 수행되는 소프트웨어 개발 프로세스 모델” (출처 : IEEE 610.12-1990 참조) 
낙차식 모델(Waterfall Model) : “구상단계, 요구단계, 설계단계, 적용단계, 시험단계, 설치 및 검토단계가 순서에 따라 수행될 때 부분적으로는 중첩되지만, 반복이 없는 소프트웨어 개발 프로세스 모델” (출처 : IEEE 610.12-1990 참조) 
낙차식 개발 전략(Waterfall Development Strategy) : “약간은 중첩되지만, 개발활동이 사용자 요구결정, 요구사항 정의, 체계설계, 제작 및 시험평가가 순차적으로 수행되나 거의 반복활동”이 없는 개발 전략 (출처 : 국방획득 용어 및 약어 참조)


시스템 개발 모델

반복적이고 예측 가능한 프로세스 방법으로 연계되며 기술적 복잡도가 날로 증가해 가는 시스템 개발을 위해 시스템 개발자는 일련의 개발 모델 설정이 필요해졌다.

1. 시스템 개발 모델 연혁
1950년대 이전 시스템과 제품은 주로 하드웨어 시스템이었다. 따라서 모든 절차는 전기와 기계 중심으로 논리적이고 체계적인 수학적 기반 프로세스를 이루고 있었다. 1960년대에 이르러 개발자는 아날로그과 디지털 소형, 중형과 대형 IC (Integrated Circuit)의 모듈 설계 기법에 부분적으로 제한된 소프트웨어를 사용함으로써 신뢰도와 정확도를 향상시켜 나갈 수 있었다. 기간 중 설계 결함 또는 변경이 일어날 때, 기계적 하드웨어와 전자회로 수정비용이 매우 비싸게 나타나고 그 기간도 오래 걸렸다.
1970년 초 마이크로프로세서 기술이 소개됨에 따라 소프트웨어가 시스템 개발에 매우 중요한 대안이 되었다. 개념적으로 하드웨어로 적용되는 능력은 소프트웨어에 있어서 보다 빠르고 쉽게 적용되기 시작했다. 그 결과, 소프트웨어를 테일러링에 따라 시스템 개발자와 훈련요원들은 단순 고유 영역으로 적용할 수 있도록 유연성 있는 형상 변경으로 진화해 갔다.
소프트웨어 시스템으로의 전환은 소프트웨어를 생산하는 방법보다 더 빠르게 진행되어 갔다. 소프트웨어 적용이 보다 크고 복잡해짐에 따라 위험도와 문제점은 더욱 높아갔다. 시스템 개발부서는 계약비용, 일정, 기술 성능 기준 및 이러한 기준을 충족하지 못할 위험 요소와 연관된 위험과 도전에 날로 민감해졌다. 이에 더해 재보수와 품질 하자 비용이 신뢰성, 안전성 및 보건과 같은 분야에 주요 쟁점사항이 되었다. 또한, 개발 프로세스에서 반복성과 예측성에 대한 요구가 주요 쟁점사항으로 부각되었다.
이러한 도전을 해결하기 위하여 시스템 개발 모델은 소프트웨어 도메인에서 진화되기 시작했고 이를 전반적인 시스템 개발 접근방법으로 보다 넓은 시스템의 엔지니어링 도메인에 확장되기 시작했다.

2. 시스템 개발 모델
시스템과 제품 개발에서는 일반적으로 네 가지 모델 또는 복합 모델을 사용한다. 일반적으로 많이 사용되는 모델은 다음과 같다.
폭포수 개발 모델
진화적 개발 모델
점진적 개발 모델
나선형 개발 모델

소프트웨어 개발에 대해 여러 권의 책과 논문을 쓴 Dr. Barry Boehm은 모델의 진화, 강점과 약점을 제시했다.
역사적으로 잘 알고 있는 기술과 이를 다른 기술에도 적용 가능한 여러 유형의 문제 해결을 위한 개발방법을 볼 수 있다. 다음 사례에서 우리는 소프트웨어 개발방법을 시스템 엔지니어링과 하드웨어 엔지니어링에 어떻게 동일하게 적용할 수 있는지를 살펴보고자 한다.


폭포수 개발 모델

폭포수 개발 모델은 소프트웨어 개발 모델의 경우, 맨 처음으로 제시된 모델이다. 오늘날 폭포수 모델은 얼마나 많은 조직에서 이와 같은 모델을 시스템과 제품 개발에 사용하고 있는지 모른다. 이 모델의 절차 과정은 그림 1과 같다. 



‘폭포수(Waterfall)’라는 용어가 많은 사람으로 하여금 혼동하기 쉽고 잘 못 이해하기가 쉽다. 이 용어는 그래픽상으로 하향식으로 나타내며 실제 적용에 있어서라기보다 대각선 방향으로 제시한 것뿐이다. 다음 장에서 보듯이 초기 단계는 시간에 따라 세부설계 레벨을 확장해 가는 것을 의미한다. “통합”으로 나타낸 후속 단계는 앞서 V-모델의 오른쪽 윗 방향을 나타낸다. 폭포수 모델과 달리 V-모델은 추상적 레벨에서 고도의 반복적이고 피드백 되는 루프를 구성하고 있다.
폭포수 모델에서 “개발활동은 최소의 중복성과 활동 상호간에 반복성이 없는 순차적으로 수행되는 모델이다. 즉, 사용자 요구 확정, 요구사항 정의 및 전반적인 시스템이 설계되고, 제작과 시험을 거친 후 원하는 장소에 제때에 납품하는 유형이다. 다른 사람은 이를 단계적 모델(Stage-wise Model)이라고도 부른다.” (출처 : 국방획득 용어 및 약어집)


진화적 모델

일반적으로 진화적 개발 모델은 “단계란 운용 소프트웨어 제품의 운용 경험으로 결정된 진화되는 방향에 따라 점진적 확장되는 활동으로 구성되어 있다”라는 사항에 기반을 두고 있다(출처 : Boehm, p.63). 이러한 개념은 시스템이나 제품 개발이 일련의 P3I (Pre-Planned Product Improve-ment) 프로그램을 통해 진화해 가는 전략에 기초하고 있다.
진화적 개발은 획득자, 사용자, 시스템 개발자를 위한 잠재적 솔루션을 제공해 준다. 앞서 예기한대로 몇 가지 시스템/제품이 단독 사용 품목이 있으며, 다른 제품은 기간이 오래인 다용도 품목일 수도 있다. 일부 임무와 시스템 적용의 경우, 시스템 획득의 요구사항이 무엇인지를 알고 있을 수 있다. 다른 적용의 경우, 앞서 목표와 능력을 정의해야 할 경우도 있다. 시간을 두고 배치된 시스템/제품은 문제/기회 영역이 진화함에 따라 새로운 능력을 나타내게 된다.
컴퓨터와 같은 몇 가지 시스템은 매우 단기간에 변경되거나 폐기된다. 비즈니스 면에서 볼 때, 그 기기를 업그레이드하는 비용이 새로운 컴퓨터를 사는 것보다 더 비쌀 수도 있다. 반대로 외부환경 변화가 느리고 예산이 줄어드는 제품의 사용자는 초기 주어진 수명 이상으로 사용하기도 한다. 다음 예제를 생각해 보자.

[예제 1] 미 공군의 B-52 항공기는 그 어떤 항공기보다 오랜 기간 현역으로 사용되었다. 항공기 생애 기간 중, 항공기 시스템과 주어진 임무는 그 항공기가 현재 대비 능력 업그레이드를 요청하면서 초기 운용능력서(IOC) 진화를 가져왔다. 예상했던 서비스 기간이 그 항공기 개발자가 원했던 것보다 훨씬 길었다.

1. 진화적 개발 모델의 함정
개념적으로 진화적 개발 모델은 어느 정도 적용에 적합하지만 몇 가지 주목할 점이 있다. Boehm은 다음과 같이 지적하고 있다.
함정 1 : 진화적 개발 모델은 제작, 시험 및 조립 방법에서는 차별화가 어렵다. 이는 폭포수 모델에 의해 제기된 것이기 때문이다.
함정 2 : 진화적 개발 모델은 시스템이 계획되지 않은 진화적 방법을 수용하는 융통성이 주어진다는 가끔 ‘비현실’적인 가정에서 비롯되었다는 점이다.
두 번째 함정에 대하여 Boehm은 그 가정이 다음 세 가지 경우에 잘 맞지 않는다고 설명하고 있다.
1) 여러 가지의 독립적으로 진화된 애플리케이션이 매우 밀접하게 통합되어야 할 경우
2) 일시적인 소프트웨어 결함에 따라 진화적으로 변경할 수 없는 제약사항으로 경직되게 하는 정보경화 현상의 경우
3) 신규 소프트웨어가 점진적으로 대형 기존 시스템을 대체시키는 가교 역할이 곤란한 경우. 만일 시스템의 모듈화가 제한적이라면, 구형 소프트웨어와 신규 소프트웨어를 확장하기 위한 가교 역할을 기대하기가 어렵다.


나선형 개발 모델

초기 단계 시스템 요구사항의 이해 부족, 성숙 정도, 위험과 연계된 진화적 개발 모델의 내장된 결함 때문에 Boehm은 그림 2와 같은 나선형 개발 모델을 제시했다.
나선형 개발은 각 활동의 최종 제품이 납품 시스템이 아닐 수 있기 때문에 일련의 고도로 반복적인 개발활동을 수행하게 된다. 대신에 납품 시스템 개발로 연계시키는 시스템 요구사항의 정보와 후속 요구사항이 설계 솔루션을 숙성시키는 데 기여한다. 이러한 지식기반은 1) 시장정보와 2) 수락 가능한 위험에 대한 생산 투자의 숙성레벨까지 기술 또는 개념 입증 상태로 진화해 간다.
DSMC는 이 모델을 다음과 같이 설명하고 있다. “나선형 접근방법은 시스템을 제작상태로 개발하고 납품하지만, 사용자 요구사항이 시스템 개발 초기에 충분하게 형성되지 못했다는 점에서 점진적 개발과 다르다. 이는 초기에 모든 요구사항이 잘 정의되지 않았다는 점이다. 초기 시제는 그 당시에 인지된 요구사항에 근거한 시스템을 제작한다. 지속되는 시제는 그때까지 발굴된 요구사항을 충족시키는 시제를 제작하게 된다(추가 요구란 초기 시제 제작 후 사용자 경험에 근거하여 추가로 식별되어 정의된 것이다).” (출처 : 국방획득 용어 및 약어)

1. 나선형 모델 내용 기술
나선형 개발은 그림 2에서와 같이 네 가지 상한 활동으로 구성된다.



제1상한 : 목표, 대안, 제약사항을 결정
제2상한 : 대안 평가, 식별, 위험해소
제3상한 : 차 레벨 제품 개발, 검증
제4상한 : 다음 단계 계획

그림에서와 같이 나선형 모델은 소프트웨어 개발에 적용되고 있지만, 그 개념은 시스템, 하드웨어, 교육훈련 등에 동일하게 적용된다. 각 나선형 개발 상한을 보다 잘 이해하기 위해 상세하게 살펴보자.
1) 제1상한
제1상한에서의 활동 내용은 다음과 같다.
시스템이나 제품 목표에 대한 이해. 예를 들면, 성능, 기능성, 변경 수용 정도 (Boehm, p65)
이행 대안 구상. 예를 들면, 설계, 재사용, 획득, 신규/수정
대안에 부여된 제약사항 구상. 예를 들면, 기술, 비용, 일정, 지원, 위험
일단 시스템이나 제품의 목적, 대안 및 제약사항이 이해되고 나면, 2상한 활동(대안 비교 평가, 위험 식별 및 해소)이 시작된다.
2) 제2상한
제2상한에서 수행되는 엔지니어링 활동은 기술, 기법, 비용, 일정, 지원 및 위험 제약사항을 충족시키는 대안을 선정한다. 이 단계에서의 초점은 위험 완화에 있다. 각 대안이 구상되고, 의사결정과 연관된 위험을 감소시키기 위하여 시제를 제작한다. Boehm은 이러한 활동을 다음과 같이 기술하고 있다.
이 활동에는 시제제작, 시뮬레이션, 벤치마킹, 참조사항 검토, 사용자 질의사항 수집분석, 분석적 모델링, 또는 상기 사항 복합검토 및 기타 위험 해소기법 등이다.
평가결과는 다음 활동 진입 여부를 결정한다. 성능 및 상호운용성(예를 들면, 내부 및 외부)과 같은 치명적인 운용 및 기술적 쟁점사항(COIs/CTIs)에 대한 위험이 남아 있을 경우, 보다 구체적인 시제 제작이 다음 상한으로 옮겨가기 전에 수행되어야 한다. Boehm은 선정된 대안이 운용면에서 유용하고 미래 제품 진화에 대하여 위헌이 적다고 한다면, 다음 위험 분석 단계는 그래프의 오른쪽 방향을 따라 진화적인 시제를 제작한다. 이후 다음 3상한으로 넘어간다.
3) 제3상한
이전 시제 제작 단계에서 COIs/CTIs를 해결한 후 결정된다면, 다음 레벨의 제품을 개발하고 검증하기 위한 활동이 수행된다. 그 결과, 운용개념, 설계, 개발, 통합 및 다음 시스템이나 제품에 대한 반복시험 활동을 위해 기초적인 ‘폭포수’ 모델을 적용한다. 만일 적합하다면, 점진적 개발방법도 적용할 수 있다.
4) 제4상한
나선형 개발 모델은 모든 모델에 공통적으로 적용되는 특성을 지니고 있다. 여기에는 치명적인 단계 또는 통제점에서의 사전 기술 계획수립 및 다중 검토에 대한 필요성을 포함하고 있다. 모델의 각 사이클은 지금까지 개발활동에서의 사업 현황, 진도, 숙성도, 장점, 위험 요소를 발굴한다. 그리고 치명적인 운용과 기술 쟁점사항( COIs/CTIs)에 대한 해소 방안, 다음 나선형 단계에서의 반복활동으로 해결해야 할 COIs/CTIs를 식별하고 계획을 수립한다.
나선형에서의 다음 단계 이행은 동일한 상한에서의 업무와 의사를 결정하기 위하여 하위 레벨 나선형 과정을 추종해도 된다.


점진적 개발 모델 

가끔 시스템과 제품 개발은 다양한 요인에 의해 제약된다. 그 요인은 다음과 같다.

자원의 가용성(전문성 등)
시스템 인터페이스 가용성 부족
투자자원 부족
기술 위험
로지스틱스 지원
시스템/제품 가용성

이러한 제약사항이 제기되면, 사용자, 획득자, 시스템 개발자는 점진적 개발 전략을 구상하게 된다. 이 전략은 시스템이나 제품 능력을 미래에 완전 운용능력(FOC)으로 발전해 가도록 일련의 점진적 개발 ‘제작’을 위한 최초 운용능력(IOC)을 설정한다. 그림 3에서 어떻게 점진적 개발이 형성되는지를 보여주고 있다.
미 국방 용어집에서는 점진적 개발을 다음과 같이 정의하고 있다. “점진적 개발방법은 사용자 요구를 결정하고 전반적인 아키텍처를 정의하지만, 시스템은 예를 들면, 소프트웨어처럼 점차적으로 시스템을 개발해 간다. 일차 시제는 전체적으로 계획된 능력의 일부분을 확인하고, 다음 시제에서 더 많은 사항을 보완토록 한다. 그리고 이와 같은 과정은 전체적인 시스템이 이를 충족할 때까지 계속된다.” (출처 : 국방획득 용어 및 약어집)

1. 이행
점진적 개발 모델의 이행은 ‘제작’이라는 전략이 ‘초기 단계’에서 수행된다는 점이다. 각 제작 사이클이 시작됨에 따라 개발팀은 독립 규격서 또는 시스템 성능규격서(SPS)의 일부분에 의해 각 시제에 대하여 고유의 시스템 요구사항을 설정하게 된다.



각 시제는 설계, 개발, 통합, 시험을 중첩해서 수행되며 이에 대한 V-모델은 그림 4와 같다.



2. 시스템 엔지니어링에 적용
점진적 개발 모델을 다 분야 학문을 종합하고 있는 SE에 적용하고자 할 경우, 다음과 같은 사항을 고려해야 한다.
핵심 요구사항 세트에 근거한 각 시제의 시스템 요구사항을 철저하게 구분하여 분석해야 한다.
그 요구사항을 제품, 하부체계, 또는 아셈부리에 분할하여 할당해야 한다.
사용자 우선순위(능력, 갭, 자원, 일정 등)에 따라 제작 기간을 설정해야 한다.
점진적 제작이란 시스템에 신규 컴포넌트를 통합하거나 기존 컴포넌트를 업그레이드할 때 적용된다. 시스템 엔지니어링 적용은 초기 기능 능력을 분할하고 설정하는 방법과 기존 시스템의 운용에 방해되지 않도록 다른 능력을 통합하는 활동을 들 수 있다. 인터페이스 분석을 통해 시제 통합이 적합한 순서와 지원도구에 의해 달성되고 있는지를 검토하도록 한다.


시스템 대 컴포넌트 개발 전략

모든 시스템 개발 프로그램은 대상 시스템이나 개체에 따라 서로 다른 개발전략을 사용해도 좋다는 사실을 주목하라. 일례로써 대상시스템은 점진적 개발 모델을 사용하고 있는데, 제작단계에서 일부 또는 전부를 나선형 모델과 같은 전략을 사용할 수가 있다.
대부분 시스템을 분석할 때, 하부시스템, 아셈부리, 하부아셈부리는 다음과 같은 경우를 볼 수 있다.
잘 정의된 요구사항을 지니고 있다.
여러 해 동안 성숙, 기존 기법 및 설계 방법을 활용해 오고 있다.
고도로 경험이 많은 개발자에 의해 개발되고 있다.
이외의 하부시스템 및 아셈부리는 다음과 같은 그 반대 상황의 경우가 있다. 잘 정의되지 않거나 미성숙된 요구사항을 지니고 있다.
미 숙성된 기술과 설계방법을 사용해 오고 있다.
경험이 부족한 개발자가 많다.
위 모든 사항으로 복합되어 있다.

이러한 경우에 따라 개발 위험을 최소화할 수 있는 특정 개발전략을 선택해야 한다. 다음 사례를 생각해 보자.
[예제 2] : 해를 두고 자동차 기술은 진화하고 있으며, 복합 시스템으로 발전되어 왔다. 오늘날 우리는 연료분사체계, ABS 제동장치, 전륜구동장치, 에어백 안전장치, 혠 맵핑 등과 같은 신기술의 혜택을 보고 있다. 자동차 설계에 관한 모든 면은 해를 거듭할수록 변화되어 오고 있다. 그러나 주된 목적의 자동차 기본 기능은 상위레벨에서 크게 변화되지 않았다는 점이다. 여전히 네 개의 도어, 승객 좌석, 트렁크, 방풍 유리, 조향장치 등은 동일하다. 그러나 주요기술 성숙과정은 일찍이 언급한 바와 같이 나선형식 개발과 같은 전략을 요구하고 있다.
이러한 전략은 기본 자동차의 진화적 개발 모델로 통합 적용되는 ABS와 SRS와 같은 기술을 개발하고 생산하기 위하여 사용된다.


지침

요약해서 앞서 논의한 내용은 시스템 개발 전략 지침 설정 기준을 제시했다.

[지침 1] 시스템/개체 요구사항, 위험, 예산집행 일정 및 비용, 사용자 납품 요구 성숙도에 근거한 개발 전략을 선정한다.

[지침 2] 시스템 레벨 개발 전략은 요구사항 성숙도, 기술, 절차, 개발자 경험과 훈련 정도에 따라 개체 개발 전략을 달리해도 좋다.

[지침 3] 개발 전략 선택은 1) 선정이유, 2) 아니라면 다른 전략 가능성에 대한 원인을 제시해야 한다.

[지침 4] 시스템 개발 프로그램은 시스템이나 컴포넌트 개발 요구사항과 개발 제약사항을 각각 유일하게 충족시키는 여러 개발 모델을 혼합해서 사용해도 좋다.


요약

이 장에서는 다양한 시스템 개발전략에 관한 내용을 소개했다. 시스템과 제품 개발 전략은 사용자의 운용 필요성과 같이 수용 가능한 위험범위 내에서 기술, 비용, 및 일정 요구사항을 충족시킬 수 있는 적절한 전략을 요구하고 있다. 올바른 시스템 또는 제품 개발 전략 선정은 주요한 경쟁 과정이다.
시스템 엔지니어링 관점에서 각 모델 형태에 대한 속성을 잘 이해하고 당신의 특정 프로그램에 적용할 수 있는 결심을 할 수 있어야 한다.

1. 일반적 예제
1) 개요에서 우리가 이해해야 할 질문에 대하여 한 번 생각해 보아라.
2) 앞 장에서 논의했던 시스템 또는 신규 시스템에 대하여 이 장에서 제시한 내용으로 적용해 보아라.
(a) 각 대상시스템에 대하여 적용할 시스템 개발 모델을 추천하라.
(b) 선택되지 않은 모델에 대하여 그 이유와 유사성 정도에 대한 근거를 작성해 보라.
3) 나선형 개발 모델에 적합한 세 가지 시스템이나 업그레이드 사업을 제시해 보라.
4) 폭포수 개발 모델에 적합한 세 가지 시스템이나 업그레이드 사업을 제시해 보라.
5) 점진적 개발 모델에 적합한 세 가지 시스템이나 업그레이드 사업을 제시해 보라.
6) 한 시스템을 선정하여 다음 개발 모델을 잘 모르는 사람에게 당신의 경험에 따라 이를 이해할 수 있도록 설명해 보라.
(a) 폭포수 모델
(b) 진화적 모델
(c) 점진적 모델
(d) 나선형 모델

2. 조직 중심 예제
당신 조직 내에서 두 개 또는 세 개의 개발계약 프로그램을 선택하라.
1) 개발전략을 잘 이해하고 있는 사람을 인터뷰하여 각 프로그램에 대하여 적용하고 있는 개발방법의 선정 이유를 정리해 보라.
2) 당신의 결과를 보고하고 문서화하라.









배너










주요파트너/추천기업