SQL 응용과 S/W 개발보안 구축
테일러링(tailoring)
시스템 개발이나 홈페이지 제작 등 프로젝트 진행 시 회사 표준 방법론이나
표준 산출물을 활용하여 개별 과제의 특성에 딱 맞도록 방법론과 산출물을
수정 및 보완하는 작업
개발방법론 테일러링
프로젝트 규모와 복잡도에 따른 테일러링 기법
- 가장 일반적인 기법으로 프로젝트 기간,작업멈위 참여인원등에 따라 대중소로 구분
업무 난이도에 따라 복잡도를 상중하로 구분
프로젝트 구성원에 따른 테일러링 기법
- 프로젝트 참여 구성원들의 기술적 숙련도와 방법론 이해정도를
확인하여 테일러링 수준을 결정
소프트웨어 개발 프레임워크
- 소프트웨어 개발에 공통적으로 사용되는 구성요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록
여러가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템
주요기능
예외처리
트랜잭션처리
메모리공유
데이터 소스관리
서비스 관리
쿼리 서비스
로깅서비스
사용자 인증 서비스 등
소프트웨어 비용산정
소프트웨어 개발에 소요되는 인원, 자원, 기간등으로 규모를 확인하여
실행가능한 계획을 수립위해 필요한 비용을 산정
비용산정이 높게 책정될 경우 : 예산 낭비와 일의 효율성 저하
비용산정이 낮게 책정될 경우 : 개발자의 부담 가증, 품질문제 발생
종류
상향식 비용산정(LOC방법, 수학적산정기법)
하향식 비용산정(전문가감정, 델파이 기법)
하향식 비용산정 기법
경험과 전문지식이 많은 개발자들이 인력, 시스템크기, 필요예산 등을 합의하여 결정
전문가 감정기법
조직내 경험이 많은 두 명 이상의 전문가에게 비용산정을 의뢰하는 기법
가장 편리하고 신속한 기법
새로운 프로젝트에는 과거의 프로젝트와 다른 요소들이 있다는 점을 간과할 수 있음
델파이 기법
전문가 감정기법의 단점을 보완하기 위해 많은 전문가의 의견을 종합하여 산정
전문가들의 편견이나 분위기에 지배되지 않도록 한명의 조정자와 여러 전문가로 구성
상향식 비용산정 기법
업무분류 구조로 정의, 각 구성요소에 대한 산정을 독립적으로 실시한 후 이를 집계하여 산정
LOC기법(원시코드를 이용한 예측), 개발 단계별 인원수(생명주기 단계별로 인원수 계산),
수학적 기법(개발비용 산정의 자동화를 목표로 함)
LOC(원시코드 라인 수)기법
소프트웨어 각 기능의 원시코드 라인 수의 비관치, 낙관치, 기대치를
측정하여 에측치를 구하고 이를 이용한 비용산정기법
예측치 = a+4m+b/6 (a-낙관치, b-비관치, m-기대치(중간치))
산정공식
노력(인/월) = 개발 * 투입인원 = LOC / 1인당 월평균 생산코드 라인 수
개발비용 = 노력(인/월) * 단위비용(1인당 월평균 인건비)
개발기간 = 노력(인/월) / 투입인원
생산성 = LOC/노력(인/월)
수학적 산정기법(COCOMO(COnstructive COst MOdel))모형
- 보헴이 제안한 것, 원시 프로그램의 규모인 LOC(코드라인수)에 ㅇ의한 비용산정기법
- 개발한 소프트웨어의 규모를 예측한 후 이를 소프트웨어 종류에 따라
다르게 책정되는 비용 산정공식에 대입하여 산정
- 같은 규모의 프로그램이라도 성격에 따라 비용이 다르게 산정
- 비용산정 결과는 프로젝트를 완성하는데 필요한 노력(MAN-MONTH)으로 나타남
LOC 예시
COCOMO 프로젝트 모드(개발유형)
소프트웨어 복잡도 또는 원시프로그램 규모에 따라 분류
분류
조직형(Organic)
반분리형(semi-detached)
내장형(Embedded)
조직형(Organic Mode)
엄격한 요구사항보다 덜한 요구사항에 현장경험을 갖고있는 소규모팀이 수행할 간단한 S/W
5만 라인(50KDSI)이하의 소프트웨어를 개발
사무처리용, 업무용, 과학용 응용스프트웨어 개발에 적합
반 분리형(semi-detached)
요구사항이 중간급에 중간경험을 가진 팀이 수행하는 중간급 S/W프로젝트
DBMS, 컴파일러, 인터프리터 등 개발
30만(300KDSI)라인 이하의 소프트웨어 개발하는 유형
내장형(embedded)
H/W, S/W 그리고 운영제약들이 하나의 집합으로 개발되도록 만들어놓은 S/W
최대규모 트랜잭션처리 시스템이나 운영체제등의 S/W개발(신호기제어, 미사일유도시스템 등)
30만(300KDSI)라인 이상의 S/W개발하는 유형
COCOMO 모형 종류
비용산정단계 및 적용 변수의 구체화 정도에 따라 분류
분류 : 기본형(Basic), 중간형(Intermediate), 발전형(Detailed)
기본형(Basic)
: 소프트웨어의 크기(코드라인 수)와 개발 유형만을 이용하여 비용산정
중간형(Intermediate)
: 제품의 특성, 컴퓨터 특성, 개발요원의 특성, 프로젝트 특성과 각 특성 요인을 고려하여 비용 산정
발전형(Detailed)
: 중간형 모형을 보완 개발공정별로 보다 자세하고 정확하게 노력을 산출하여 비용을 산정
수학적 산정기법(기능점수모형=Function Point)
소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고 요인별 가중치를 합산하여 기능점수 산출
총 기능 점수와 영향도를 이용하여 기능 점수를 계산한 후 이를 이용하여 비용 산정
다양한 프로젝트와 개인별 요소를 수행하도록 FP모형을 기초로 한 자동화 추정도구(ESTIMACS)
수학적 산정기법(Putnam 모형)
소프트웨어 생명주기의 전 과정동안 사용될 노력의 분포를 가정해주는 모형
생명주기 예측 모형이라고 함
대형 프로젝트의 노력 분포 산정에 이용되는 기법
개발기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소
Putnam모형과 Rayleigh-norden곡선을 기초하여 개발된 자동화 추천도구
Putnam 모형 예시와 계산법
문제 1
풀이과정
노력(인/월) = 개발기간 * 투입인원 또는 LOC/1인당 월 평균 생산 코드 수
생산성 = LOC/노력(인/월) 이므로
10000/5*2 = 1000
정답
1000
문제 2
풀이과정
LOC / 생산성 = 노력(인/월)
360000 / 300 = 120 (한달에 필요한 인원)
노력(인/월) / 개발인원 = 개발기간
120 / 6 = 20
정답
20