
소프트웨어 생명주기(SDLD; Software Development Life Cycle) 모델 개념
- 소프트웨어 생명주기는 시스템 요구분석부터 유지보수까지 전 공정을 체계화한 절차
- 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 거치는 순서를 체계화한 것
- 요구사항 분석
- 설계
- 구현
- 테스트
- 유지보수
해당 종류.
-
폭포수 모델: 소프트웨어 개발시 매 단계를 마무리하고 다음 단계로 넘어감
타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
-
프로토타이핑 모델: 고객의 요구사항을 프로토타입으로 구현, 피드백을 반영하여 최종의 소프트웨어를 구현
-
나선형 모델: 시스템 개발시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발하는 모델
계획 및 정의 → 위험 분석 → 개발 → 고객 평가
-
반복적 모델: 구축대상을 나눠 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 SDLC 모델
소프트웨어 개발방법론 개념
- 소프트웨어 개발방법론은 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법이다.
- 소프트웨어를 하나의 생명체로 간주하고 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지 모든 과정을 형상화한 방법론이다.
애자일(Agile) 방법론
- 애자일 방법론은 절차보다 사람이 중심되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론이다.
- 개발기간이 짧으며 폭포수 모형에 대비되어 개발과 함께 피드백을 받아 유동적으로 개발할 수 있다.
- 해당 유형으로 XP, 린(Lean), 스크럼(SCRUM) 등이 있다.
비용산정, 일정관리 모형
비용산정 모형은 소프트웨어 규모 파악으로 투입자원과 소요시간을 파악하여 실행가능한 계획을 수립하기 위해 비용을 산정하는 방식이다.
비용산정 모형
- LoC(Lines of Code) 모형
- Loc 모형은 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고, 이를 이용해 비용을 산정하는 방식이다.
비관치: 가장 많이 측정된 코드 라인 수
중간치: 측정된 모든 코드 라인 수의 평균
낙관치: 가장 적게 측정된 코드 라인 수
-
Man Month 모형
한 사람이 1개월 간 할 수 있는 일의 양을 기준으로 프로젝트 비용 산정
-
COCOMO(COnstructive COst MOdel) 모형
- COCOMO 모형은 보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식이다.
- 비용산정 결과는 프로젝트를 완성하는데 필요한 노력(Man-Month)으로 산정한다.
- 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용된다.
- 규모에 따라 유형이 조직형, 반 분리형, 임베디드형으로 나뉜다.
- 푸트남(Putnam) 모형
- 푸트남 모형은 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식이다.
- 푸트남이 제안한 것으로 생명주기 예측 모형이라 한다.
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
- 기능점수(FP; Function Point) 모형
- 기능점수 모형은 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식이다.
일정관리 모델
일정관리 모델은 프로젝트가 일정 기한 내 적절히 완료될 수 있도록 관리하는 모델이다.
- 주 공정법: 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 개선하는 기법
- PERT(Program Evaluation and Review Technique): 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법
- 중요 연쇄 프로젝트 관리(CCPM; Critical Chain Project Management): 주 공정 인쇄법으로 자원제약사항을 고려하여 일정을 작성