🔽프로세스 모델의 종류
✔ 폭포수 모델
→ 순차적으로 진행해나가는 방식
✔프로토타이핑 모델
- Rapid Prototyping Model(RAD) 라고도 함
- 프로토타입(시범 시스템)의 적용
- 사용자의 요구를 더 정확히 추출
- 알고리즘의 타당성, 운영체제와의 조화, 인터페이스의 시험 제작
- 프로토타이핑 도구
- 화면 생성기
- 비주얼 프로그래밍, 4세대 언어 등
- 공동의 참조 모델
- 사용자와 개발자의 의사소통을 도와주는 좋은 매개체
- 프로토타입의 목적
- 단순한 요구 추출 – 만들고 버림
- 제작 가능성 타진 ‐ 개발 단계에서 유지보수가 이루어짐프로토타이핑 모델의 장단점
- 장점
- 사용자의 의견 반영이 잘 됨
- 사용자가 더 관심을 가지고 참여할 수 있고 개발자는 요구를 더 정확히
도출할 수 있음
- 단점
- 오해, 기대심리 유발
- 관리가 어려움(중간 산출물 정의가 난해)
- 적용
- 개발 착수 시점에 요구가 불투명할 때
- 실험적으로 실현 가능성을 타진해 보고 싶을 때
- 혁신적인 기술을 사용해 보고 싶을 때
✔진화적(Evolutionary) 모델
- 개발 사이클이 짧은 환경
- 빠른 시간 안에 시장에 출시하여야 이윤에 직결
- 개발 시간을 줄이는 법 –
시스템을 나누어 릴리스
- 릴리스 구성 방법
- 점증적 방법 : 기능별로 릴리스
- 반복적 방법 : 릴리스 할 때마다 기능의 완성도를 높임
- 단계적 개발
- 기능이 부족하더라도 초기에 사용교육 가능
- 처음 시장에 내놓는 소프트웨어는 시장을 빨리 형성 시킬 수 있음
- 자주 릴리스 하면 가동 중인 시스템에서 일어나는 예상하지 못했던 문제를 신속 꾸준히 고쳐나가기 가능
- 개발 팀이 릴리스마다 다른 전문영역에 초점을 둘 수 있음.
✔나선형(Spiral) 모델
- 소프트웨어의 기능을 나누어 점증적으로 개발
- 여러 번의 점증적인 릴리스
- Bohem이 제안
- 진화단계
- 계획 수립(planning) : 목표, 기능 선택, 제약 조건의 결정
- 위험분석(risk analysis) : 기능 선택의 우선순위, 위험요소의 분석
- 개발(engineering) : 선택된 기능의 개발
- 평가(evaluation) : 개발 결과의 평가
나선형(spiral) 모델의 장단점
- 장점
- 대규모 시스템 개발에 적합 (risk reduction mechanism)
- 반복적인 개발 및 테스트 (강인성 향상)
- 한 사이클에 추가 못한 기능은 다음 단계에 추가 가능
- 단점
- 적용
- 재정적 또는 기술적으로 위험 부담이 큰 경우
- 요구 사항이나 아키텍처 이해에 어려운 경우
✔V(Verification) 모델
- 폭포수 모형의 변형
- 감추어진 반복과 재 작업을 드러냄, 작업과 결과의 검증에 초점V(Verification) 모델의 장단점
✔Unified 프로세스
위에 나와있는 그림 처럼 요구분석은 Inception 단계에서 끝내는 것이 아니라 다음 단계때까지 반복될 수 있다는 것,. 즉 조금씩 나누어서 표현하는 모델
- 사용자 중심을 중요시하기 때문에 UML에서 많이 사용
- 사용 사례 중심의 프로세스
- 시스템 개발 초기에 아키텍처와 전체적인 구조를 확정
- 아키텍처 중심
- 반복적이고 점증적
Unified 프로세스 모델의 장단점
- 장점
- 폭포수 모델 같은경우에는 요구분석을 끝내고 설계가 들어가야 아키텍처 확인이 가능한데
- Unified 모델 같은 경우에는 아키텍처를 빠르게 접근가능하고 전체적으로 살필 수도 있고 다시한번 확인하고 이런 과정을 거칠 수 있다.빠르게.
✔애자일 프로세스
- 최근에 UML에서 핫하게 사용되고 있음.
- 폭포수 프로세스의 단점을 해결 (폭포수프로세스에서 초기단계를 너무너무 오래하거나 혹은 강조를 해서 코딩과 테스트가 지연되는 단점이 있음.)
- 절차와 도구보다 개인과 소통을 중요시 한다.
- 잘 쓴 문서보다는 실행되는 SW에 더 가치를 둔다.
- 계약 절충보다는 고객 협력을 더 중요하게 여긴다
- 계획을 따라 하는 것보다 변경에 잘 대응하는 것을 중요하게 여긴다.
- 사용사례 또는 사용자 스토리나 피처 단위
- 테스트 중심 개발(Test Driven Development)
🔽개발하는 것과 관련한 서포트 프로세스
지원프로세스
- 소프트웨어를 포함하는 일반적인 시스템의 구매, 공급, 개발, 운용 모두에 적용할 수 있는 프로세스 정의
엔지니어링 시각
- 개발 프로세스, 유지보수 프로세스
계약 시각
- 획득 프로세스, 공급 프로세스
운영시각
- 운영 프로세스
관리시각
- 관리 프로세스, 개선 프로세스
지원 시각
- 문서화(폭포수모델 같은거), 형상관리, 품질 보증, 문제해결 프로세스
소프트웨어 생명주기 프로세스 국제 표준 ISO/IEC 12207 에 들어가 있는 내용임
저는 외국대학에서 배울때 워터폴모델이라 배웠는데 한국은 전부 폭포수로 부르더라고요 신기하네요ㅎㅎ