16 planning(2010).ppt [호환 모드] -...

53
LECTURE 16 16 최은만, CSE 4039 소프트웨어 공학

Upload: others

Post on 14-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

LECTURE

1616계계 획획계계 획획

최은만, CSE 4039 소프트웨어 공학

Page 2: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

강의 스케줄

11월 30일 – 프로젝트 최초 버전 릴리스

소스코드

실행 파일

Readme 파일: 설치 및 실행에 대한 설명Readme 파일: 설치 및 실행에 대한 설명

13주(11/24. 26) – 계획

14주(12/1, 3) – 품질,

15주(12/8, 10) – 프로젝트 데모

12월 12일(토) 오전 10시 P402-403 기말 시험

16주(12/14) – 프로젝트 파이널 버전 릴리스

소스 코드

실행 파일실행 파일

Readme 파일

최은만, CSE 4039 소프트웨어 공학 2

Page 3: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

학습 목표

소프트웨어 프로젝트를 계획하려면 어떤 작업이 필요한가?

프로젝트 문제와 범위를 정의하는 방법

작업량을 예측하여 일정을 계획하는 방법

소프트웨어 비용을 산정하는 방법

소프트웨어 개발 팀을 구성하는 방법

웨어 젝 의 위험 와 이를 관리하는 방법소프트웨어 프로젝트의 위험 요소와 이를 관리하는 방법

최은만, CSE 4039 소프트웨어 공학 3

Page 4: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 관리관리(Management)(Management)

젝 관리란

gg

프로젝트 관리란?

소프트웨어 프로젝트를

조직하고(organizing)

계획하고( l i )계획하고(planning)

일정관리(Scheduling) 하는 것이다.

최은만, CSE 4039 소프트웨어 공학 4

Page 5: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 관리가관리가 중요한중요한 이유이유

수입과 지출에 직결되는 경제 관련 작업(economic activity)

기술 외적인 부분(경영, 경제)이 많음

관리가 잘된 프로젝트도 실패하는 경우가 있음 관리가 잘 안 되는관리가 잘된 프로젝트도 실패하는 경우가 있음. 관리가 잘 안 되는프로젝트는 실패로 끝날 가능성이 많음

관리 작업에 대한 방법을 일부 이론적으로 다룸

관리를 실제 배우는 일은 현장감이 중요

최은만, CSE 4039 소프트웨어 공학 5

Page 6: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

소프트웨어소프트웨어 프로젝트의프로젝트의 차이점차이점

프로덕트가 만질 수 없고 눈이 보이지 않음

프로덕트가 매우 Flexible함

기계공학, 건축공학처럼 엔지니어링 기술이 아직 확립되어 있지 않음음

소프트웨어 엔지니어링 프로세스가 표준화되어 있지 않음

대부분의 소프트웨어 프로젝트는 일회성

최은만, CSE 4039 소프트웨어 공학 6

Page 7: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 관리관리 작업작업

계획서 작성(Proposal writing)

프로젝트 예산 수립(Project costing)

프로젝트 일정 계획(Project planning and scheduling)

프로젝트 모니터링(Project monitoring and reviews)

조직 구성 및 평가(Personnel selection and evaluation)

서 작성 및 발 ( )보고서 작성 및 발표(Report writing and presentations)

최은만, CSE 4039 소프트웨어 공학 7

Page 8: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 관리관리 작업의작업의 공통점공통점

소프트웨어 프로젝트에만 있는 작업이 아님

다른 엔지니어링에서도 충분히 볼 수 있는 관리 작업들임

다른 엔지니어링도 복잡하면 소프트웨어 프로젝트 관리에서 드러내는 문제점을 가질 수 있음는 문제점을 가질 수 있음

예산의 초과

자원 예측의 부정확

기간의 지연기간의 지연

계획의 잦은 변경

최은만, CSE 4039 소프트웨어 공학 8

Page 9: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

MaturityMaturityyy

미성숙한 관리는 …..

소프트웨어 프로세스 작업은 대체로 비공식적이며 잘 이해 전달되어 있지 않음며 잘 이해 전달되어 있지 않음

일정한 작업 규칙이 없이 그때 그때 처리일정한 작업 규칙이 없이 그때 그때 처리

작업이 계속 Interrupt됨

정확한 생산성이 파악되지 않음

최은만, CSE 4039 소프트웨어 공학 9

Page 10: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

계계 획획

계획의 부재

• 불확실성

• 일정의 차질, 경비의 초과, 저품질, 높은 유지보수 비용

Risk• Risk

• 프로젝트의 실패

소프트웨어 프로젝트 계획 수립

“소프트웨어 개발 과정과 일정, 비용, 조직, 생산 제품에 대하여 사전에계획”

• 문제를 이해하고 정의문제를 이해하 정의

• 필요한 소작업을 정의하고 순서를 결정 => 계획서

• 일정 예측

비용 예측• 비용 예측

• 위험 분석

최은만, CSE 4039 소프트웨어 공학 10

Page 11: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

계계 획획

계획 수립의 결과계획 수립의 결과

-> 소프트웨어 개발 계획서

사업관리자, 개발자, 사용자들에게 사업의 범위, 필요 비용, 필요 자원, , , , , ,

개발 일정, 위험 요소 등에 대한 정보를 제공하는 산출문서

(deliverable)

주의할 점

시스템에 대한 충분한 이해, 그러나 변경의 여지도 있음

현실적, 구체적 계획

득실 관계 저울질

기술적인 측면 고려

최은만, CSE 4039 소프트웨어 공학 11

Page 12: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

문제문제 정의정의

문제의 이해

대상 업무나 문제를 사용자가 이해하는 용어로 정확히 기술한 것

문제의 인식

기본 요건 분석

문제 범위와 원인 파악

문제를 둘러싼 조직 제도 시설 인원 기술에기본 요건 분석

시스템 조사 및

문제를 둘러싼 조직, 제도, 시설, 인원, 기술에관한 현황 파악

현재의 시스템 조사, 업무 흐름 정책 등을 파악정보 수립

현 시스템의 이해면담과 서류로 심층 분석(고객 상담, 현업의 분석, 작업의 체험)시 의 이해

신규 시스템의 정의

( 객 상담, 현업의 분석, 작업의 체험)

목표 시스템의 정의

최은만, CSE 4039 소프트웨어 공학 12

Page 13: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

문제문제 정의정의

대책 수립

신규 시스템의 목표 설정

• 기능과 우선순위(투자 효과를 분석)

해결 방안 모색(사용자 요구 개발 여건 기술적 능력 고려)해결 방안 모색(사용자 요구, 개발 여건, 기술적 능력 고려)

시스템 정의

문제의 기술

시스템의 필요성

시스템의 목표시스템의 목표

제약 사항

시스템의 제공 기능

사용자의 특징

개발, 운용, 유지보수 환경

최은만, CSE 4039 소프트웨어 공학 13

Page 14: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

타당성타당성 분석분석(Feasibility Analysis)(Feasibility Analysis)y yy y

경제적 타당성

투자 효율성

시장성

비용과 수익의 비교비용과 수익의 비교

기술적 타당성(사용자 요구 기능 및 성능 vs.제공 가능성)

사례 연구

실패 사례 연구

모의 실험

프로토타이핑프로토타이핑

법적 타당성

사용 도구들의 법적 권한

시장, 관행들에 대한 조사

최은만, CSE 4039 소프트웨어 공학 14

Page 15: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

일정일정 계획계획(Scheduling)(Scheduling)gg

일정 계획

개발 프로세스를 이루는 소작업(activity)를 파악하고 순서와 일정을 정하는 작업

개발 모형 결정개발 모형 결정

소작업, 산출물, 이정표 설정

작업 순서

작업분해(Work Breakdown Structure)

CPM 네트워크 작성CPM 네 워 작성

최소 소요 기간을 구함

소요 MM, 기간 산정하여 CPM 수정

간트 차트로 그림간트 차트로 그림

최은만, CSE 4039 소프트웨어 공학 15

Page 16: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

작업작업 분해분해(Decomposition)(Decomposition)pp

작업 분해

프로젝트 완성에 필요한 activity를 찾아냄

Work Breakdown Structure

계층적 구조계층적 구조

최은만, CSE 4039 소프트웨어 공학 16

Page 17: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

작업순서작업순서 결정결정 및및 소요시간소요시간 예측예측

CP/M 소작업 리스트

소작업 선행작업 소요기간(일)

A - 8

B

C

D

-

A

-

15

15

10D

E

F

G

B, D

A, B

A

10

10

5

20G

H

I

A

D

C, F

20

25

15

J

K

L

G, E

I

K

15

7

10

최은만, CSE 4039 소프트웨어 공학 17

L K 10

Page 18: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

Activity Activity 네트워크네트워크yy

최은만, CSE 4039 소프트웨어 공학 18

Page 19: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

임계임계 경로경로

가능 경로 소요 기간(일)

S-A-M1-C-M4-I-M6-K-M8-L-X

S-A-M3-F-M4-I-M6-K-M8-L-X

55*

45 S M3 M M6 M8

S-A-M1-G-M7-J-X

S-B-M3-F-M4-I-M6-K-M8-L-X

S B M2 E M7 J X

5

43

52

40S-B-M2-E-M7-J-X

S-D-M2-E-M7-J-X

S-D-M5-H-X

40

35

35

최은만, CSE 4039 소프트웨어 공학 19

Page 20: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

CPM CPM 네트워크네트워크

장점

관리자의 일정 계획 수립에 도움

프로젝트 안에 포함된 작업 사이의 관계

병행 작업 계획병행 작업 계획

일정 시뮬레이션

일정 점검, 관리

관리에 대한 작업도 포함 가능

작업 시간을 정확히 예측할 필요

소프트웨어 도구

MS-Project, MS-Works 등

최은만, CSE 4039 소프트웨어 공학 20

Page 21: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 일정표일정표

간트 차트

소작업별로 작업의 시작과 끝을 나타낸 그래프

예비시간을 보여줌

계획 대비 진척도를 표시계획 대비 진척도를 표시

개인별 일정표

최은만, CSE 4039 소프트웨어 공학 21

Page 22: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 일정표일정표

4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4

T1T2

M1

Start

M1

T7T3

M5

T8T8

M3

M2

T6

T5T5

M4

T9

M7

T10

M6

T11

M8

T12

Finish

최은만, CSE 4039 소프트웨어 공학 22

Finish

Page 23: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

Staff AllocationStaff Allocation

4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/912/9

T4

T8 T11

Fred

T8 T11

T12

T1

T3

Jane

T3

T9

T2Anne T2

T6 T10

T7

Anne

Jim T7

T5Mary

Jim

최은만, CSE 4039 소프트웨어 공학 23

Page 24: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

노력노력 추정추정

소프트웨어 개발 비용 예측소프트웨어 개발 비용 예측

정확한 비용 예측은 매우 어려움

• 알려지지 않은 요소가 산재알려지지 않은 요소가 산재

• 원가의 계산이 어려움

과거의 데이타가 필요

단계적 비용 산정 방법도 사용

예산예산

인건비: MM(인원/월)을 기초

경비: 여비 인쇄비 재료비 회의비 공공요금경비: 여비, 인쇄비, 재료비, 회의비, 공공요금

간접 경비: overhead

최은만, CSE 4039 소프트웨어 공학 24

Page 25: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

비용에비용에 영향을영향을 주는주는 요소요소

제품의 크기

제품의 크기가 커짐에 따라 기하급수로 늘어남

제품의 복잡도

응용 : 개발지원 : 시스템 = 1 : 3 : 9

프로그래머의 자질

코딩, 디버깅의 능력차

프로그래밍 언어, 응용 친숙도

요구되는 신뢰도 수준요구되는 신뢰도 수준

기술 수준(개발 장비, 도구, 조직능력, 관리, 방법론 숙달)

남은 시간남은 시간

Putnam “프로젝트의 노력은 남은 개발 기간의 4제곱에 반비례”

최은만, CSE 4039 소프트웨어 공학 25

Page 26: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

프로젝트프로젝트 비용을비용을 예측하는예측하는 방법방법

상향식상향식

소요 기간을 구하고 여기에 투입되어야 할 인력과 투입 인력의 참여

도를 곱하여 최종 인건 비용을 계산

소작업에 대한 노력을 일일이 예측

하향식

프로그램의 규모를 예측하고 과거 경험을 바탕으로 예측한 규모에 대

한 소요 인력과 기간을 추정

프로그램의 규모

• LOC

• 기능 점수

최은만, CSE 4039 소프트웨어 공학 26

Page 27: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMO COCOMO 방법방법

Boehm이 개발

TRW의 2K-32K 정도의 많은 프로젝트의 기록을 통계 분석

표준 산정 공식

노력(MM) 기간(D)노력(MM) 기간(D)

Organic 유형 PM = 2.4*(KDSI)**1.05 TDEV=2.5*(PM)**0.38

Semidetached 유형 PM = 3.0*(KDSI)**1.12 TDEV=2.5*(PM)**0.35

Embedded 유형 PM = 3 6*(KDSI)**1 20 TDEV=2 5*(PM)**0 32Embedded 유형 PM = 3.6*(KDSI)**1.20 TDEV=2.5*(PM)**0.32

CAD 시스템 예상 규모: 33360 LOC

PM = 3.0*(KDSI)**1.12 = 3.0*(33.3)**1.12 = 152MM

TDEV = 2.5*(PM)**0.35 = 2.5*(152)**0.35 = 14.5 M

N=E/D = 152/14 5 ~ 11 명N E/D 152/14.5 11 명

보정

최은만, CSE 4039 소프트웨어 공학 27

Page 28: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMOCOCOMO에에 의한의한 비용비용 예측예측

최은만, CSE 4039 소프트웨어 공학 28

Page 29: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMO COCOMO 방법방법

모델 내용 기타

기본 COCOMO(Basic COCOMO)

추정된 LOC를 프로그램 크기의 함수로 표현해서 소프

S/W 크기와 개발모드( ) 기의 수 해서

트웨어 개발 노력(그리고 비용)을 계산.

중간급COCOMO 프로그램 크기의 함수와 제품,하드웨어 인적 요소 프로젝

15개의 비용 요소를 가미하(IntermediateCOCOMO)

하드웨어, 인적 요소, 프로젝트 속성들의 주관적인 평가를포함하는 “비용 유도자(costdriver)”의 집합으로 소프트웨

여 곱한 가중치 계수 이용

어 개발 노력을 계산한다

고급 COCOMO(Advanced

소프트웨어 공학 과정의 각단계(분석, 설계 등)에 비용

시스템을 모듈, 서브 시스템으 로 세 분 화 한 후(

COCOMO= Detail COCOMO)

단계(분석, 설계 등)에 비용유도자(cost driver)의 영향에 관한 평가를 중간급 모형의 모든 특성을 통합시킨 것.

세 분 화 한 후Intermediate와 동일

최은만, CSE 4039 소프트웨어 공학 29

Page 30: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기본기본 COCOMO COCOMO 방법방법

< 예제 1> 32,000 LOC로 예상되는 Organic ModeE 2 4(32)1 05 91 hE = 2.4(32)1.05 = 91 man-monthsD = 2.5(91)0.38 = 14 개월N = 91 / 14 =6.5 ≒7 명- 생산성생산성32,000 / 91 = 352 LOC/MM352 / 22 ≒ 16그러므로, 한 사람이 하루에 약 16라인 작성

< 예제 2> 128,000 LOC의 크기인 Embedded ModeE = 3.6(128)1.20 = 1216 man-monthsD = 2 5(1216)0.32 = 24 개월D 2.5(1216) 24 개월N = 1216 / 24 = 50.66 ≒51명- 생산성128,000 / 1,216 = 105 LOC/MM

/105 / 20 ≒ 4그러므로 한 사람이 하루에 약 4라인 작성

최은만, CSE 4039 소프트웨어 공학 30

Page 31: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

중간중간 COCOMO COCOMO 방법방법

비용드라이버

비율매우낮 낮음 보통 높음 매우높음 극히매우높음라이버 매우낮

음낮음 보통 높음 매우높음 극히매우높음

제품특성 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 65CPLX 0.7 0.85 1 1.15 1.3 1.65

H/W TIME 1 1.11 1.3 1.66

STOR 1 1.06 1.21 1.56

VIRT 0 87 1 1 15 1 3VIRT 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 82AEXP 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.95LEXP 1.14 1.07 1 0.95

PROJECT

특성

MODP 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

최은만, CSE 4039 소프트웨어 공학 31

Page 32: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

중간중간 COCOMO COCOMO 방법방법

모든 노력 승수를 곱한다.

예: E=EAF * 2.4(32)1.05 = EAF * 91 man-months

단점단점

소프트웨어 제품을 하나의 개체로 보고 승수들을 전체적으로적용시킴적

실제 대부분의 대형 시스템은 서로 상이한 서브 시스템으로 구성되며 이중 일부분은 Organic Mode이고 다른 부분은Embedded Mode인 경우도 있다Embedded Mode인 경우도 있다.

최은만, CSE 4039 소프트웨어 공학 32

Page 33: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMO IICOCOMO II

1995년에발표

소프트웨어 개발 프로젝트가 진행된 정도에 따라 세가지 다른 모델을 제시

1 단계: 프로토타입 만드는 단계1 단계: 프로토타입 만드는 단계

• 화면이나 출력 등 사용자 인터페이스, 3 세대 언어 컴포넌트 개수를 세어응용 점수(application points)를 계산

• 이를 바탕으로 노력을 추정• 이를 바탕으로 노력을 추정

2 단계: 초기 설계 단계

• 자세한 구조와 기능을 탐구

단계 설계 이후 단계3 단계: 구조 설계 이후 단계

• 시스템에 대한 자세한 이해

최은만, CSE 4039 소프트웨어 공학 33

Page 34: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMO II COCOMO II 세세 가지가지 단계단계

비교대상 단계 1: 응용합성 단계 2: 단계 3:

(프로토타이핑) 초기설계 설계이후

크기 응용 포인트 기능 포인트(FP)와 언어종류

FP와언어

LOC종류 LOC

재사용 모델에 포함됨 LOC를 다른 변수의 함수로 사용

LOC를 다른 변수의함수로 사용

요구변경 모델에 포함됨 변경 비율이 비용승수로반영됨

변경 비율이 비용승수로 반영됨

유지보수 응용 포인트 ACT, 이해력, 친밀성의 함 ACT, 이해력, 친밀

연평균 변경 비율(ACT)

수 성의 함수

노력 예측 공 1.0 선행작업, 적응도, 초기 설 선행작업 , 적응도 ,력 예측식 (E=bSC) 에서 C의 값

행작업, 적응 , 기계, 위험제거, 팀 결집력,SEI 프로세스 성숙도에 따라

1~1

행작업 , 적응 ,초기 설계, 위험제거,팀 결집력, SEI 프로세스 성숙도에 따라

1~1

최은만, CSE 4039 소프트웨어 공학 34

0.91~1.23 0.91~1.23

Page 35: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

COCOMO II COCOMO II 세세 가지가지 단계단계

비교대상 단계 1: 응용합성 단계 2: 단계 3:

(프로토타이핑) 초기설계 설계이후

프로덕트 비용승수

없음 복잡도, 재사용 요구도

신뢰도, 데이터베이스 규모 문서화 요구정도 재사승수 도 모, 문서화 요구정도, 재사용 요구도, 제품 복잡도

플랫폼 비용승 없음 플랫폼 난이도 실행시간 제약, 기억공간수 제약, 가상기계

인력 비용 승수

없음 개인 능력과 경험 분석 능력, 응용 경험, 프로그래머 능력 프로그래수 로그래머 능력, 프로그래머 경험, 언어 및 도구사용 경험, 연속성

프로젝트 비용승수

없음 개발 기간, 개발 환경에 대한 요구

소프트웨어 도구 사용, 개발 기간, 여러 사이트 개발 요구

최은만, CSE 4039 소프트웨어 공학 35

Page 36: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 방법방법

기능 점수(function points)기능 점수(function points)

정확한 라인수는 예측 불가능

입력 출력 질의 화일 인터페이스의 개수로 소프트웨어의 규모를 나입력, 출력, 질의, 화일, 인터페이스의 개수로 소프트웨어의 규모를 나

타냄

각 기능에 가중값(표 2.6)각 기능에 가중값(표 2.6)

기능 점수 1을 구현하기 위한 LOC

• 어셈블리 언어(324), C언어(150), Pascal(91), Ada(71), APL(32)어셈블리 언어(324), C언어(150), Pascal(91), Ada(71), APL(32)

복합 가중값을 이용한 기능점수 산출(표 2.7)

총 라인수 = FP * 원하는 언어의 1점 당 LOC총 라인수 = FP * 원하는 언어의 1점 당 LOC

개발 노력 = 총라인수 / 생산성(LOC/MM)

최은만, CSE 4039 소프트웨어 공학 36

Page 37: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

사원 업무 관리 시스템

사원과 할당된 업무를 추적하는 기능이 필요하다. 사원과 할당된 업무의 추가, 변경, 삭제, 조회, 보고 등. 사원은 정규직과 비정규직이 있다.

사원은 하나 이상의 업무를 할당 받을 수 있다사원은 하나 이상의 업무를 할당 받을 수 있다.

표준 업무에 대한 설명은 다른 시스템이 제공한다.

사원은 한 부서 이상에서 일할 수 있고 하나의 부서에는 여러 명의 사원이 일한다원이 일한다.

최은만, CSE 4039 소프트웨어 공학 37

Page 38: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

Step 1: 내부논리파일(Internal Logical File)과외부인터페이스파일(External Interface File) 등 모든데이터관련기능을찾아내고복잡도를구한다.

자료 이름 항 목 엔티티/서브타입 종류(내부/외부)자료 이름 항 목 엔티티/서브타입 종류(내부/외부)

사원 (이름, 주민번호, 부양자수, 근무형태(정규직/비정규직), 근무부서(외부키))

엔티티타입 내부

서정규직 (직급) 서브타입 RET

비정규직 (시간당임금, 소개소) 서브타입 RET

업무 (작업명 작업번호 임금단가) 엔티티타입 내부업무 (작업명, 작업번호, 임금단가) 엔티티타입 내부

업무할당 (발령일, 급여, 근무평가, 업무번호(외부키), 사원주민번호)

엔티티타입 내부

업무기술 (업무번호(외부키), 기술서 줄 번호, 기술서) 외부 자료 -

부서 (부서이름, 주소, 사원주민번호(외부키)) 외부 데이터 외부

최은만, CSE 4039 소프트웨어 공학 38

Page 39: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

표 2.9에 대입 복잡도를 구하면

내부 파일

사원: 8개의 DET(이름, 주민번호, 부양자수, 근무형태, 근무부서, 직급, 시간당 임금 소개소) -> 단순등급시간당 임금, 소개소) -> 단순등급

2개의 RET(정규직, 비정규직) -> 단순등급

업무: 4개의 DET(작업명, 작업번호, 임금단가, 업무번호) -> 단순등급

1개의 RET -> 단순등급

외부 파일

부서: 3개의 DET -> 단순등급부서: 3개의 DET > 단순등급

1개의 RET -> 단순등급

최은만, CSE 4039 소프트웨어 공학 39

Page 40: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

Step 2: 처리관련기능(transactional function)인외부입력(External Input)과외부출력(External Output) 및 사용자질의(External Query)를 파악하고복잡도를구한다.

외부입력 외부출력 질의외부입력 외부출력 질의

사원 사원 추가, 변경, 삭제 사원 추가, 변경, 삭제

사원질의: 6-9 DET

사원질의

업무 작업 추가 변경 삭제 작업 추가 변경 삭제 작업질의업무 작업 추가, 변경, 삭제 작업 추가, 변경, 삭제

작업질의: 5 DET

작업질의

업무할당 작업할당

부서변경

작업할당

적업할당 질의:

업무할당 질의

부서변경

사원평가

업무해임

적업할당 질의:

작업할당 보고서

부서변경

사원평가사원평가

업무해임

부서 보고

부서질의 부서질의

최은만, CSE 4039 소프트웨어 공학 40

Page 41: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

표 2.11에 대입 복잡도를 구하면

사원

추가: 10개 DET, 2개 FTR(업무, 부서) -> 중간등급

삭제: 3 DET 1FTR > 단순 등급삭제: 3 DET, 1FTR -> 단순 등급

업무할당

6개의 DET, 3개의 FTR(사원, 업무, 업무할당) -> 복잡 등급, , ,

외부 출력

6-19개의 DET, 2개의 FTR(사원, 부서) -> 중간 등급

작업 보고작업 보고

5개의 DET, 1개의 FTR -> 단순 등급

업무할당 보고업무할당

6~18개의 DET, 3개의 FTR(사원, 작업, 작업 할당) -> 중간 등급

최은만, CSE 4039 소프트웨어 공학 41

Page 42: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

기능기능 점수점수 추정추정 사례사례

Step 3: 전체 기능 점수를 구한다. 미조정 기능점수 = 96

단순 중간 복잡

외부입력 6 × 3 2 × 4 2 × 6

외부출력 1 × 4 3 × 5 × 7

내부화일 3 × 7 × 10 6 × 15

외부화일외부화일 1 × 5 × 7 6 × 10

외부질의 3 × 3 1 × 4 0 × 6

미조정 기능점수 = 96

Step 4: 14가지 시스템 특성을 고려하여 조정.총영향도(T t l D f I fl ): 25총영향도(Total Degree of Influence): 25

Step 5: 최종 기능 점수

Function Points = UFP X (0.65 + 0.01 X TDI)

최은만, CSE 4039 소프트웨어 공학 42

= 96 X ( 0.65 + 0.01 X 25) = 86.4

Page 43: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

조직조직 계획계획

조직의 구성직의 구소프트웨어 개발 생산성에 큰 영향

작업의 특성과 팀 구성원 사이의 의사교류

프로젝트의 구조프로젝트의 구조프로젝트별 조직

• 프로젝트 시작에서 개발 완료까지 전담 팀프로젝트 시작에서 개발 완료까지 전담 팀

기능별 조직

• 계획수립 분석팀, 설계 구현 팀, 테스트 및 유지보수 팀

Pi li 식 공정• Pipeline 식 공정

매트릭스 조직

• 요원들은 고유 관리 팀과 기능 조직에 동시에 관련

• 필요에 따라 요원을 차출 팀을 구성하고 끝나면 원래의 소속으로 복귀

최은만, CSE 4039 소프트웨어 공학 43

Page 44: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

중앙중앙 집중식집중식 조직조직

의사 결정권이 리더에게 집중의사 결정권이 리더에게 집중

계층적 팀 구조

책임 프로그래머 팀(chief programmer team)책임 프로그래머 팀(chief programmer team)

외과 수술 팀 구성에서 따옴

책임 프로그래머: 제품설계 주요부분 코딩 중요한 기술적 결책임 프로그래머: 제품설계, 주요부분 코딩, 중요한 기술적 결

정, 작업의 지시

프로그램 사서: 프로그램 리스트 관리, 설계 문서 및 테스트 계

획 관리

보조 프로그래머: 기술적 문제에 대하여 상의, 고객/출판/품질

보증 그룹과 접촉 부분적 분석/설계/구현을 담당보증 그룹과 접촉, 부분적 분석/설계/구현을 담당

프로그래머: 각 모듈의 프로그래밍

최은만, CSE 4039 소프트웨어 공학 44

Page 45: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

중앙중앙 집중식집중식 조직조직

책임프로그래머

백업

특징

프로그램 사서 프로그래머 보조 프로그래머

특징

의사 결정이 빠름

소규모 프로젝트에 적합소규모 프로젝트에 적합

초보 프로그래머를 훈련시키는 기회로 적합

단점

한 사람의 능력과 경험이 프로젝트의 성패 좌우

보조 프로그래머의 역할이 모호

최은만, CSE 4039 소프트웨어 공학 45

Page 46: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

분산형분산형 팀조직팀조직

민주주의 식 의사결정민주주의 식 의사결정서로 협동하여 수행하는 비이기적인 팀(Ego-less)

자신이 있는 일을 알아서 수행

구성원이 동등한 책임과 권한

의사 교환 경로

특징작업 만족도 높음

의사 교류 활성화의사 교류 활성화

장기 프로젝트에 적합

단점단점책임이 명확하지 않은 일이 발생

대규모에 적합하지 않음(의사 결정 지연 가능)

최은만, CSE 4039 소프트웨어 공학 46

적 ( )

Page 47: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

혼합형혼합형 팀조직팀조직

집중형, 분산형의 단점을 보완,

특징

초보자와 경험자를 분리

프로젝트 관리자와 고급 프로그래머에게 지휘권한이 주어짐

의사교환은 초보 엔지니어나 중간 관리층으로 분산

소프트웨어 기능에

따라계층적으로 분산

단점

기술인력이 관리를 담당

의사 전달 경로가 김

최은만, CSE 4039 소프트웨어 공학 47

Page 48: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

위험위험 분석분석

위험 요소를 인식하고 그 영향을 분석하여 관리위험 요소를 인식하고 그 영향을 분석하여 관리

실패에 영향을 미칠 위험 요소 인식하고 그 대책 수립

인력의 부족 > 인력의 적극적 유치; 팀 구성; 교차교육 등인력의 부족 -> 인력의 적극적 유치; 팀 구성; 교차교육 등

일관성 있는 해결 방안

비용에 많은 영향을 미치는 요소 > 리스크비용에 많은 영향을 미치는 요소 -> 리스크

요구분석의 변경

• 프로토타이핑, 설문지, 리뷰

일정 지연의 위험

• 작업 의존도를 낮춤

• CPM 네트워크에서 outgoing arcs가 많은 노드

최은만, CSE 4039 소프트웨어 공학 48

Page 49: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

일반적인일반적인 위험위험 요소요소

위험 요소 위험 관리 기법

1.인력 부족 - 유능한 인력모집, 팀 구성, 요원 배치,

교차-교육, 유능 인력 사전 확보

2 비현실적 일정 더 자세한 비용 일정 예측 원가 분석2.비현실적 일정 - 더 자세한 비용, 일정 예측, 원가 분석,

및 예산 점증적 개발, 소프트웨어 재사용 요구를

줄임줄임

3.잘못된 기능의 - 사용자 회람, 프로토타이핑, 사용자 지침

소프트웨어 개발 서를 조기에 작성, 조직 분석, 직능 분석

4. 잘못된 인터페 - 프로토타이핑, 시나리오, 태스크 분석,

이스의 개발 사용자 분류(기능, 스타일, 업무)

5 과포장 - 요구 삭감 프로토타이핑 비용-수익5. 과포장 요구 삭감, 프로토타이핑, 비용 수익

분석, 원가 분석

최은만, CSE 4039 소프트웨어 공학 49

Page 50: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

일반적인일반적인 위험위험 요소요소

위험 요소 위험 관리 기법

6. 계속적인 - 최대 변경 상한선, 정보 은닉, 점증적

요구 변경 개발(다음 버젼까지 변경을 연기)

7 외부 모양의 벤치마킹 검사 대조 확인 성숙도 분석7. 외부 모양의 - 벤치마킹; 검사; 대조 확인; 성숙도 분석

빈약

8 외부 기능의 - 대조 확인; 사전 검증; 설계 경연; 팀 작업8. 외부 기능의 대조 확인; 사전 검증; 설계 경연; 팀 작업

빈약

9. 실시간 성능 - 시뮬레이션, 벤치마킹, 모델링,

의 빈약 프로토타이핑, 튜닝

10. 기술적 취약 - 기술 분석, 비용-수익 분석,

프로토타이핑 점검프로토타이핑; 점검

최은만, CSE 4039 소프트웨어 공학 50

Page 51: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

계획서계획서 작성작성

1 개 요

1.1 프로젝트 개요

1.2 프로젝트의 산출물

1 3 정의 약어1.3 정의, 약어

2 자원 및 일정 예측

2.1 자원. 자원

가. 인력

나. 비용

2.2 일정

3 조직 구성 및 인력 배치

3 1 조직 구성3.1 조직 구성

3.2 직무 기술

최은만, CSE 4039 소프트웨어 공학 51

Page 52: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

계획서계획서 작성작성

4 WBS

5 기술관리 방법

5.1 변경 관리

5 2 위험 관리5.2 위험 관리

5.3 비용 및 진도 관리

5.4 문제점 해결 방안5. 문제점 해결 방안

6 표준 및 개발 절차

6.1 개발 방법론

7 검토 회의

7.1 검토회 일정

7 2 검토회 진행 방법7.2 검토회 진행 방법

7.3 검토회 후속 조치

최은만, CSE 4039 소프트웨어 공학 52

Page 53: 16 Planning(2010).ppt [호환 모드] - Donggukocw.dongguk.edu/contents/2011/2011111914102/pdf... · 2011-12-29 · COCOMO II 1995년에발표 소프트웨어개발프로젝트가진행된정도에따라세가지다른모델

계획서계획서 작성작성

8 개발 환경8 개발 환경

9 성능 시험 방법

10 문서화10 문서화

11 유지보수

12 설치, 인수

13 참고문헌 및 부록13 참고문헌 및 부록

최은만, CSE 4039 소프트웨어 공학 53