- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자료구조
- 정렬
- 자바
- 비주얼 베이직
- 백준
- python
- 알고리즘
- C++
- oauth
- 구글 로그인
- C언어
- 안드로이드
- 로그인
- 공유대학
- android studio
- 안드로이드 스튜디오
- sql
- 프로그래밍 입문
- 동적할당
- Java
- firebase google
- 연결리스트
- 프로그래머스
- 컴퓨터공학과
- 배열
- 코딩테스트
- til
- Firebase
- 파이썬
코딩하는 해달이
[응용소프트웨어공학] 2-1 폭포수 모델 본문
폭포수 모델의 특징
-1970년대 항공 방위 소프트웨어 개발 경험으로 습득
-가장 오래되고 널리 사용된 프로세스 모델
-각 단계는 다음 단계 시작 전에 끝나야 함
-순서적:각 단계 사이에 중복이나 상호작용 X
-SQA 그룹의 승인을 받아야 다음 단계로 진행될 수 있음(SQA: 소프트웨어 품질 보증)
-체계적인 문서화가 가능한 문서 중심 모델 : 각 단계마다 문서화된 산출물이 생성
-중간 산출물이 명확하여 프로젝트 가시성이 좋음
-작업이 순서대로 이루어지므로 직능 중심으로 프로젝트 조직을 구성할 수 있음
-요구사항이 이미 잘 알려져 있는 문제나 또는 변경이 적어 비교적 위험이 적은 프로젝트에 적합
폭포수 모델의 문제점
-많은 프로젝트가 폭포수 모델의 각 단계를 연속적인 한번의 과정으로 완성되는 경우가 드묾
-개발 분야가 복잡하고 잘 알려져 있지 않은 경우엔 반복적인 작업이 더 적합
-애매한 부분이 남아 있거나 프로세스 진행 과정에 변경될 수 있는데 이를 수용할 수 없음
-예) 프로젝트 초기에 요구사항이 불안정하거나 정확히 이해되지 않는 경우
-개발 초기 단계들이 지나치게 강조되어 불필요한 문서들을 작성하는데 많은 노력을 소모할 수 있음
-구현 단계에서 요구 오류가 발견되었다면 그에 맞게 이전 문서들을 수정하는데 드는 노력이 큼
-단계별로 완벽을 기하기는 현실적으로 쉽지 않음
-테스트 작업이 프로젝트 후반에 시작
프로토타이핑 모델
prototype : 기능적으로 작동 가능한 모형
프로토타이핑의 목적
-사용자의 요구 추출 : 사용자가 프로토타입을 사용하고 요구 사항에 대한 피드백 가능
-제작 가능성 타진
프로토타이핑에 의해 개발 비용이 절감되는 이유
-프로토타입을 통해 요구사항이 안정화되고, 이해 가능
-프로토타입의 개발 경험이 후반에 소프트웨어를 구현하는 비용을 절감시킴
프로토타이핑 모델의 특징
-완성된 시스템의 모습을 빠른 시점에 볼 수 있음
-프로토타입은 발주자나 개발자에게 공동의 참조 모델 역할을 함
-발주자: 소프트웨어 개발에 참여 가능
-개발자: 사용자의 요구 도출, 개발이 제대로 되는지 확인 가능
-개발 초기에 요구가 불투명하거나 실현 가능성을 실험해보고 싶을 때 사용하면 좋음
-폭포수모델은 설계가 시작되려면 불안정한 요구라도 진행 but 프로토타입을 통해 분석된 요구는 더욱 안정적
프로토타이핑 모델의 문제점
-사용자는 종종 프로토타입이 최종 결과라고 오해하는 경향이 있음
-발주자가 프로토타입을 완성에 가까운 제품으로 오해 → 불필요하고 과도한 요구 가능성
-개발자 입장에서 프로토타이핑 과정을 관리하기가 어려움
-폭포수 모델과 달리 중간과정을 점검할 수 있는 일정표, 산출물 X
-발주자는 프로토타입을 보고 승인한 후에는 개발이 곧 완료될 것으로 오해
'USG 공유대학' 카테고리의 다른 글
[응용소프트웨어공학] 2-3 요구 추출 방법 (0) | 2023.09.18 |
---|---|
[응용소프트웨어공학] 2-2 요구 분석 (0) | 2023.09.18 |
[응용소프트웨어공학] 1-3 소프트웨어 프로세스 (0) | 2023.09.04 |
[응용소프트웨어공학] 1-2 소프트웨어 공학의 주제 (0) | 2023.09.04 |
[응용소프트웨어공학] 1-1 소프트웨어 개발 작업 (0) | 2023.09.04 |