*작업 순서의 집합과 일정, 예산, 자원 등 제약 조건을 포함하는 일련의 활동과 그것들의 순서
*작업(task) : 소프트웨어를 개발할 때 일을 수행하는 작은 단위
프로세스를 설명할 때에는 누가 참여하는지, 무엇을 만드는지와 일련의 활동에 영향을 주는 조건들이 중요하다.
그냥 소프트웨어 시스템을 개발하거나 유지보수할 목적으로 수행되는 활동 또는 그 절차를 뜻한다.
소프트웨어 개발 프로세스의 목적은 전체적인 개발에 대한 가이드라인을 제공하는 데 있다.
소프트웨어 개발 프로세스를 이용하면 전체 프로세스의 이해에 도움을 주고, 자원 사용에 대한 사전 계획을 가능하게 하며 자원사용을 추적하고 통제할 수 있다.
체계적인 개발을 지원할 수 있으며 프로젝트의 관리에도 도움을 주기에, 개발 조직은 적당한 프로세스 모델을 보유하여 공통의 개발문화와 공통의 기술을 제공해야한다.
소프트웨어 개발 프로세스 모델은 SDLC, Software Development Life Cycle를 기반으로 설명된다.
생명주기 5단계 요구분석 -> 설계 -> 구현(코딩) -> 테스트 -> 발전&유지보수
조직의 프로세스 개선 활동을 효율적으로 지원하기 위한 모델
조직의 개발능력이 얼마나 성숙되었는지를 평가할 수 있도록 만든 모델로써, 현재 전 세계 106개국에서 도입하여 적용하고 있는 산업계 표준이다.
CMMI에서는 조직의 프로세스 성숙도를 다음의 성숙도 레벨 5단계로 표현한다.
워터풀 모델, RAD 모델, 프로토타이핑 모델, v모델, 나선형 모델, 애자일 모델, 반복형 개발 모델, 스크럼, TDD 등이 있다.
아래에서 더 자세히 살펴보자
소프트웨어 개발 시 단계적으로 개발하는 방법론
폭포수 모델은 계획->요구분석->설계->구현->테스트->유지보수의 단계들이 하향식으로 진행되며, 병행이나 거슬러 올라가지 않는다. 따라서, 각 단계의 종료마다 확실하게 작업을 종료하고 그 결과를 확인한 뒤 다음 단계로 내려간다.
특별한 계획 없이 프로토타입을 기반으로 하는 소프트웨어 개발 방법론
계획 수립&요구분석->프로토타입 개발->프로토타입 평가->구현->테스트->유지보수의 단계로 진행된다.
요구분석 -> 프로토타입 설계 -> 초기 프로토타입 개발 -> 고객 피드백 수집 -> 프로토타입 수정의 단계로 진행된다.
개발 과정과 테스트 과정이 V자 형태로 대칭을 이루면서 진행되는 소프트웨어 개발 방법론
각 개발 단계가 끝날 때마다 해당 단계에서 발생할 수 있는 결함을 테스트하여 품질을 보장한다.
장점
단점
계획, 위험 분석, 엔지니어링 및 고객 평가의 4가지 주요 활동을 반복적으로 수행하는 개발 방법론
결과적으로 위험을 최소화할 수 있다.
장점
단점
일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항, 변화된 환경에 맞게 요구를 더 하고 수정해나가는 탄력적인 방법론
장점
단점
나는 오늘의집의 요구사항 명세서를 작성해 보았다.
딱히 좋은 예시는 아니긴 하다.
요구사항 정의서에는 필수적으로 요구사항 구분, 요구사항 ID, 요청사항(기능), 요청사항에 대한 설명, 요청자, 수용 여부가 필요하다. 물론 플로젝트마다 다르긴 하겠지만, 잘 된 예시는 아래 링크에서 찾도록 하자
https://brunch.co.kr/@uxuxlove/123
끝~