001. 소프트웨어 생명주기
소프트웨어 생명주기
Software Life Cycle
소프트웨어 개발을 위해 운용 및 유지보수의 과정을 각 단계별로 나눈 것.
소프트웨어 개발 방법론의 바탕이 되는 것.
개발하려는 것의 유형이나 선호하는 개발 방법에 따라 특정 모형을 선택하여 사용할 수 있다.
소프트웨어 생명주기 종류
1. 폭포수 모형
2. 프로토타입 모형
3. 나선형 모형
4. 애자일 모형
1. 폭포수 모형
Waterfall Model
한 번 떨어진 물은 거슬러 올라갈 수 없듯이 이전 단계로 돌아갈 수 없는
소프트웨어 개발의 전제하에 각 단계를 확실히 매듭짓는 개발 방법론.
- 고전적 생명 주기 모형이라고도 한다.
- 두 개 이상의 과정이 병행하여 수행되지 않는다.
- 한 단계의 개발과정이 끝나야 다음 단계로 넘어갈 수 있는 선형순차적 모형.
2. 프로토타입 모형
Prototype Model
사용자 요구사항을 정확히 파악하기 위해 시제품을 만들어 최종 결과물을 예측하는 모형.
- 개발이 완료된 시점에서 오류가 발견되는 폭포수모형의 단점을 보완하기 위해 나옴.
3. 나선형 모형
Spiral Model
- 보헴(Boehm)이 제안한 모형.
- 개발하며 발생가능한 위험을 관리하여 최소화하는 것을 목적으로 한다.
- 폭포수 모형고 프로토타입의 모형의 장점에 위험 분석 기능을 추가한 모형이다.
4. 애자일 모형
Agile Model
- 애자일은 민첩한, 기민한이라는 의미.
- 고객 요구 사항에 유연히 대처할 수 있도록 일정 주기를 반복하며 개발과정을 진행.
- 스프린트 또는 이터레이션이라 불리는 짧은 개발 주기를 반복하며, 주기마다의 고객 평가와 요구를 적극 수용한다.
애자일 개발 4가지 핵심 가치
- 프로세스와 도구 보다는 개인과 상포작용에 더 가치를 둔다.
- 방대한 문서 보다는 실행되는 SW에 더 가치를 둔다.
- 계약 협상보다는 고객과 현업에 더 가치를 둔다.
- 계획을 다르기 보다는 변화에 반응하는 것에 더 가치를 둔다.
애자일 모형을 기반으로 하는 소프트웨어 개발 모형
스크럼, 칸반 등
스크럼과 칸반은 애자일이라는 방법론을 실현하는 도구의 역할.
각각이 애자일 방법론을 실행하는 방법은 스크럼은 스프린트 기반으로 칸반은 Work In Process을 기반으로 한다.
[참고]
어떤 애자일 방법론을 사용해야 할까?
프로젝트 같은 종료 일이 정해져야 하는 업무가 많이 발생하는 경우는 스크럼,
지속적인 업무를 다루며 프로젝트 개발 및 ops까지 함께 다뤄야 하는 상대적으로 작은 단위의 팀에서는 칸반
Hotfix에 대한 스크럼과 칸반의 차이
HotFix란 말 그대로 예측되지 않았던 요청.
스크럼 에서는 Hotfix는 해당 스프린트에 “절대” 넣지 않음.
스프린트 진행 중 발생하는 모든 Hotfix는 무조건 다음 스프린트의 백 로그로 쌓이게 되고 다음의 업무가 됨.
(운영 중인 서비스라면 개발자가 돌아가며 운영 업무를 맡기도 함)
칸반 에서는 Hotfix 또한 바로 프로젝트 backlog에 쌓음.
해당 프로젝트를 끝내기 위해 처리해야 할 이슈 카드로 동일하게 취급.
🔽 Reference
'# 4. 자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 # 2021.03_1과목 소프트웨어 설계 (0) | 2021.08.08 |
---|---|
정보처리기사 # 2021.05_1과목 소프트웨어 설계 (0) | 2021.08.08 |
정보처리기사 # 2016 기출 오답문제 모음 (0) | 2021.08.07 |
개발 기술 환경 파악 (0) | 2021.07.17 |
스크럼 기법과 XP 기법 (0) | 2021.07.17 |