1. 일정 계획(Scheduling)
일정 계획
정의
개발 프로세스를 이루는 소작업(Activity)을 파악하고 순서와 일정을 정하는 작업
• 개발 모형 결정
• 소작업, 산출물, 이정표 설정
작업 순서
다섯 가지 순서
작업분해(Work Breakdown Structure) 1
CPM 네트워크 작성 2
최소 소요 기간을 구함 3
소요 MM, 기간 산정하여 CPM 수정 4
간트 차트로 그림 5
작업 분해
정의
프로젝트 완성에 필요한 Activity를 찾아냄
구조(Work Breakdown Structure)
계층적 구조
목표를 단계(Phases), 활동(Activities), 작업(Tasks) 등 계층적으로 분류
WBS
의미
순서적, 계층적으로도 표현
WBS는 간단한 전체적인 프로젝트의 윤곽을 보여주며 간트 차트에서 활동(Activity)이나 작업의 기준
WBS에서 프로젝트 관리자는 소단위 작업에 대한 작업 소요일을 측정
작업기간을 측정할 때 소비시간(Elapsed Time) 개념을 이해하는 것이 중요
소비 시간은 두 가지 중요한 인간적인 요소(People Factor)를 고려
효율성(Efficiency) 평균 작업 생산성을 75%로 생각
Interruptions 생각 못했던 요소를 10 ~ 50%로 생각
시간예측
100% 효율성과 인터럽트가 없는 경우에 10시간으로 완성시킬 수 있는 작업이 있다고 가정하고, 또한 75%
효율과 15% Interrupt가 있는 경우를 고려해보자.
실제 작업에 걸리는 시간을 측정하면 다음과 같이 15.7 시간이 필요함
작업시간 측정하는 일반적인 방법
측정 방법 종류
OD, PD, ED를 측정하는 방법
세 가지 방법
Decomposition
프로젝트를 가장 작은 소단위 작업으로 나누어서 과거의 경험을 바탕으로 측정하는 방법
COCOMO
하나의 모델을 기준으로 측정하는 것으로 이전의 프로젝트 기간을 중심으로 새로운 프로젝트의 기간을
정하는 방법
Function Point
입력 수, 출력 수, 질의(Query) 수, 외부 인터페이스 수 등을 이용하여 FP(Function Point)를 계산하는 방법
CP / M(Critical Path / Method)
개념
최소의 비용으로 최대의 효과를 위한 방법
-시간과 비용을 고려해서 최적화하는 방법
장점
관리자의 일정 계획 수립에 도움
프로젝트 안에 포함된 작업 사이의 관계
병행 작업 계획
일정 시뮬레이션
일정 점검, 관리
임계경로 분석
프로젝트 8개의 작업으로 구성
각각의 작업은 가장 최적의 기간이 설정
프로젝트의 작업은 3가지 경로로 분류 가능
임계경로 분석
C, F, G는 전체일정에 영향을 주지 않는 일정에서 조합 가능
PERT와 Gannt Chart
정의와 특징
PERT 차트
• 프로젝트의 작업들과 작업들 사이의 관계를 그래프로 표현한 네트워크 모델
• 작업들이 계획되기 전에 작업들 사이의 의존관계를 보여주기 위해 개발
간트 차트
• 작업의 병행 처리 과정을 인식시켜 주는 장점을 가지고 있음
조직구성
조직구성의 유형
1. 프로젝트별 조직 (Project Format)
2. 기능별 조직 (Function Format)
3. 행렬식 조직 (Matrix Format)
프로젝트별 조직(Project Format)
특징
새 프로젝트가 발생하면 구성되는 조직
중소 규모의 프로젝트에 적합
프로젝트 관리자가 중심이 되어 강한 동료의식과 공동 책임감이 고취
조직상의 제도나 제약을 적게 받기 때문에 조직의 동기성 및 환경 적응성을 높일 수 있음
기능별 조직(Function Format)
특징
관리자가 소속된 요원들의 일을 전문화하고, 각 부분별
관리자가 지휘 감독
장단점
장점
분석, 설계, 구현, 테스트, 유지보수 각 단계에 전문화가 필요
기능별 조직은 관리자가 소속된 요원들의 일을 전문화하고 부분별로 관리자가 개발자들을 지휘 감독
전문가들의 지식, 기술, 경험을 보다 효과적으로 활용
전문가들은 자신의 능력을 최대한 발휘할 수 있는 환경을 제공받음
대형 프로젝트에 적합
단점
의사전달 방식에서 규정된 문서화방법을 사용
의견 불일치의 경우 많은 혼란을 가져올 수 있고, 서로의 의사에 대한 중재자가 필요
행렬식 조직(Matrix Format)
특징
프로젝트별 조직과 기능별 조직의 장점을 취하여 구성
각 개발자는 기능별 전문 분야 내에서만 활용하되, 프로젝트팀의 구성원으로서도 활용하는 절충식 구조
개발자는 기능 조직에 소속되어 일정기간 프로젝트 조직에 파견 나가는 형태
장단점
장점
협동적으로 노력하기 때문에 기능별로 전문가들의 시야를 넓혀주고 혁신을 촉진
시간, 비용, 인력 등의 프로젝트별 배정에 있어서 균형 유지 가능
단점
관리 비용이 증가
조직 내의 긴장해소, 조직 간의 균형유지, 프로젝트 수행상의 시간과 비용의 균형을 유지하는 데 노력이 필요
3. 개발비용 산정
소프트웨어 개발 비용 예측
예측 방법
정확한 비용 예측은 매우 어려움
알려지지 않은 요소가 산재
원가의 계산이 어려움
과거의 데이터가 필요
단계적 비용 산정 방법도 사용
예산
예산 산정 방법
인건비
MM(인원 / 월)을 기초
경비
여비, 인쇄비, 재료비, 회의비, 공공요금
간접 경비
Overhead
비용
비용에 영향을 주는 요소
제품의 크기
제품의 크기가 커짐에 따라 기하급수로 늘어남
제품의 복잡도
응용 : 개발지원 : 시스템 = 1 : 3 : 9
프로그래머의 자질
코딩, 디버깅의 능력차
프로그래밍 언어, 응용 친숙도
요구되는 신뢰도 수준
기술 수준
개발 장비, 도구, 조직능력, 관리, 방법론 숙달
남은 시간
Putnam
“프로젝트의 노력은 남은 개발 기간의 4제곱에 반비례”
COCOMO(Constructive Cost Model) 방법
Boehm이 개발
ex)
CAD 시스템
예상 규모 - 33360LOC
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.5M
N = E/D = 152/14.5 ~ 11명
'소프트웨어공학 > 수업' 카테고리의 다른 글
15. 객체지향 분석 및 설계(8-1) (0) | 2017.06.06 |
---|---|
12. 설계(6-2) (0) | 2017.05.30 |
10. 소프트웨어 아키텍처(5-2) (0) | 2017.05.21 |
9. 소프트웨어 아키텍처(5-1) (0) | 2017.05.21 |
8. 프로젝트 요구분석(4-2) (0) | 2017.05.16 |