1. 소프트웨어 개발 방법론
(1) 소프트웨어 생명주기 모델
1. 소프트웨어 생명 주기 (SDLC : Software Development Life Cycle)
소프트웨어 생명 요구사항부터 유지보수까지의 프로세스
2. 소프트웨어 생명 주기 모델 프로세스 (요설구테유)
- 요구사항 분석
- 설계
- 구현
- 테스트
- 유지 보수
3. 소프트웨어 생명 주기 모델 종류
- 폭포수 모델
- 프로토타이핑 모델
- 나선형 모델 : 계획 및 정의 --> 위험 분석 --> 개발 --> 고객 평가 (계위개고)
- 반복적 모델 : 병행 개발
(2) 소프트웨어 개발 방법론
1. 소프트웨어 개발방법론
개발 할때 쓰는 방법, 절차, 기법 들을 말함
2. 소프트웨어 개발방법론 종류
- 구조적 방법론 : 나씨-슈나이더만 차트
- 정보공학 방법론
- 객체지향 방법론
- 컴포넌트 기반 방법론 (CBD) : 컴포넌트 사용
- 애자일 방법론 : 사람 중심, 유연 신속
- 제품 계열 방법론
3. 애자일
① 애자일 방법론 개념
- 절차보다 사람이 중심
- 변화에 유연하고 신속하게 적응
- 효율적으로 시스템 개발
- 신속 적응적 경량 개발방법
- 폭포수 모형에 대비
- 개발과 함께 즉시 피드백
② 애자일 방법론 유형
- XP(eXtreme Programming : 5가지 가치, 12가지 기본원리
ㄴ 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중
ㄴ 12가지 기본원리 : 짝 프로그래밍, 공동 코드 소유, 지속적인 통합(CI), 계획 세우기, 작은 릴리즈, 메타포어, 간단한 디자인, 테스트 기반 개발(TDD), 리팩토링, 40시간 작업, 고객 상주, 코드 표준
- 스크럼 : 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론
- 린 : 도요타의 린 시스템 품질기법, JIT(Just In Time), 칸반 보드 사용
③ 애자일과 전통적 방법론 비교
비교 대상 | 애자일 방법론 | 전통적 방법론 |
계획 수립 | 유동적 범위 설정 | 확정적 범위 설정 |
업무 수행 | 팀 중심 업무 수행 | 관리자 주도적 명령과 통제 개인 단위로 업무수행 |
개발/검증 | 반복 주기 단위로 소프트웨어를 개발/검증 | 분석/설계/구현/테스트를 순차적으로 수행 |
팀관리 | 업무 몰입, 팀 평가 | 경쟁, 개별 평가 |
문서화 | 문서화보다는 코드를 강조 | 상세한 문서화를 강조 |
성공요소 | 고객 가치 전달 | 계획/일정 준수 |
유형 | XP, 스크럼, 린 | 폭포수, 프로토타입, 나선형 |
2. 비용산정, 일정관리 모형
(1) 비용산정 모형
1. 비용산정 모형 분류
분류 | 설명 | 종류 |
하향식 산정방법 | 경험이 많은 전문가에게 비용 산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식 | - 전문가 판단 - 델파이 기법 |
상향식 산정방법 | 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식 | - 코드 라인 수(LoC) - Man Month - COCOMO 모형 - 푸트남 모형 - 기능점수(FP) 모형 |
2. 비용 산정 모형 종류
① LoC(Lines of Code)모형
- 낙관치, 중간치, 비관치를 측정하여 예측치 구함
- 측정이 쉽고 이해하기 쉬움
② Man Month 모형
- 한 사람이 1개월 동안 할 수 있는 일의 양
③ COCOMO(COnstructive COst MOdel) 모형
- 보헴이 제안한 모형, 프로그램 규모에 따라 비용 산정
- 조직형 : 5만 라인 이하의 소프트웨어, 과학 기술 계산, 비즈니스 자료 처리
- 반 분리형 : 30만 라인 이하의 소프트웨어, 컴파일러, 인터프린터 같은 유틸 개발
- 임베디드형 : 30만 라인 이상의 소프트웨어, 운영체제, 실시간 처리 시스템 등 시스템 프로그램 개발
④ 푸트남 모형
- 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식
- 푸트남이 제안, Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
⑤ 기능점수(FP, Function Point) 모형
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산
- 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치 부여
(2) 일정관리 모델
1. 일정관리 모델 종류
모델 | 설명 |
주 공정법(CPM : Critical Path Method) | - 노드 간 연결을 통해 공정을 계산 |
PERT(Program Evaluation and Review Technique) | - 일의 순서를 계획적으로 정리하기 위한 수렴 기법 - 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리 |
중요 연쇄 프로젝트 관리(CCPM : Critical Chain Project Management) | - 주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법 |
'정보처리기사 실기' 카테고리의 다른 글
[정보처리기사실기] 11. 응용 SW 기초 기술 활용 (0) | 2021.07.13 |
---|---|
[정보처리기사실기] 9. 소프트웨어 개발 보안 구축 (0) | 2021.07.13 |
[정보처리기사실기] 8. 서버프로그램 구현 (0) | 2021.07.13 |
[정보처리기사실기] 7. SQL 응용 (0) | 2021.07.13 |
[정보처리기사실기] 10. 애플리케이션 테스트 (0) | 2021.07.06 |