[ 목차 ]
1. 요구공학
1) 요구 분석 단계에서 행해졌떤 요구사항 분석 및 서술뿐만 아니라 추출, 관리, 검증, 유지 등을 포함해 요구사항에 관계되는 모든 활동, 원칙들에 대한 공학적 접근을 의미
2) 요구사항을 정의, 문서화, 관리하는 프로세스
2. 요구사항 절차
1) 추출(도출, 수집)
1] 생명주기동안 지속적으로 반복해서 고객, 사용자, 개발과 관련된 사람들과 서로 의견을 교환하여 실제로 개발하고자 하는 시스템에 대한 요구를 찾는 것
2] 사용자 요구사항과 시스템 요구사항(개발자입장)으로 분류 가능
3] 소프트웨어가 해결해야 할 문제를 이해하는 첫 단계
4] 요구사항이 어디에 있고 어떻게 수집할 것인지와 관련
5] 이해관계자가 식별되며 개발 팀과 고객 사이의 관계가 생성
6] 다양한 이해관계자와의 효율적 의사소통이 중요
7] 요구사항 소스와 도출기법을 결정
8] 소스 : 원천, 직접발생한 것으로, 유도된 것과는 다른 것
9] 도출기법 : 인터뷰, 설문, 브레인스토밍, 워크샵, 유스케이스, 프로토타이핑 등
2) 분석
1] 사용자의 필요를 이해하여 문제 해결의 여러 제약들을 정리하는 공정으로 무슨 시스템을 구현할 것인지를 분석
2] 상충되는 요구사항 해결
3] 범위 파악
4] 환경과의 상호작용 이해
5] 시스템 요구사항을 정제하여 소프트웨어 요구사항을 도출
6] 요구사항 분류, 개념 모델링, 기술구조설계 및 요구사항 할당, 요구사항 협상, 정형분석
요구사항 분석 기법 종류
1) 요구사항 분류
1] 기능, 비기능 요구사항 분류
2] 소스, 유도된 요구사항인지 분류, 우선순위 등
2) 개념 모델링
1] UML
3) 요구사항 할당
1] 요소들 간에 어떻게 작용, 추가적인 요구사항 발견
4) 요구사항 협상
1] 요구사항이 서로 충돌되는 경우 합의, 우선 순위 부여해서 무엇이 더 중요한지 인식하여 문제 해셜
5) 정형 분석
1] 요구사항을 수학적 기호로 표현하여 분석, 요구사항 분석의 마지막 단계에서 수행
3) 기술(명세화)
1] 분석된 요구사항을 명확, 정확하게 기록하여 문서화하는 것으로 정확성, 명확성, 완전성, 일관성 등의 속ㄱ성이 필요
2] 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성
3] 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항을 작성
4] 기능 요구사항은 빠짐없이, 비기능 요구사항은 필요한것만 작성
5] 주요 문서 : 시스템 정의서, 시스템 요구사항 명세서, 소프트웨어 요구사항 명세서
4) 검증 및 확인
1] 소프트웨어 요구사항이 사용자들의 요구사항에 맞게 정확하고 완벽하게 연계성잇게 병세화 되었는지 검증
2] 분석가가 요구사항을 이해했는지 확인
3] 요구사항 문서가 표준에 적합하고 이해 가능하며 일관성있고 완전한지 검증
4] 이해관계자들이 문서를 검토
5] 요구사항 정의 문서들에 대해 형상관리
6] 리소스가 요구사항에 할당되기 전 문제 파악을 위해 검증을 수행
7] 주요 활동 : 검토, 프로토타이핑, 모델 검증, 인수테스트 등
5) 유지보수
1] 요구공학 공적동안에 계속해서 새로운 요구사항의 출현과 변경이 발생하는데, 이를 체계적으로 관리
요구사항 검증/'확인 기법 종류
1. 요구사항 검토
1) 시스템 정의서, 사양서, 요구사항 명세서 등을 기반으로 이뤄짐
2. 프로토타이핑
1) 견본품으로 피드백 반영, 의사소토 원활, 문제점 사전 식별이라는 장점 존재
2) 비용부담, 사용성 과대평가 가능성, 핵심을 벗어나 프로토타입 제작에만 집중할 가능성 존재
3. 모델 검증
1) 개발된 모델이 요구사항을 충족시키는지 검증
2) 정적분석 : 실행을 통한 검증(동적 분석)이 아니라 며에서 및 분석 도구를 사용해 확인
4. 인수 테스트
1) 사용자 입장에서 확인
2) 사용자 인수 테스트 : 사용자가 시스템 사용의 적절성 여부 확인
3) 운영사의 인수 테스트 : 시스템 관리자가 시스템 인수 시 수행(백업과 복원, 보안 취약성 등)
4) 계약 인수 테스트 : 계약 조건 준수 여부 확인
5) 규정 인수 테스트 : 정부 지침, 법규, 규정 등에 맞는지 확인
6) 알파 검사 : 개발자의 장소에서 사용자가 시험하고 개발자는 뒤에서 결과를 지켜보는 검사
7) 베타 검사 : 실업무를 가지고 사용자가 직접 시험하는 검사
3. 비용산정
1) sw 개발에 필요한 기능과 규모를 기반으로 직접적으로 투입이 필요한 비용을 예측하는 과학적, 합리적인 활동
2) 비용산정을 통해 발주자는 소프트웨어의 합리적인 가격을 확인할 수 있고 개발자는 개발에 필요한 정단한 비용을 요구
3) 구성
1] 필요한 원가와 프로젝트에서 사용되는 직접 경비, 이익으로 구성
2] 개발원가 = 소프트웨어 개발 규모 x 단가 x 기술보정
3] 이익 = 개발원가의 10~20% 내외
4) 비용 결정 요소
1] 프로젝트 요소 : 제품의 복잡도, 시스템 크기, 요구되는 신뢰도
2] 자원 요소 : 인적 자원, 개발에 필요한 하드, 소프트웨어 자원
3] 생산성 요소 : 개발자 능력, 개발 기간
5) 비용을 정확하게 예측하기 위한 방법
1] 예측을 가능한 한 뒤로 미룸(현실성x)
2] 이미 수행된 유사 프로젝트 참고
3] 프로젝트를 상대적으로 잘게 분리하여 예측
4] 경험적 예측 모델을 활용 : 실험에 의한 결과가 좋음
6) 비용과 기간 상관관계 : 개발완료기간을 앞당기면 비용은 더 증가
4. 비용산정 종류
1) 하향식 산정기법 : 전체비용 산정 후(전문가 경험을 통해) 각 작업별로 비용 세분화
1] 과거의 유사 경험을 바탕으로 회의를 통해 산정하는 비과학적인 기법
2] 조직 내 경험이 있는 2명 이상의 전문가에게 비용 산정을 의뢰하는 전문가 판단 방법과 한 명의 조정자와 다수 전문가의 의견을 종합하여 비용을 산정하는 델파이기법이 존재
3] 전문가 판단기법 : 조직 내 경험이 있는 소수 전문가에게 비용 산정을 의뢰하는 것으로 편리하고 신속하지만 너무 주관적
4] 델파이기법 : 한 명의 조정자와 다수 전문가의 의견을 종합하여 전문가 판단기법의 단점을 보완
2) 상향식 산정기법 : 세부적인 작업 단위별로 비용 산정 후 전체 비용 산정
1] 프로젝트의 세부 작업 단위별로 비용을 산정한 후 전체 비용을 합산하는 방법
2] 원시코드 라인 수 LOC : 각 기능의 원시 코드 라인 수의 비관치(가장 많은 라인 수), 낙관치(가장 적은), 중간치(기대치, 평균)를 측정하여 예측치를 구해 비용을 산정하는 것으로, 예측치 = 비관치 + 4*중간치 + 난관치)/6
- 측정이 용이하고 이해가 쉬워 가장 많이 사용
- 예측치를 이용해 노력, 개발기간, 비용, 생산성 등을 산정
3] 개발 단계별 노력 : 생명주깁의 각 단계별로 노력을 산정하는 방식으로 LOC보다 정확도가 높음
3) 수학적 산정기법 : 상향식 비용 산정 기법으로 경험적 추정 기법 또는 실험적 추적 기법이라고도 지칭
1] 개발 비용산정 자동화가 목표
2] 각 공식은 과거 유사한 프로젝트를 기반하여 경험적으로 유도된 것
3] 코코모 : 개발할 소프트웨어 규모(loc)를 예측한 후 소프트웨어 종류에 따라 각 비용 산정 공식에 대입해 비용을 산정
- 비용 견적의 강도 분석 및 비용 견적의 유엲성이 높아 개발비 견적에 널리 통용되며, 같은 규모의 프로그램이라도 그 성격에 따라 다르게 비용 산정
- 원시 프로그램의 규모에 따라 조직형, 반분리형, 내장형으로 분리
- 조직형 : 중소규모 소프트웨어로, 5만 라인 이하
- 반 분리형 : 30만
- 내장형 : 30만 이상
- 비용산정 단계 및 적용 변수의 구체화 정도에 따라 기본, 중간, 발전형으로 구분
+ 기본형 : 소프트웨어 크기와 개발 유형만 이용
+ 중간형 : 기본형을 토대로 4가지 특성과 15가지 요인을 고려
+ 발전형 : 중간형을 보완한 것으로 개발 공정별로 보다 자세하고 정확하게 노력을 산출
4] putnam 모형 : 소프트웨어 생명주기의 전 과정에 사용될 노력의 분포를 가정해 주는 방식
- 생명주기 예측 모형이라고도 하며, 생명 주기별로 시간별 노력 증감을 표현
- 대형 프로젝트의 노력 분포 산정에 이용
- 개발 기간이 늘어날수록 인원의 노력은 감소
5] 기능점수법 fp : 기능 점수를 구한 후 비용을 산정하는 방법
- 유용성, 간편성으로 최선의 평가를 받고있음
- 알브레히트가 소개하고 ISO/IEC 14143으로 소프트웨어 크기에 대한 국제 표준
- 기능 점수의 기준이 되는 소프트웨어 기능은 크게 데이터 기능과 트랜잭션 기능으로 구분
- 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고 요인별 가중치를 합산해 총 기능 점수를 산출하여 총 기능 점수와 영향도를 이용해 기능점수를 구한 후 비용을 산정
- 데이터 기능 : 내부 논리 파일, 외부 연계 파일
- 트랜잭션 기능 : 외부 입력, 외부 출력, 외부 조회
5. 인월
1) 개발에 소요되는 기간을 1개월로 고정할 경우 필요한 총 인원수
2) 개월 수 X 인원
보헴이 제안한 것들
1) 폭포수'
2) 나선형
3) 코코모
4) 스파이럴
'자격증 > 정보처리기사 5과목' 카테고리의 다른 글
5-6강. IT프로젝트 정보시스템 구축 관리-네트워크 구축 관리(2) (0) | 2020.05.27 |
---|---|
5-5강. IT프로젝트 정보시스템 구축 관리-네트워크 구축 관리(1) (0) | 2020.05.27 |
5-4강. SW개발 방법론 활용-SW개발 방법론 테일러링 (0) | 2020.05.26 |
5-2강. SW개발 방법론 활용-SW개발 방법론 선정(2) (0) | 2020.05.25 |
5-1강. SW개발 방법론 활용-SW개발 방법론 선정(1) (0) | 2020.05.25 |