728x90
반응형
소프트웨어 생명주기(Software Life Cycle)
- 소프트웨어 개발 방법론의 바탕이 되는 것=소프트웨어 수명 주기
- 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수등의 과정이 있음
- 일반적으로 사용되는 소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형
폭포수 모형(Waterfall Model)
- 소프트웨어 개발 이전 단계로 돌아갈 수 없음, 한 단계가 끝나야만 그 다음 단계로 진행
- 두 개 이상의 과정이 병행되어 수행되지 않음
- 가장 오래됨, 고전적 생명 주기 모형
- 순서 : 타당성 검토 - 계획 - 요구 분석 - 설계 - 구현(코딩) - 시험(검사) - 유지보수
프로토타입 모형(Prototype Model, 원형 모형)
- 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물 예측
- 새로운 요구사항이 도출될 때마다 이를 반영한 프로토타입을 새롭게 만들어야함
- 단기간 제작을 목적으로 함, 비효율적 언어나 알고리즘이 사용될 수 있음
나선형 모형(Spiral Model, 점진적 모형)
- 보헴이 제안, 폭포수 모형의 장점 + 프로토타입 모형의 장점 + 위험분석 기능
- 나선을 따라 돌듯이 개발과정을 거쳐 점진적으로 완벽한 소프트웨어 개발, 점진적 모형이라고도 함
- 소프트웨어 개발 시 발생할 수 있는 위험 관리 및 최소화
- 핵심 기술에 문제가 있거나 사용자의 요구사항이 이해하기 어려운 경우에 적합함
- 점진적으로 개발 과정이 반복되므로 누락 및 추가된 요구사항 첨가 가능
- 정밀하고 유지보수 과정이 필요없음\
- 순서 : [ 계획 수립 - 위험 분석 - 개발 및 검증 - 고객 평가 ] 이 과정을 계속 반복
애자일 모형(Agile Model)
- 고객의 요구사항 변화에 유연하게 대응하게끔 일정한 주기 반복하며 개발
- 고객과의 소통에 초점을 맞춤
- 스프린트(Sprint) 또는 이터레이션(Iteration)이라고 불리는 짧은 개발 주기 반복, 반복 주기마다 고객의 평가 및 요구 적극 수용
- 각 개발주기마다 고객의 요구사항에 우선순위 부여
- 애자일 모형을 기반으로 하는 소프트웨어 개발 모형:
- 스크럼(Scrum)
- XP(eXtreme Programming)
- 칸반(Kanban)
- Lean
- 크리스탈(Crystal)
- ASD(Adaptive Software Development)
- 기능 중심 개발(FDD; Feature Driven Development)
- DSDM(Dynamic System Development Method)
- DAD(Disciplined Agile Delivery)
애자일 선언
애자일 개발 4가지 핵심 가치
1. 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
2. 방대한 문서보다는 실행되는 소프트웨어에 더 가치를 둔다.
3. 계약 협상보다는 고객과 협업에 더 가치를 둔다.
4. 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.
폭포수 모형과 애자일의 비교
구분 | 폭포수 모형 | 애자일 |
새로운 요구사항 반영 | 어려움 | 지속적으로 반영 |
고객과의 의사소통 | 적음 | 지속적임 |
테스트 | 마지막에 모든 기능을 테스트 | 반복되는 일정 주기가 끝날 때마다 테스트 |
개발 중심 | 계획, 문서(매뉴얼) | 고객 |
728x90
반응형
'정보처리기사 > 1과목' 카테고리의 다른 글
03. XP(eXtreme Programming) 기법 (0) | 2024.12.09 |
---|---|
02. 스크럼(Scrum) 기법 (1) | 2024.12.04 |