[정보처리기사] 5과목 - SDLC(소프트웨어 생명주기 모델) 관련 암기항목
1. 소프트웨어 생명주기 모델
- 폭포수 모델 - 각 단계를 확실히 마무리 한 후 다음 단계로, Bohem, 고전적 생명주기 모델로 성공 사례 많음, 순차적 모델, 타당성 검토 > 계획 > 요구사항 분석 > 설계 > 구현 > 테스트 > 유지보수
- 나선형 모델 - 위험을 최소화하기 위해 점진적으로 시스템 개발(증분), 비교적 대규모 시스템에 적합, 계획 및 정의 > 위험 분석 > 구현 및 개발 > 고객 평가
- 프로토타입 모델 - 고객 요구사항을 프로토타입으로 구현, 유지보수비용 그리 크지 않음
- 반복적 모델 - 구축 대상을 병렬적으로 개발후 통합 및 반복적으로 개발
2. 소프트웨어 단계별 개발 표준 산출물
- 분석 : 사용자 요구사항 정의서, 유스케이스 명세서, 요구사항 추적표
- 설계 : 클래스 설계서, 사용자 인터페이스 설계서, 컴포넌트 설계서, 인터페이스 설계서, 총괄시험 설계서, 시스템시험 시나리오, 엔티티 관계 모형 기술서, 데이터베이스 설계서, 통합시험 시나리오, 단위시험 케이스
- 구현 : 프로그램 코드, 단위시험 결과서, DB테이블
- 테스트 : 통합시험 결과서, 시스템시험 결과서, 사용자 지침서, 운영자 지침서, 시스템 설치 결과서, 인수시험 시나리오, 인수시험 테스트
3. 비용산정 모델
- 하향식 : 전문가 감정 - 델파이
- 상향식 : Loc(원시코드라인수/낙관치, 비관치, 중간치 활용), Man Month(한 사람이 1개월 동안 할 수 있는 일의 양, 노력수치), COCOMO(Constructive Cost Model, Organic - 기관내부, 소규모 소프트웨어, 5만 줄(50KDSI)/Semi-detached, 트랜잭션 처리 시스템, DB관리 시스템, 30만 줄(300KDSI) 이하/Embeded, 대규모 트랜잭션 처리 시스템, 운영체제, 30만 줄(300KDSI) 이상), 푸트남(소프트웨어 개발 주기별 인력 분포, 노력 분포 곡선 및 산정(Rayleight-Norden 곡선의 노력 분포, 자동화 도구로 SLIM), FP(기능점수, 요구 기능을 증가시키는 인자별 가중치 부여 및 요인별 가중치 합산, 자료입력(입력양식), 정보출력(출력보고서), 명령어(사용자질의수), 데이터 파일, 필요한 외부 루틴과의 인터페이스, ESTIMACS), 개발 단계별 노력(LoC 확장)
4. 일정관리 모델
- 주 공정법(CPM, Critical Path Method) - 여러 작업의 수행 순서가 얽혀 있는 프로젝트 일정 계산(모든 자원 제약사항을 배제)
- PERT(Program Evaluation and Review Technique) - 일의 순서를 계획적으로 정리하기 위한 수렴기법, 비관치/중간치/낙관치 이용, 과거에 경험이 없는 소프트웨어 개발시 사용
- 중요 연쇄 프로젝트 관리(CCPM, Critical Chain Project Management) - 주 공정 연쇄법, 주 공정(CCPM)에서 자원 제약사항 고려
- 간트차트 : 일정의 시작과 끝을 그래픽으로 표시
5. 위험대응전략
- 회피(Avoidance) - 발생 가능성 원천 차단
- 전가(Transference) - 위험 책임 전가
- 완화(Mitigation) - 위험 영향력 감소, 위허 발생 가능성 감소
- 수용(Acceptance) - 위험 그대로 받아들이는 전략
6. ISO/IEC 12207
- 소프트웨어 생명주기 프로세스 국제 표준
- 기본(획득, 공급, 개발, 운영, 유지보수), 조직, 지원
- 향후 ISO/IEC 15504 완성
7. CMMI(Capability Maturity Model Integration)
- CMM(능력 성숙도 모델) 발전, SW-CMM과 시스템 엔지니어링-CMM을 통합하여 개발한 품질 개선 모델
- 단계적 모델(5단계의 성숙도 레벨 정의), 연속적 모델(능력 레벨을 이용하여 프로세스 영역별로 성숙도 평가 가능)
8. CMMI 단계적 표현의 성숙도 단계
- 1 : 초기화(initial) - 정의 프로세스가 없고 작업자 능력에 따라 성과 좌우
- 2 : 관리(Managed) - 특정 프로젝트 내 프로세스가 정의 및 수행되는 단계, 프로젝트 결과 반복성
- 3 : 정의(Defined) - 조직의 표준 프로세스를 활용하여, 업무를 수행하는 상태 표준화/일관된 프로세스 존재
- 4 : 정량적 관리(Quantitatively Managed) - 정량적 기법을 활용하여 프로세스 통제
- 5 : 최적화 단계(Optimized) - 프로세스 개선, 프로세스 혁신 활동 수행
9. SPICE - 소프트웨어 프로세스 개선 및 능력 측정에 대한 국제 표준
- 소프트웨어 프로세스 개선 및 능력 측정 기준에 대한 국제 표현
- 소프트웨어 프로세스 평가 국제 표준
- 불안정(프로세스 수립 X, 목적 달성 X) / 수행(프로세스 목적이 전반적으로 이루어진 단계) / 관리(자원 한도 내에서 프로세스가 작업 산출물 인도) / 확립(소프트웨어 공학 원칙에 기반하여 정의된 프로세스 수행) / 예측(프로세스가 목적 달성을 위해 통제, 양적 측정으로 일관되게 수행) / 최적화(수행 최적화, 업무 만족 지속화)
10. 테일러링 개발방법론 기준
- 내부 : 목표 환경, 요구 사항, 프로젝트 특성, 구성원 능력
- 외부 : 국제 표준 품질 기준, 법적 규제