어두운 지도를 조금씩 밝혀나가는 데에서 즐거움을 느낀다면
: 소프트웨어의 개발, 유지보수 등에 필요한 여러 작업의 수행 방법과 수행 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것
1. 구조적 방법론 (Structured Methodology)
: 정형화된 분석 절차에 따라 사용자 요구 사항을 파악해 문서화하는 처리(Process) 중심의 방법론
2. 정보공학 방법론 (information engineering methodology)
: 정보 시스템의 개발을 위해 각 개발 단계의 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 데이터 중심의 방법론
3. 객체 지향 방법론 (Object Oriented Methodology)
: 현실 세계의 개체들을 객체로 만들고, 이 객체들을 조립하여 필요한 소프트웨어를 구현하는 방법론
※ 객체 지향 프로그래밍의 구성 요소와 기본 원칙
4. 프로그래밍 언어 활용 - 프로그래밍 언어 활용(절차적 언어, 객체 지향 언어 , 스크립트 언어,
141. 절차적 프로그래밍 언어 (Procedural Programming Language) : 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어 - 특징 프로그램이 실행되는 절차를 중요시 데이터를 중심으로 프로시
catisstudying.tistory.com
4. 컴포넌트 기반 방법론 (Component Based Design Methodology)
: 기존의 시스템, 소프트웨어를 구성하는 컴포넌트를 조합해 새로운 애플리케이션을 만드는 방법론
5. 애자일 방법론 (Agile Methodology)
: 고객의 요구 사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론
6. 제품 계열 방법론 (Product Line Methdology)
: 특정 제품에 적용하고자 하는 공통된 기능을 정의하여 개발하는 방법론
: 이미 개발되어 인정 받은 소프트웨어의 전체나 일부분을 다른 소프트웨어의 개발이나 유지에 사용하는 것
- 소프트웨어 재사용 방법
: 새로운 요구에 맞도록 기존 시스템을 이용해 더 나은 시스템을 구축하고, 새로운 기능을 추가해 소프트웨어 성능을 향상시키는 것
: 소프트웨어 개발 과정의 전체나 일부를 컴퓨터와 전용 소프트웨어 도구를 이용해 자동화하는 것
: 필요한 인원, 자원, 기간 등을 통해 소프트웨어 개발 규모를 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것
: 개발하는 소프트웨어, 개발에 투입되는 자원, 소프트웨어의 생산성에 따라 결정
1. 프로젝트 요소
2. 자원 요소
3. 생산성 요소
: 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들의 회의롤 통해 비용을 산정하는 비과학적 기법
- 전문가 감정 기법
: 조직 내의 경험이 많은 전문가 두 명 이상이 비용을 산정하는 방법
- 델파이 기법
: 전문가 감정 기법의 주관적 편견을 보완하기 위해 많은 전문가의 의견을 종합해 비용을 산정하는 기법
: 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 이를 집계하여 전체 프로젝트의 비용을 산정하는 기법
: 소프트웨어 각 기능의 원시 코드 라인 수에 대해 계산한 예측치를 통해 비용을 산정하는 기법
: LOC 기법을 보완하여 각 기능을 구현하는 데 필요한 노력을 소프트웨어 생명 주기의 각 단계별로 산정하는 기법
: 과거의 유사한 프로젝트를 통해 경험적으로 유도된 수학 공식을 통해 자동으로 개발 비용을 산정하는 기법
: 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
- 소프트웨어 개발 유형
: COCOMO 모형은 소프트웨어의 복잡도, 원시 프로그램의 규모에 따라 유형을 나누어 비용을 다르게 산정
1. 조직형 (Organic Mode)
: 기관 내부에서 개발된 중소규모의 소프트웨어로, 5만 라인(5KDSI) 이하의 소프트웨어를 개발하는 유형
※ KDSI (Kilo Delivered Source Instruction)
: 전체 원시 코드 라인 수를 1,000라인 단위로 묶은 것 (== 1000LOC, == 1KLOC)
2. 반분리형 (Semi-Detached Mode)
: 조직형과 내장형의 중간 형태의 소프트웨어로, 30만 라인(300KDSI) 이하의 소프트웨어를 개발하는 유형
3. 내장형 (Embedded Mode)
: 초대형 규모의 소프트웨어로, 30만 라인(300KDSI) 이상의 소프트웨어를 개발하는 유형
- COCOMO 모형의 종류
: 비용 산정 단계 및 적용 변수의 구체화 정도에 따라 COCOMO 모형을 구분
1. 기본형 (Basic) COCOMO
: 소프트웨어의 크기(LOC)와 개발 유형만을 이용해 비용을 산정하는 모형
2. 중간형 (Intermediate) COCOMO
: Basic COCOMO 공식을 토대로 하여 소프트웨어 개발의 네 가지 특성을 통해 비용을 산정하는 모형
3. 발전형 (Detailed) COCOMO
: Intermediate COCOMO를 보완하여 개발 공정별로 보다 자세하고 정확하게 노력을 산출해 비용을 산정하는 모형
: 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정하는 모형
Rayleigh-Norden 곡선
: 소프트웨어의 기능을 증대시키는 요인별 가중치를 합산하여 총 기능 점수를 산출하고 총 기능 점수와 영향도를 이용해 기능 점수를 계산해 비용을 산정하는 모형
※ 자동화 추정 도구
: 비용 산정의 자동화를 위해 개발된 도구
5. 정보시스템 구축 관리 - 소프트웨어 개발 방법론 활용(소프트웨어 개발 방법론 ~ 수학적 산정 기법)
165. 소프트웨어 개발 방법론 (Software Development Methodology)
: 소프트웨어의 개발, 유지보수 등에 필요한 여러 작업의 수행 방법과 수행 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것
1) 소프트웨어 개발 방법론의 종류
1. 구조적 방법론 (Structured Methodology)
: 정형화된 분석 절차에 따라 사용자 요구 사항을 파악해 문서화하는 처리(Process) 중심의 방법론
2. 정보공학 방법론 (information engineering methodology)
: 정보 시스템의 개발을 위해 각 개발 단계의 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 데이터 중심의 방법론
3. 객체 지향 방법론 (Object Oriented Methodology)
: 현실 세계의 개체들을 객체로 만들고, 이 객체들을 조립하여 필요한 소프트웨어를 구현하는 방법론
※ 객체 지향 프로그래밍의 구성 요소와 기본 원칙
4. 프로그래밍 언어 활용 - 프로그래밍 언어 활용(절차적 언어, 객체 지향 언어 , 스크립트 언어,
141. 절차적 프로그래밍 언어 (Procedural Programming Language) : 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어 - 특징 프로그램이 실행되는 절차를 중요시 데이터를 중심으로 프로시
catisstudying.tistory.com
4. 컴포넌트 기반 방법론 (Component Based Design Methodology)
: 기존의 시스템, 소프트웨어를 구성하는 컴포넌트를 조합해 새로운 애플리케이션을 만드는 방법론
5. 애자일 방법론 (Agile Methodology)
: 고객의 요구 사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론
6. 제품 계열 방법론 (Product Line Methdology)
: 특정 제품에 적용하고자 하는 공통된 기능을 정의하여 개발하는 방법론
166. 소프트웨어 공학의 발전 추세
1) 소프트웨어 재사용 (Software Reuse)
: 이미 개발되어 인정 받은 소프트웨어의 전체나 일부분을 다른 소프트웨어의 개발이나 유지에 사용하는 것
- 소프트웨어 재사용 방법
2) 소프트웨어 재공학 (Software Reengineering)
: 새로운 요구에 맞도록 기존 시스템을 이용해 더 나은 시스템을 구축하고, 새로운 기능을 추가해 소프트웨어 성능을 향상시키는 것
3) CASE (Computer Aided Software Engineering)
: 소프트웨어 개발 과정의 전체나 일부를 컴퓨터와 전용 소프트웨어 도구를 이용해 자동화하는 것
167. 소프트웨어 비용 산정 기법
: 필요한 인원, 자원, 기간 등을 통해 소프트웨어 개발 규모를 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것
1) 소프트웨어 비용 결정 요소
: 개발하는 소프트웨어, 개발에 투입되는 자원, 소프트웨어의 생산성에 따라 결정
1. 프로젝트 요소
2. 자원 요소
3. 생산성 요소
168. 하향식 비용 산정 기법
: 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들의 회의롤 통해 비용을 산정하는 비과학적 기법
- 전문가 감정 기법
: 조직 내의 경험이 많은 전문가 두 명 이상이 비용을 산정하는 방법
- 델파이 기법
: 전문가 감정 기법의 주관적 편견을 보완하기 위해 많은 전문가의 의견을 종합해 비용을 산정하는 기법
169. 상향식 비용 산정 기법
: 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 이를 집계하여 전체 프로젝트의 비용을 산정하는 기법
1) 원시 코드 라인 수(LOC; source Line Of Code) 기법
: 소프트웨어 각 기능의 원시 코드 라인 수에 대해 계산한 예측치를 통해 비용을 산정하는 기법
2) 개발 단계별 인월 수 (Effort Per Task) 기법
: LOC 기법을 보완하여 각 기능을 구현하는 데 필요한 노력을 소프트웨어 생명 주기의 각 단계별로 산정하는 기법
170. 수학적 산정 기법
: 과거의 유사한 프로젝트를 통해 경험적으로 유도된 수학 공식을 통해 자동으로 개발 비용을 산정하는 기법
1) COCOMO (COnstructive COst MOdel) 모형
: 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
- 소프트웨어 개발 유형
: COCOMO 모형은 소프트웨어의 복잡도, 원시 프로그램의 규모에 따라 유형을 나누어 비용을 다르게 산정
1. 조직형 (Organic Mode)
: 기관 내부에서 개발된 중소규모의 소프트웨어로, 5만 라인(5KDSI) 이하의 소프트웨어를 개발하는 유형
※ KDSI (Kilo Delivered Source Instruction)
: 전체 원시 코드 라인 수를 1,000라인 단위로 묶은 것 (== 1000LOC, == 1KLOC)
2. 반분리형 (Semi-Detached Mode)
: 조직형과 내장형의 중간 형태의 소프트웨어로, 30만 라인(300KDSI) 이하의 소프트웨어를 개발하는 유형
3. 내장형 (Embedded Mode)
: 초대형 규모의 소프트웨어로, 30만 라인(300KDSI) 이상의 소프트웨어를 개발하는 유형
- COCOMO 모형의 종류
: 비용 산정 단계 및 적용 변수의 구체화 정도에 따라 COCOMO 모형을 구분
1. 기본형 (Basic) COCOMO
: 소프트웨어의 크기(LOC)와 개발 유형만을 이용해 비용을 산정하는 모형
2. 중간형 (Intermediate) COCOMO
: Basic COCOMO 공식을 토대로 하여 소프트웨어 개발의 네 가지 특성을 통해 비용을 산정하는 모형
3. 발전형 (Detailed) COCOMO
: Intermediate COCOMO를 보완하여 개발 공정별로 보다 자세하고 정확하게 노력을 산출해 비용을 산정하는 모형
2) Putnam 모형
: 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정하는 모형
3) 기능 점수 (Function Point) 모형
: 소프트웨어의 기능을 증대시키는 요인별 가중치를 합산하여 총 기능 점수를 산출하고 총 기능 점수와 영향도를 이용해 기능 점수를 계산해 비용을 산정하는 모형
※ 자동화 추정 도구
: 비용 산정의 자동화를 위해 개발된 도구
'도서 개발 공부 > 정보 처리 기사 필기' 카테고리의 다른 글