[- Disclaimer -]
아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
Waterfall Model (=폭포수 모델)
✦ 폭포에서 한 번 떨어진 물은 거슬러 올라 갈 수 없듯이 S/W도 개발 이전 단계로 돌아갈 수 없고 한 단계가 끝나야 다음 단계로 넘어가는 비가역적인 순차적/절차적 모형
✧ 가장 오래된 고전적 모형
✧ 단계별 명확한 산출물 필요
✧ 과정은 병행 수행 불가
✦ S/W 개발 완료 시점에 Error 발생 시 난해
Warterfall Model 과정
✦ 1) 타당성 검토
✦ 2) 계획
✦ 3) 요구 분석
✦ 4) 설계
✦ 5) 구현(Coding)
✦ 6) 시험(검사)
✦ 7) 유지 보수
Prototype Model (=프로토 타입, 원형 모형)
✦ 정확한 사용자 요구 사항 파악을 위해 견본(시제)품을 만들어 최종 결과물 예측
✧ 사용자 <-> 시스템 간 Interface에 중점
✧ 요구 사항이 구현된 S/W Code는 추후 구현 단계에서 골격 Code가 됨
✦ S/W 개발 완료 시점에 Error가 발생되면 난해해지는 Waterfall Model의 단점 보완
Prototype Model 과정
✦ 1) 요구 수집
✦ 2) 빠른 설계
✦ 3) Proto Type 구축
✦ 4) 고객 평가
✦ 5) Proto Type 조정
✦ 6) 구현
Spiral Model (=나선형 모델, 점진적 모형)
✦ Boehm이 제안
✦ 나선을 따라 돌듯 여러 번의 S/W 개발 과정을 거치는 점진적 모형
✧ Waterfall Model 장점 + Prototype Model 장점 + 위험 관리를 위해 위험 분석 기능 추가
✧ 누락 사항, 추가된 사항 등을 첨가해 반복하므로 정밀하며 유지 보수 과정 불필요
✧ S/W 개발 시 발생 가능한 위험 최소화
Spiral Model 과정
✦ 1) 나선 형태의 계획 수립
✦ 2) 위험 분석
✦ 3) 개발 검증
✦ 4) 고객 평가
Agile Model (=애자일 모델)
✦ 애자일 뜻은 "민첩한", "기민함"
✦ 고객 요구 사항 변화에 유연한 대응
✧ 고객 요구 사항에 우선 순위 부여
✧ 어느 특정한 개발 방법론은 아니고 좋은 것을 빠르고 낭비 없게 만들기 위해 고객 소통에 초점을 두어 기업 활동 전반에 걸쳐 적용
✦ Sprint, Iteration
✧ 짧은 개발 주기 반복하며 반복 주기마다 산출되는 결과물에 대한 고객 평가 및 요구 적극 수용
✦ 방대한 산출물보다 S/W 실행에 좀 더 가치를 둠
✦ 사용처
✧ 고도로 숙달된 개발자, 소규모 Project, 급변하는 요구 사항에 적합
✦ Agile Model 기반의 S/W 개발 Model 종류
✧ Scrum, XP, Kanban, Lean, Crystall, ASD (=Adaptive Software), FDD (=Feature Driven Development, 기능 중심 개발), DSDM (=Dynamic System Development Method), DAD (=Disciplined Agile Delivery) 등



