1. 수학적 산정 기법
1) 수학적 산정 기법의 개요
상향식 비용 산정 기법으로 경험적 추정 모형, 실험적 추정 모형이라고 하며 개발 비용 산정의 자동화를 목표로한다.
비용을 자동으로 산정하기 위해 사용되는 공식은 과거 유사한 프로젝트를 기반으로해 경험적으로 유도된 것이다.
2) COCOMO 모형
COCOMO모형은 보헴(Bohem)이 제안한 것으로, 원시 프로그램 규모인 LOC(원시 코드라인 수)에 의한 비용산정 기법이다.
개발할 소프트웨어의 규모(LOC)를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입해 비용을 산정한다.
비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용됨.
같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정됨
비용 산정 결과는 Man-Month(노력)으로 나타낸다.
3) COCOMO 소프트웨어 개발 유형
조직형(Organic Mode)
기관 내부에서 개발된 중소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만 라인(50KDSI) 이하의 소프트웨어을 개발하는 유형이다.
사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합.
비용 산정 공식
노력(MM) = 2.4 X KDSI
개발 기간(TDEV) = 2.5 X MM
반분리형(Semi-Detached Mode)
반분리형은 조직형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형이다.
컴파일러, 인터프리터와 같은 유틸리티 개발에 적합하다.
내장형(Embedded Mode)
내장형은 최대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형
신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합
* 1회+2회 기출문제 출제
4) COCOMO 모형의 종류
비용 산정 단계 및 적용 변수의 구체화 정도에 따라 기본(Basic) 중간(Intermediate), 발전(Detailed)형으로 구분할 수 있다.
기본(Basic)형 COCOMO
소포트웨어의 크기(생산 코드 라인수)와 개발 유형 만을 이용해 비용을 산정하는 모형
중간(Intermediate) COCOMO
중간형 COCOMO는 기본형 COCOMO의 공식을 토대로 사용하나, 다음 4가지 특성의 15가지 요인에 의해 비용을 산정하는 모형이다.
- 제품의 특성 : 요구되는 신뢰도, 데이터베이스 크기, 제품 복잡도
- 컴퓨터의 특성 : 수행 시간의 제한, 기억장소의 제한, 가상 기계의 안정성, Turn Around Time
- 개발 요원의 특성 : 분석가의 능력, 개발 분야의 경험, 가상 기계의 경험, 프로그래머의 능력, 프로그래밍 언어의 경험
- 프로젝트 특성 : 소프트웨어 도구의 이용, 프로젝트 개발 일정, 최신 프로그래밍 기법의 이용
발전형(Detailed) COCOMO
발전형은 중간형 COCOMO를 보완해 만들어진 방법으로, 개발 공정별로 자세하고 정확하게 노력을 산출해 비용을 산정하는 모형이다.
소프트웨어 환경과 구성 요소가 사전에 정의되어 있어야하며, 개발 과정의 후반 부에 주로 적용한다.
산정 공식
중간형 산정공식을 그대로 사용하되, 노력 승수를 다음과 같이 적용해 산정한다.
노력 승수 = 개발 공정별 노력승수 X 개발 공정별 가중치
5) Putnam 모형
Putnam 모형은 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해 주는 모형이다.
푸트남(Putnam)이 제안한 것으로 생명 주기 예측 모형이라고 한다.
시간에 따른 함수로 표현하는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
대형 프로젝트의 노력 분포 산정에 이용되는 기법
개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소한다.
* 1회+2회 기출문제 출제
6) 기능 점수(FP) 모형
알브레히트(Albrecht)가 제안한 것으로, 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산해 총 기능 점수를 산출하며 총 기능 점수와 영향도를 이용해 기능 점수(FP)를 구한 후 이를 이용해 비용을 산정한다.
* 자동화 추정도구
비용 산정 자동화 도구
- SLIM : Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 한 자동화 추정 도구
- ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로해 개발된 자동화 추정 도구
2. 소프트웨어 개발 표준
1) 소프트웨어 개발 표준의 개요
개발 단계에서 수행하는 품질 관리에서 사용되는 국제 표준을 의미
2) ISO/IEC 12207
ISO/IEC 12207은 ISO 국제표준 기구에서 만든 표준 소프트웨어 생명 주기 프로세스로, 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명 주기 표준을 제공.
기본 생명 주기 프로세스 | 획득, 공급, 개발, 운영, 유지보수 프로세스 |
자원 생명 주기 프로세스 | 품질 보증, 검증, 확인, 활동 검토, 가사, 문서화, 형상 관리, 문제 해결 프로세스 |
조직 생명 주기 프로세스 | 관리, 기반 구조, 훈련, 개선 프로세스 |
3) CMMI(Capability Maturity Model Integration)
CMMI(능력 성숙도 통합 모델)는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델.
소프트웨어 프로세스 성숙도는 초기, 관리, 정의, 정량적 관리, 최적화의 5단계로 구분한다.
4) SPICE(Software Process Improvement and Capability dEtermination)
SPICE(소프트웨어 처리 개선 능력 평가)는 정보 시스템 분야에서 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로 공식 명칭은 ISO/IEC 15504다.
SPICE의 목적
- 프로세스 개선을 위해 개발 기관이 스스로 평가하는 것.
- 기관에서 지정한 요구조건의 만족 여부를 개작 조직이 스스로 평가하는 것
- 계약 체결을 위해 수탁 기관의 프로세스를 평가하는 것.
범주 : 고객-공급자 프로세스, 공학 프로세스, 지원 프로세스, 고나리 프로세스, 조직 프로세스
프로세스 수행 능력 단계 : 불완전, 수행, 관리, 확립, 예측, 최적화
3. 소프트웨어 개발 방법론 테일러링
1) 소프트웨어 개발 방법론 테일러링의 개요
소프트웨어 개발 방법론 테일러링은 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업이다.
수행 절차
프로젝트 특성 정의 -> 표준 프로세스 선정 및 검증 -> 상위 수준의 커스터마이징 -> 세부 커스터마이징 -> 테일러링 문서화
2) 소프트웨어 개발 방법론 테일러링 고려사항
내부적 요건
- 목표 환경 : 시스템의 개발 환경과 유형이 서로 다른 경우 테일러링이 필요
- 요구사항 : 프로젝트의 생명주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우
- 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우
- 보유 기술 : 프로세스, 개발 방법론, 산출물 등이 서로 다른 경우
외부적 요건
- 법적 제약사항 : 프로젝트별로 적용될 IT Compliance(법적 규제사항)이 서로 다른 경우
- 표준 품질 기준 : 금융, 제도 등 분야별 표준 폼질 기준이 서로 다른 경우
* 1회+2회 기출문제 출제
3) 소프트웨어 개발 방법론 테일러링 기법
프로젝트 규모와 복잡도에 따른 테일러링 기법 : 프로젝트 기간, 작업 범위, 참여 인원 등에 따라 대중소로 구분하고, 업무 난이도에 따라 복잡도를 상중하로 구분.
구성원에 따른 테일러링 기법 : 기술적 숙련도와 방법론의 이해 정도를 확인해 테일러링 수준을 결정
팀내 방법론 지원에 따른 테일러링 기법 : 팀의 방법론 교육과 의사소통을 담당하도록 인력을 구성하는 기법
자동화에 따른 테일러링 기법 : 작업 부하를 줄이기 위해 중간 단계에서 산출물을 자동화 도구를 사용해 산출할 수 있도록 지원하는 기법
'2020 정보처리기사 필기 > 5과목 - 정보시스템 구축 관리' 카테고리의 다른 글
[2020 정보처리기사 필기 요약] 5과목 - 정보시스템 구축 관리(IT프로젝트 정보시스템 구축 관리_4) (0) | 2020.08.20 |
---|---|
[2020 정보처리기사 필기 요약] 5과목 - 정보시스템 구축 관리(IT프로젝트 정보시스템 구축 관리_3) (0) | 2020.08.16 |
[2020 정보처리기사 필기 요약] 5과목 - 정보시스템 구축 관리(IT프로젝트 정보시스템 구축 관리_2) (0) | 2020.08.16 |
[2020 정보처리기사 필기 요약] 5과목 - 정보시스템 구축 관리(IT프로젝트 정보시스템 구축 관리_1) (0) | 2020.08.03 |
[2020 정보처리기사 필기 요약] 5과목 - 정보시스템 구축 관리(소프트웨어 개발 방법론 활용_1) (0) | 2020.08.01 |