티스토리 뷰
*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!*
프로세스 모델이란?
-소프트웨어 개발을 위해 프로세스의 일련의 단계와 방법을 나타내는 모델로 소프트웨어 개발 과정의 순서와 단계, 활동을 정의하는 모델입니다.소프트웨어 개발의 전 과정을 하나의 프로세스로 정의하며 관리를 함. 즉 소프트웨어 개발 목적을 이루는데 필요한 통합적 수단을 얘기합니다. 소프트웨어 프로세스 모델에는 여러가지의 종류가 있습니다.
폭포수 모델(Waterfall)
-순차적으로 진행하는 모델이며 개발 단계를 순차적으로 진행하여 하나의 단계가 끝나면 다음 단계로 넘어가는 방식으 로 진행됩니다. 요구사항이 명확하고, 변경사항이 적으며, 매우큰 소프트웨어를 개발을 할때 쓰이면 좋은 모델입니다.
순서
1.요구사항 분석 단계 (Requirements Analysis)
2.시스템 설계 단계 (System Design)
3.구현 단계 (Implementation)
4.테스트 단계 (Testing)
5.유지보수 단계 (Maintenance)
장점
1.체계적인 진행과 문서화
2.요구사항의 변화가 적은 프로젝트에 매우 적합
단점
1.앞 단계가 완료안되면 다음단계 수행 불가능
2.앞 단계가 완벽하지않으면 다음단계 불안정
3.중간에 가시적인 결과를 볼 수 없음
나선형 모델(Spiral Model)
-나선형 처럼 계속 반복을하면서 성과를 보며 점진적으로 개발을 진행하는 모델입니다. 프로젝트 수행시 발생하는 위험관리와 위험 최소화에 초점을 맞춘 모델입니다.
순서
1.계획 및 요구 분석 단계
2.위험 분석 단계
3.개발 단계
4.사용자 평가 단계
5.반복
장점
1.사전 위험 분석을 통해 위험요소 방지
2.사용자의 피드백을 빠르게 수용할 수 있음
3.점진적으로 개발 가능
단점
1.반복회수 증가에 따른 기간 연장가능
2.반복회수 증가에 따른 비용 초과가능
애자일 모델(Agile Process)
-애자일 모델은 여러번의 개발과정을 반복하며 개발을 하는데 각 반복주기에서 프로토타입을 만들어 고객의 즉각적인 피드백을 검토하며 변경요청에 빠르게 대응하면서 진행하는 모델입니다.
순서
1.계획 및 요구사항 수집
2.설계 단계
3.개발 단계
4.검토 및 피드백 수용
5.반복
장점
1.피드백 수용과 요구사항 검토가 빠르다.
2.개발 중간에 변화에 대한 대처가 빠르다.
3.가시적인 결과들을 빨리 볼 수 있다.
단점
1.대규모 프로젝트에는 적합하지않다.
2.큰 규모의 개발팀이 진행할 경우 소통이 원활하지않다.
'소프트웨어 공학' 카테고리의 다른 글
소프트웨어 테스트 (0) | 2023.05.07 |
---|---|
소프트웨어 아키텍처 (0) | 2023.04.06 |
클래스 다이어그램 (0) | 2023.04.02 |
데이터 흐름도(DFD,Data Flow Diagram) (0) | 2023.04.02 |
소프트웨어 공학이란? (0) | 2023.03.25 |