목차
1. S/W 공학의 역사, 정의, 목표와 잘 개발된 S/W
2. S/W 생명주기 모델 개념, 특징, 장단점 설명
(1) 순차적 모델(Sequential Model) 또는 폭포수 모델(Waterfall Model)
(2) 프로토타이핑 모델(Prototyping Model)
(3) S/W 비용산정 방법 중 COCOMO에 대해 (구체적 예 포함)
(4) 나선형 모델(Spiral Model)
2. S/W 생명주기 모델 개념, 특징, 장단점 설명
(1) 순차적 모델(Sequential Model) 또는 폭포수 모델(Waterfall Model)
(2) 프로토타이핑 모델(Prototyping Model)
(3) S/W 비용산정 방법 중 COCOMO에 대해 (구체적 예 포함)
(4) 나선형 모델(Spiral Model)
본문내용
기와 유형을 제외하고는 프로젝트에 영향을 미치는 많은 요인들이 제외되었다. 중간 COCOMO 모델은 이러한 요인들을 고려하고 있다.
중간 COCOMO모델도 기본 COCOMO의 식에서 출발한다. 여기에 제품에 요구되는 신뢰도, 데이터베이스의 크기, 수행 시간과 기억 장치의 제한 조건, 개인적인 특성, 그리고 사용하는 소프트웨어 도구 등의 요인들을 적용시킨다. 전체적으로는 15개의 요인으로 구성되고 네가지 종류로 구분된다. 여기에는 제품의 특성, 컴퓨터의 특성, 개인의 특성, 그리고 프로젝트의 특성이 해당된다. 제품의 특성에는 요구되는 소프트웨어신뢰도(RELY), 데이터베이스크기(DATA)가 있으며, 컴퓨터의 특성에는 수행 시간의 제한(TIME), 기억 장소의 제한(STOR), 가상 기계의 안정성(VIRT), 컴퓨터의 turnaround 시간(TURN)이 있다. 그리고개인의 특성에는 분석가의 능력(ACAP), 개발분야의 경험(AEXP), 가상 기계의 경험(VEXP),프로그래머의 능력(PCAP), 프로그래밍 언어의 경험(LEXP)로 뷴류되며, 프로젝트의 특성은최신 프로그래밍 기법의 이용(MODP), 소프트웨어 도구(TOOL), 요구되는 개발 일정(SCED)로 분류된다.
Boehm(1981)은 이러한 15개의 특성 각각에 대한 승수(multiplier)값을 다음의 표에 있는대로 제시했다. 이들 특성에 관련된 값은 개발 환경에 따라 결정되므로 각 환경에서 적당하비용 요인
비율
아주 낮음
낮음
보통
약간 높음
높음
아주 높음
RELY
0.75
0.88
1
1.15
1.4
-
DATA
-
0.94
1
1.08
1.16
-
CPLX
0.7
0.85
1
1.15
1.3
1.65
TIME
-
-
1
1.11
1.3
1.65
STOR
-
-
1
1.06
1.21
1.56
VIRT
-
0.87
1
1.15
1.3
-
TURN
-
0.87
1
1.07
1.15
-
ACAP
1.46
1.19
1
0.86
0.71
-
AEXP
1.29
1.13
1
0.91
0.82
-
PCAP
1.42
1.17
1
0.86
0.7
-
VEXP
1.21
1.1
1
0.9
-
-
LEXP
1.14
1.07
1
0.95
-
-
MOOP
1.24
1.1
1
0.91
0.82
-
TOOL
1.24
1.1
1
0.91
0.83
-
SCED
1.23
1.08
1
1.04
1.1
-
값으로 조정해야 한다. <프로젝트 특성에 따른 승수값>
유지 보수 비용을 산정할 경우에 RELY, MODP, SCED와 같은 특성을 제외하고는 모든특성들에 대한 등급은 동일하다. 유지 보수 비용의 산정에서 원래의 개발 일정은 관계가없으므로 이 특성은 중간 등급의 값을 갖게 된다. 최신 프로그래밍 기법을 이용할 경우 유지 보수 비용에 큰 영향을 미치고 제품의 크기도 커진다. 개발시의 신뢰도가 높은 것은 낮은 것에 비해 유지 보수시의 신뢰도를 향상시키기도 쉽다. 변경된 RELY, MODP값은 다음표들과 같다. MODP값은 KDSI에 따라 결정된다.
아주 낮음
낮음
보통
높음
아주 높은
RELY
1.35
1.15
1
0.98
1.1
<유지 보수 승수값>
제품크기
아주 낮음
낮음
보통
높음
아주 높음
2
1.25
1.12
1
0.9
0.81
8
1.3
1.14
1
0.88
0.77
32
1.35
1.16
1
0.86
0.74
128
1.4
1.18
1
0.85
0.72
512
1.45
1.2
1
0.84
0.7
이러한 특성들은 과거의 데이터를 분석하여 얻어진다. 특정 조직에서는 비용 승수로 상이한 특성을 이용할 수도 있다. 예를 들어 소프트웨어의 라이브러리의 이용가능성, 통합된 소프트웨어 공학 환경의 이용, 또는 위크스테이션의 이용 가능성을 모두 고려할 수도 있다.기본 COCOMO 모델과 중간 COCOMO 모델의 단점은 소프트웨어 제품을 하나의 개체로 보고 승수들을 전체적으로 적용시킨다는 것이다. COCOMO같은 비용 산정 모델을 어느 정도 사용하고 나면 각 상수들을 자신들의 환경에 맞도록 변경해야 한다는 것을 알게 된다. Boehm은 실제의 비용과 예측된 비용을 비교하고최소제곱법을 이용하여 모델을 조정하는 방법에 관해 설명했다. 이를 위해서는 기본 COCOMO 모데르이 상수항과 비율이 조정되어야 한다. 예를 들어 다음표는 예상된 프로젝트 비용과 실제 측정된 프로젝트 비용을 나타낸다. 이를 그림으로 나타내면 그 다음 그림과 같다. 최소제곱법은 관측 값에 대한 최적의 직선을 구하고, COCOMO 모델의 상수를 조정하는데 필요한 통계적 기법이다.
크기
예상 비용
실제 비용
14
57.65
65.72
17
71.65
82.40
26
115.32
131.46
40
186.82
249.10
55
266.89
304.25
60
284.21
323,63
64
316.26
302.55
97
503.86
571.04
<예상한 프로젝트 비용과 실제 프로젝트 비용> <예상한 프로젝트 비용과 실제의 프로젝트 비용>
곡선 적합 기능을 포함하는 다양한 그래픽 패키지가 모델의 조정에 유용하다. 지수값고 유사한 방식으로 계산되고, 대형 프로젝트의 경우 정확한 조정을 위해서는 더욱 많은 데이터를 필요로 한다. 앞에서 보았듯이 정상적인 경우에 이 값은 1에 가깝다. 새로운지수를 계산한 것이 가능하고, 새로운 값과 현재 알려진 값과의 차이는 중요하지 않다. 특정 조직의 작업 환경 아래에서 특성 모드에 따라 중간 COCOMO모델의 특성을 제거하거나 결합하고 특히 중요한 특성을 추가할 수도 있다. 예를 들어 개인 특성들을 하나의 특성으로 결합할 수도 있고 대회식 작업을 하나의 개발 모드로 정할 수도 있다. 또한 UNIX와
같은 시스템의 사용은 표준화된 도구들이 사용 가능함을 의미한다. 승수값은 해당 승수를 제외하여 비용을 산정한 후 여러 승수 값을 반복하여 계산한 후 실제의 비용과 가장 근사하게 산정값이 나올 때의 승수를 택한다. 물론 승수를 조정하는 데의 어려움은 승수들이 서로 독립 변수가 아니라는 점이다. 예를 들어 어떤 조직에서 소프트웨어 공학 환경을 개선할 경우 이는 곧 소프트웨어 도구, 가상기계의 안정성, 그리고 turnaround 특성 등에 영향을 미친다.
중간 COCOMO모델도 기본 COCOMO의 식에서 출발한다. 여기에 제품에 요구되는 신뢰도, 데이터베이스의 크기, 수행 시간과 기억 장치의 제한 조건, 개인적인 특성, 그리고 사용하는 소프트웨어 도구 등의 요인들을 적용시킨다. 전체적으로는 15개의 요인으로 구성되고 네가지 종류로 구분된다. 여기에는 제품의 특성, 컴퓨터의 특성, 개인의 특성, 그리고 프로젝트의 특성이 해당된다. 제품의 특성에는 요구되는 소프트웨어신뢰도(RELY), 데이터베이스크기(DATA)가 있으며, 컴퓨터의 특성에는 수행 시간의 제한(TIME), 기억 장소의 제한(STOR), 가상 기계의 안정성(VIRT), 컴퓨터의 turnaround 시간(TURN)이 있다. 그리고개인의 특성에는 분석가의 능력(ACAP), 개발분야의 경험(AEXP), 가상 기계의 경험(VEXP),프로그래머의 능력(PCAP), 프로그래밍 언어의 경험(LEXP)로 뷴류되며, 프로젝트의 특성은최신 프로그래밍 기법의 이용(MODP), 소프트웨어 도구(TOOL), 요구되는 개발 일정(SCED)로 분류된다.
Boehm(1981)은 이러한 15개의 특성 각각에 대한 승수(multiplier)값을 다음의 표에 있는대로 제시했다. 이들 특성에 관련된 값은 개발 환경에 따라 결정되므로 각 환경에서 적당하비용 요인
비율
아주 낮음
낮음
보통
약간 높음
높음
아주 높음
RELY
0.75
0.88
1
1.15
1.4
-
DATA
-
0.94
1
1.08
1.16
-
CPLX
0.7
0.85
1
1.15
1.3
1.65
TIME
-
-
1
1.11
1.3
1.65
STOR
-
-
1
1.06
1.21
1.56
VIRT
-
0.87
1
1.15
1.3
-
TURN
-
0.87
1
1.07
1.15
-
ACAP
1.46
1.19
1
0.86
0.71
-
AEXP
1.29
1.13
1
0.91
0.82
-
PCAP
1.42
1.17
1
0.86
0.7
-
VEXP
1.21
1.1
1
0.9
-
-
LEXP
1.14
1.07
1
0.95
-
-
MOOP
1.24
1.1
1
0.91
0.82
-
TOOL
1.24
1.1
1
0.91
0.83
-
SCED
1.23
1.08
1
1.04
1.1
-
값으로 조정해야 한다. <프로젝트 특성에 따른 승수값>
유지 보수 비용을 산정할 경우에 RELY, MODP, SCED와 같은 특성을 제외하고는 모든특성들에 대한 등급은 동일하다. 유지 보수 비용의 산정에서 원래의 개발 일정은 관계가없으므로 이 특성은 중간 등급의 값을 갖게 된다. 최신 프로그래밍 기법을 이용할 경우 유지 보수 비용에 큰 영향을 미치고 제품의 크기도 커진다. 개발시의 신뢰도가 높은 것은 낮은 것에 비해 유지 보수시의 신뢰도를 향상시키기도 쉽다. 변경된 RELY, MODP값은 다음표들과 같다. MODP값은 KDSI에 따라 결정된다.
아주 낮음
낮음
보통
높음
아주 높은
RELY
1.35
1.15
1
0.98
1.1
<유지 보수 승수값>
제품크기
아주 낮음
낮음
보통
높음
아주 높음
2
1.25
1.12
1
0.9
0.81
8
1.3
1.14
1
0.88
0.77
32
1.35
1.16
1
0.86
0.74
128
1.4
1.18
1
0.85
0.72
512
1.45
1.2
1
0.84
0.7
이러한 특성들은 과거의 데이터를 분석하여 얻어진다. 특정 조직에서는 비용 승수로 상이한 특성을 이용할 수도 있다. 예를 들어 소프트웨어의 라이브러리의 이용가능성, 통합된 소프트웨어 공학 환경의 이용, 또는 위크스테이션의 이용 가능성을 모두 고려할 수도 있다.기본 COCOMO 모델과 중간 COCOMO 모델의 단점은 소프트웨어 제품을 하나의 개체로 보고 승수들을 전체적으로 적용시킨다는 것이다. COCOMO같은 비용 산정 모델을 어느 정도 사용하고 나면 각 상수들을 자신들의 환경에 맞도록 변경해야 한다는 것을 알게 된다. Boehm은 실제의 비용과 예측된 비용을 비교하고최소제곱법을 이용하여 모델을 조정하는 방법에 관해 설명했다. 이를 위해서는 기본 COCOMO 모데르이 상수항과 비율이 조정되어야 한다. 예를 들어 다음표는 예상된 프로젝트 비용과 실제 측정된 프로젝트 비용을 나타낸다. 이를 그림으로 나타내면 그 다음 그림과 같다. 최소제곱법은 관측 값에 대한 최적의 직선을 구하고, COCOMO 모델의 상수를 조정하는데 필요한 통계적 기법이다.
크기
예상 비용
실제 비용
14
57.65
65.72
17
71.65
82.40
26
115.32
131.46
40
186.82
249.10
55
266.89
304.25
60
284.21
323,63
64
316.26
302.55
97
503.86
571.04
<예상한 프로젝트 비용과 실제 프로젝트 비용> <예상한 프로젝트 비용과 실제의 프로젝트 비용>
곡선 적합 기능을 포함하는 다양한 그래픽 패키지가 모델의 조정에 유용하다. 지수값고 유사한 방식으로 계산되고, 대형 프로젝트의 경우 정확한 조정을 위해서는 더욱 많은 데이터를 필요로 한다. 앞에서 보았듯이 정상적인 경우에 이 값은 1에 가깝다. 새로운지수를 계산한 것이 가능하고, 새로운 값과 현재 알려진 값과의 차이는 중요하지 않다. 특정 조직의 작업 환경 아래에서 특성 모드에 따라 중간 COCOMO모델의 특성을 제거하거나 결합하고 특히 중요한 특성을 추가할 수도 있다. 예를 들어 개인 특성들을 하나의 특성으로 결합할 수도 있고 대회식 작업을 하나의 개발 모드로 정할 수도 있다. 또한 UNIX와
같은 시스템의 사용은 표준화된 도구들이 사용 가능함을 의미한다. 승수값은 해당 승수를 제외하여 비용을 산정한 후 여러 승수 값을 반복하여 계산한 후 실제의 비용과 가장 근사하게 산정값이 나올 때의 승수를 택한다. 물론 승수를 조정하는 데의 어려움은 승수들이 서로 독립 변수가 아니라는 점이다. 예를 들어 어떤 조직에서 소프트웨어 공학 환경을 개선할 경우 이는 곧 소프트웨어 도구, 가상기계의 안정성, 그리고 turnaround 특성 등에 영향을 미친다.
소개글