SDLC (Software Development Lift Cycle)
소프트웨어를 개발하는 데 사용하는 시간·비용을 효율적으로 하는 프로세스
SDLC 중 대표적인 모델이 폭포수(Waterfall) 모델이다. 폭포수처럼 위에서 아래로 내려오는 선형 순차적인 모습을 떠올리자.
✔ 폭포수 모델의 특징
- 목적 불확실성 + 수단 불확실성
- 단계별로 나오는 산출물이 명확하다.
- 동작하는 소프트웨어에 중점을 두기 보다는 프로세스 중심적이다.
- 전 단계가 마무리 되어야 다음 단계로 갈 수 있다.
- 사용자의 요구사항을 초기 단계에서 완벽 분석한다(== 목적 불확실성은 초기 단계에서 완벽 해결).
- 요구사항 변경이 매우 힘들다.
✔ 폭포수 모델의 문제점
- 최종 개발된 프로덕션과 고객이 요구한 프로덕션이 다른 모습이라면?
- 프로젝트가 진행되는 동안 새로운 요구사항이 나올 수도, 기존 요구사항이 변경될 가능성도 있다.
+) 시간이 지날 수록 요구사항 오류 수정 비용이 급격히 오른다. 이런 상황을 1:10:100 규칙이라고 부른다.
문제가 발견되는 시점이 뒤로 갈 수록 수정 비용이 아주 크게 오른다는 뜻이다. 요구사항 단계에서 오류를 식별하는 일이 매우 중요하다.
+) Iron Triangle(철의 삼각)
철처럼 단단한 삼각형을 그리는 3가지 요건에 따라 품질(Quality)가 정해진다. Time, Scope, Cost
Waterfall model에서 Iron Triangle은 고객(Stakeholder)의 Scope을 기반으로 Cost와 Time을 추정한다. 즉, Scope은 고정되어있다.
왜냐? Scope은 개발자의 소관이 아닌 Stakeholder의 소관이기 때문.
'공부 > 소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] scrum이란...! (0) | 2024.03.29 |
---|---|
[소프트웨어공학] DevOps란 / 배포전략 (0) | 2024.03.25 |
[소프트웨어공학] 애자일(Agile)이란? (0) | 2024.03.25 |
[소프트웨어공학] RAD(Rapid Application Development)란? (0) | 2024.03.25 |
[소프트웨어공학] 유지보수의 종류 (1) | 2024.03.18 |