반응형

*비용산정 모델

1. 비용산정 모델이란

- 소프트웨어 규모 파악을 통한 투입자원, 소요 시간을 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 기법이다.

 

2. 비용산정 모델의 분류

- 하향식 산정방법 : 경험이 많은 전문가에게 비용산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식이다. 종류에는 전문가 판단, 델파이 기법이 있다.

- 상향식 산정방법 : 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식이다. 종류에는 코드 라인 수(Loc), Man Month, COCOMO 모형, Putnam 모형, FP(Function Point) 모형이 있다.

 

3. 하향식 비용산정 모델

3-1. 전문가 판단

- 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용산정을 의뢰하는 기법이다.

3-2. 델파이 기법

- 전문가의 경험적 지식을 통한 문제해결 및 미래 예측을 위한 기법이다.

- 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성한다.

- 전문가들은 익명으로 의견을 제출 및 비용을 산정하고, 조정자는 전문가들의 의견을 요약하여 배포하면, 전문가들은 조정자가 요약한 의견을 보고 다시 익명으로 의견을 제출 및 비용을 산정ㅎ한다. 전문가들 간의 의견과 산정된 비용이 거의 일치할 때까지 과정을 반복한다.

 

4. 상향식 비용산정 모델

4-1. LoC (Lines of Code)

- 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정한다.

- 측정이 쉽고 이해하기 쉬워 많이 사용되며, 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정한다.

- 예측치 = (낙관치 + (4 * 중간치) + 비관치) / 6

(비관치 : 가장 많이 측정된 코드 라인 수 / 중간치 : 측정된 모든 코드 라인 수의 평균 / 낙관치 : 가장 적게 측정된 코드 라인 수)

4-2. Man Month

- 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 기법

- Man Month = LoC / 프로그래머의 월간 생산량

- 프로젝트 기간 = Man Month / 프로젝트 인력

4-3. COCOMO (COnstructive COst MOdel)

- 보헴이 제안, 프로그램 규모에 따라 비용을 산정한다.

- 개발 노력 승수를 결정한다.

- COCOMO 유형에는 규모에 따라 단순형, 중간형, 임베디드형으로 나뉜다.

- 단순형 (Organic Mode) : 기관 내부에서 개발된 중, 소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리 개발에 적용된다. 5만( 50 KDSI : 소스 코드를 1,000라인으로 묶은 단위 ) 라인 이하의 소프트웨어를 개발하는 유형

- 중간형 (Semi-Detached Mode) : 단순형과 임베디드형의 중간형이다. 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 개발에 적용한다. 30만( 300KDSI ) 라인 이하의 소프트웨어를 개발하는 유형

- 임베디드형 (Embedded Mode) : 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 개발에 적용한다. 30만( 300KDSI ) 라인 이상의 소프트웨어를 개발하는 유형

4-4. 푸트남 (Putnam) 모형

- 소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하는 모형이다. 자동화 추정 도구로 SLIM이 있다.

4-5. 기능점수 (FP : Function Point) 모형

- 요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능 점수를 계산하여 비용을 산정하는 방식이다.

- 입력, 출력, 질의, 파일, 인터페이스의 개수로 소프트웨어의 규모를 표현한다.

- 원시 코드의 구현에 이용되는 프로그래밍 언어에 독립적이다.

- 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여한다.

- 프로젝트의 영향도와 가중치의 합을 이용하여 기능점수를 계산한다.

- 정규법 : 각 기능의 속성을 정의하여 기능별 복잡도 매트릭에 의한 기능 점수를 산정하는 방식으로 상세한 기능점수 측정이 가능하다.

- 간이법 : 개략적인 사용자 요구사항을 바탕으로 기능점수를 도출하여 평균 복잡도에 의한 기능점수를 산정하는 방식으로 프로젝트 초기에 개발 비용 측정이 가능하다.

반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

분석 모델의 시스템화 타당성 분석  (0) 2020.06.27
분석 모델 검증  (0) 2020.06.26
요구사항의 시스템화 타당성 분석  (0) 2020.06.25
요구사항 분석/확인  (0) 2020.06.24
요구사항  (0) 2020.06.23
반응형

*요구사항의 시스템화 타당성 분석

- 업무 분석가가 수집하고 분석한 요구사항이 개발하고자 하는 응용 소프트웨어에 미칠 영향에 대해 검토하고 확인해야 한다.

1. 요구사항의 기술적 타당성 검토

- 성능 및 용량 산정의 적정성 :  목표 시스템의 용량이 산정되면, 과거 유사 프로젝트 경험치를 적용하여 필요시 재조정한 후, 성능 관련 비기능 요구사항과 비교하여 적정성 여부를 판단한다.

- 시스템 간 상호 운용성 : 요구사항 중에서 목표 시스템이 조직 내외 타 시스템과의 연동을 요구하는 경우, 상호 운용이 가능한지 여부를 판단한다.

- IT 시장 성숙도 및 트렌드 부합성 : 시스템 구축 시 요구되는 영역별 기술들의 시장 성숙도 및 발전 방향을 파악하고, 요구사항이 이에 부합하는지 판단한다. 향후 사용되지 않을 가능성이 높은 시스템들은 향후 유지보수가 어려운 상황이 발생된다.

- 기술적 위험 분석 : 요구사항을 만족시키기 위해 적용한 기술의 복잡성, 검증 여부, 의존성 등에 대하여 위험 발생 가능성, 영향도 파악을 진행한다.

 

2. 요구사항의 기술적 타당성 분석 프로세스

- 타당성 분석 결과 기록 : 요구사항 목록에 타당성 분석을 위한 속성을 추가하고 타당성 분석 결과를 기록한다. 타당성 분석을 위한 속성에는 성능/용량, 시스템 간 상호 운용성, 시장 성숙도 및 트렌드 부합성, 기술 복잡성, 기술 검증 여부, 기술 의존성이 있다.

- 타당성 분석 결과의 이해관계자 검증 : 요구사항의 시스템화 타당성 분석 결과를 요구사항 관련 이해관계자에게 배포하여 사전 검토 요청을 한다. 관련 이해관계자가 모여 시스템화 타당성 분석 결과를 검증한다. 타당성 분석 결과에 이견이 있는 경우 프로젝트 관리자의 중재 하에 합의를 도출한다.

- 타당성 분석 결과 확인 및 배포/공유 : 이해관계자의 검증을 거친 타당성 분석 결과를 의사 결정자가 확인한다. 확정된 타당성 분석 결과를 이해관계자에게 배포하여 공유한다. 

반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

분석 모델 검증  (0) 2020.06.26
비용산정 모델  (0) 2020.06.25
요구사항 분석/확인  (0) 2020.06.24
요구사항  (0) 2020.06.23
개발 기술 환경 요구사항 파악  (0) 2020.06.22
반응형

*요구사항 분석/확인

1. 요구사항의 분석

- 요구사항 분석 기법으로 요구사항 분류, 개념 모델, 요구사항 할당, 요구사항 협상, 정형 분석이 있다.

- 요구사항 분석 기법을 활용하여 업무 분석가가 정의한 응용 소프트웨어의 요구사항을 확인할 수 있다.

1-1. 요구사항 분석 기법

- 요구사항 분류 : 요구사항이 기능인지 비 기능인지 확인 하는 것, 요구사항이 소프트웨어에 미치는 영향의 범위를 파악, 요구사항이 소프트우에어 생명주기 동안 변경이 발생하는지를 확인한다.

- 개념 모델링 : 개념 모델은 문제 도메인의 엔티티들과 개별 관계 및 종속성을 반영한다. 시나리오로 나타내기 위해 유스케이스 다이어그램을 주로 사용, 대부분의 모델링 표기법은 UML을 사용한다.

- 요구사항 할당 : 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별하는 활동이다. 다른 구성요소와 어떻게 상호작용하는지 분석을 통해 추가적인 요구사항의 발견이 가능하다.

- 요구사항 협상 : 두 명의 이해관계자가 서로 상충되는 내용을 요구하는 경우 어느 한쪽을 지지하기보다는 적절한 지점에서 합의하기 위한 기법이다.

- 정형 분석 : 형식적으로 정의된 의미를 지닌 언어로 요구사항을 표현하는 것, 정확하고 명확하게 표현, 요구사항 분석의 마지막 단계에서 이루어진다.

 

2. 요구사항의 확인

- 업무 분석가가 요구사항을 이해했는지 확인하는 것이 필요하고, 요구사항 문서가 기업의 표준에 적합하고 이해 가능하고, 일관성이 있고, 완전한지 검증해야 한다.

2-1. 요구사항 확인 기법

- 요구사항 검토 : 여러 검토자들이 에러, 잘못된 가정, 불명확성, 표준과의 차이를 검토, 고객 중심 프로젝트에서는 검토자 그룹에 고객 대표자 1명 이상 포함 필요, 시스템 정의서, 시스템 사양서, 소프트웨어 요구사항 명세서를 완성한 시점에서 검토한다.

- 프로토 타이핑 : 새로운 요구사항을 도출하기 위한 수단 및 소프트웨어 요구사항에 대해 소프트웨어 엔지니어가 해석한 것을 확인하기 위한 수단으로 사용한다. 요구사항이 잘못된 경우 유용한 피드백 제공, 사용자 인터페이스의 동적인 행위가 문서나 그래픽 모델보다 이해가 용이하다.

- 모델 검증 : 분석단계에서 개발된 모델의 품질 검증 필요, 객체 모델의 경우 객체들 사이의 존재하는 의사소통 경로를 검증하기 위한 정적 분석 수행에 유용하다.

- 인수 테스트 : 요구사항의 중요한 속성은 최종 제품을 기준으로 요구사항을 만족시키는지 확인 가능해야 한다. 각각의 요구사항을 어떻게 확인할 것인지에 대한 계획 수립 후, 요구사항을 확인하는 테스트이다.

 

3. 요구사항의 확인 프로세스

- 요구사항 목록 확인 : 요구사항 목록에서 업무 기능에 대한 요구사항 반영 여부 확인

- 요구사항 정의서 작성 여부 확인 : 요구사항 목록 중 수용인 경우, 요구사항 정의서(유스케이스 명세서)가 작성되었는지 확인, 요구사항 정의서(유스케이스 명세서)에서 시스템의 동작 방식을 명확하고 구체적으로 기술하고 있는지 검토한다.

- 비 기능적 요구사항의 확인 : 시스템 특성, 품질, 제약사항 등 비 기능적 요구사항이 명확하게 도출되었는지 검토, 성능, 가용성, 사용 용이성, 유지보수 용이성, 안전성, 보안성 등에 대한 요구 사항의 문서화 여부 확인

- 타 시스템 연계 및 인터페이스 요구사항 확인 : 타 시스템 또는 하위 시스템 등과의 모든 인터페이스 요구사항이 정의되어 있는지 확인, 인터페이스 구분(내부/외부), 주기, 방법, 제공자, 요청자 등이 명확하게 정의되어 있는지 확인한다.

반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

비용산정 모델  (0) 2020.06.25
요구사항의 시스템화 타당성 분석  (0) 2020.06.25
요구사항  (0) 2020.06.23
개발 기술 환경 요구사항 파악  (0) 2020.06.22
개발 기술 환경 현행 시스템 분석  (0) 2020.06.21
반응형

*요구사항

- 요구사항이란 문제의 해결 또는 목적 달성을 위하여 고객에 의해 요구되거나, 표준이나 명세 등을 만족하기 위해 시스템이 가져야 하는 서비스 또는 제약사항 이다.

 

1. 요구사항의 분류

- 요구사항 파악의 기본은 시스템의 요구사항에 대한 파악이다.

- 요구사항은 기능적 요구사항과 비 기능적 요구사항으로 분류된다.

- 기능적 요구사항 : 시스템이 제공하는 기능, 서비스에 대한 요구사항이다. 도출 방법으로는 특정 입력에 대해 시스템이 어떻게 반응해야 하는지에 대한 기술과 특정 상황에 대해 시스템이 어떻게 동작해야 하는지에 대한 기술이 있다. 특성으로는 기능성, 완전성, 일관성이 있다.

- 비 기능적 요구사항 : 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다. 도출 방법으로는 품질 속성에 관련하여 시스템이 갖춰야할 사항에 대한 기술과 시스템이 준수해야 할 제약조건에 대한 기술이 있다. 특성으로는 신뢰성, 사용성, 효율성, 유지보수성, 이식성이 있다.

 

2. 요구사항 개발 프로세스

- 요구사항 개발 프로세스는 요구사항 도출, 분석, 명세, 확인 순으로 수행한다.

- 요구사항 도출 : 요구사항이 어디에 있고, 어떻게 수집할 것인지를 파악하는 단계이다. 이해관계자가 요구사항을 식별, 개발팀과 고객 사이의 관계가 형성된다. 다양한 이해관계자와 효율적인 의사소통이 중요하다.

- 요구사항 분석 : 상충되는 요구사항을 해결하고, 소프트웨어의 범위 파악, 소프트웨어가 환경과 어떻게 상호 작용하는지 이해하는 단계이다. 시스템 요구사항을 정제하여 소프트웨어 요구사항을 도출한다.

- 요구사항 명세 : 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 단계이다. 요구사항 명세에서는 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항을 작성한다.

- 요구사항 확인 : 요구사항 문서가 표준에 적합하고 이해 가능하며, 일관성이 있고, 완전한지 검증하는 단계이다.

- 요구사항 개발 프로세스 중에서 요구사항 확인과 관련된 단계는 분석 및 검증 단계이다.

2-1. 요구사항 개발 프로세스 주요 기법

- 도출 (인터뷰) : 1:1의 관계에서 사용자 및 사용자 측 의사 결정권자와 시스템에 대한 요구사항을 추출한다. 철저한 사전 준비 작업이 필요하다.

- 도출 (설문 조사) : 설문지 또는 여론조사 등을 이용해 간접적으로 정보를 수집한다. 개발될 시스템의 사용자가 다수일 때 의견 수렴에 용이하다.

- 도출 (브레인스토밍) : 말을 꺼내기 쉬운 분위기로 만들어 회의 참석자들이 내놓은 아이디어들을 비판 없이 수용할 수 있도록 하는 회의이다.

- 도출 (워크숍) : 단기간의 집중적인 노력을 통해 다양하고 전문적인 정보를 획득하고 공유하는 방법이다. 프로젝트에 참여하는 모든 핵심 인물의 참여가 필요하다. 참석자들은 해당 전문 영역별로 팀 협력이 필요하며 사전 준비가 요구된다.

- 분석 (자료 흐름 지향 분석) : 데이터 흐름(DFD)으로부터 소프트웨어 구조를 유도하는 방법이다.

- 분석 (객체지향 분석) : 시스템 기능과 데이터를 함께 분석하는 방법이다. UML로 표준화 한다.

- 명세 (자연어에 의한 방법) : 사용자와 개발자의 이해가 용이하다. 명확성 및 검증에 문제가 있다.

- 명세 (정형화 기법 사용 방법) : 명확성 및 검증이 용이하다. 기법의 이해가 어렵다.

- 확인 (동료 검토) : 2~3명이 진행하는 리뷰의 형태이다. 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행한다.

- 확인 (워크 스루) : 오류를 초기에 검출하는 데 목적이 있다. 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서화 한다.

- 확인 (인스펙션) : 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법이다.

- 동료 검토, 워크 스루, 인스펙션은 확인 기법이자 검증 기법이다.

 

3. 요구사항 관리 프로세스

- 요구사항 관리를 위해서 요구사항 협상, 요구사항 기준선, 요구사항 변경 관리, 요구사항 확인 및 검증을 수행한다.

- 요구사항 협상 : 주요기법으로는 우선순위 설정, 시뮬레이션이 있다. 가용한 자원과 수용 가능한 위험 수준에서 구현 가능한 기능을 협상하기 위한 기법이다.

- 요구사항 기준선 : 주요기법으로는 공식 회의, 형상 관리가 있다. 공식적으로 검토되고 합의된 요구사항 명세서이다.

- 요구사항 변경 관리 : 주요기법으로는 CCB, 영향도 분석이 있다. 요구사항 기준선을 기반으로 모든 변경을 공식적으로 통제하기 위한 기법이다.

- 요구사항 확인 및 검증 : 주요기법으로는 확인 및 검증이 있다. 구축된 시스템이 이해관계자가 기대한 요구사항에 부합하는지 확인하기 위한 방법이다.

 

반응형

+ Recent posts